Некоторое время назад я писал заметку здесь о том, как поднять туннель VPN в проводном БиЛайне, используя в качестве роутера сервер с FreeBSD.
Подход был забавный, но работал без проблем до 9 версии FreeBSD. Использовался демон mpd5
Но все течет и меняется, в том числе и FreeBSD. Начиная с 10 версии l2tp соединение устанавливалось, но не работало.
После нескольких довольно длительных танцев с бубнами экспериментов удалось написать следующий конфиг для mpd5:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | default: load bee bee: create bundle static L2TP set iface up-script "/usr/local/etc/mpd5/up.sh" set iface down-script "/usr/local/etc/mpd5/down.sh" set bundle disable compression set bundle disable round-robin set bundle disable encryption set bundle disable crypt-reqd set bundle disable bw-manage set bundle disable ipv6cp set bundle enable ipcp set ipcp no vjcomp set iface idle 0 set iface enable tcpmssfix set iface route 0.0.0.0/1 set iface route 128.0.0.0/1 set iface addrs 0.0.0.0 !1.0.0.1 set iface route default create link static L2 l2tp set link action bundle L2TP set link latency 0 set link max-redial 0 set link disable incoming acfcomp protocomp magicnum check-magic set link deny chap-msv2 chap-msv1 pap eap acfcomp protocomp set link accept chap-md5 set link keep-alive 15 30 set l2tp peer l2tp.corbina.net BRAS set auth authname "0890*******" set auth password "*********" open |
Прелесть данного конфига mpd5 в том, что не требуется менять дефолтовый роут на ваш локальный шлюз Билайна и писать костыли в up-down скрипты.
Обращаю ваше пристальное внимание, что интернет не появится сразу, так как требуется прописать статичные маршруты до ваших местных VPN серверов Корбины.
Я добавил их в rc.conf, чтобы они сразу появлялись в системе после загрузки. 10.213.32.1 — мой локальный шлюз Корбины. Синтаксис при этом будет такой:
defaultrouter=10.213.32.1
mpd_enable="Yes"
# routs
static_routes="b1 b2 b3"
route_b1="85.21.66.0/24 10.213.32.1"
route_b2="78.107.196.0/24 10.213.32.1"
route_b3="10/8 10.213.32.1
Вычислить ваши «местные» адреса VPN серверов вы можете, получив маршруты по умолчанию из DHCP, подключив кабель провайдера в компьютер с Linux или Windows. У меня под рукой была Ubuntu, я получил такую картинку:
$ netstat -rn
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
10.0.0.0 10.213.32.1 255.0.0.0 UG 0 0 0 eth0
10.213.32.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0
78.107.196.0 10.213.32.1 255.255.252.0 UG 0 0 0 eth0
85.21.66.202 10.213.32.1 255.255.255.255 UGH 0 0 0 eth0
85.21.66.205 10.213.32.1 255.255.255.255 UGH 0 0 0 eth0
93.81.32.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
233.32.240.0 10.213.34.147 255.255.255.0 UG 0 0 0 eth0
И добавил подсети в rc.conf. У вас, вероятнее всего, будет чуть по-другому, но аналогично можно добавить роуты на шлюзы.