Мы — долго запрягаем, быстро ездим, и сильно тормозим.
www.lissyara.su —> статьи —> FreeBSD —> программы —> mpd5 L2TP client

mpd5 как L2TP клиент

Автор: L!Ner.


Данная заметка  - плод долгих скитаний по форумам с целью заставить шлюз с фряхой коннектиться к провайдеру.

У прова, как стало известно, стоит Cisco 7201

Итак, приступим.

Устанавливаем
make -C /usr/ports/net/mpd5 install clean
cd /usr/local/etc/mpd5
ee mpd.conf

Привожу часть конфига, которая отвечает за L2TP клиент
Не забываем отступы отбивать табом, а не пробелами
default:
        load l2tp_client
# если от mpd надо что-то большее, то просто дописываем что нужно в секцию default
l2tp_client:
        create bundle static B1
        create link static L1 l2tp
## следущую строку ставим только в случае если по VPN идет дефолтный маршрут
        set iface route default
## а следущие 2 для собственной настройки маршрутизации
        set link action bundle B1
        set iface up-script /usr/local/etc/mpd5/up.sh
        set iface down-script /usr/local/etc/mpd5/down.sh
## настройки авторизации
        set auth authname <логин>
        set auth password <пароль>
## сколько раз пытаться соединяться. Пишем 0 для бесконечности
        set link max-redial 5
        set link mtu 1460
        set link keep-alive 20 75
## здесь пишем имя или IP сервера
        set l2tp peer 10.10.10.10
        open

Создаем скрипты для маршрутизации

touch up.sh
touch down.sh
chmod +x up.sh down.sh

up.sh:
#!/bin/sh

route delete $4
route add $4 <ваш локальный шлюз>
## Следующие 2 строки - лишь пример.
## Маршруты вписываем какие нужны в вашей ситуации
route delete <какая-то подсеть>
route add <какая-то подсеть> $4

echo $4 > /tmp/l2tp_GW

down.sh:

#!/bin/sh
vpn_GW=`cat /tmp/l2tp_GW`

route delete $dr
route delete <подсети, описаные в up.sh>
route delete $vpn_GW
route add <локальные подсети, исходная маршрутизация> <Локальный шлюз>

В /etc/rc.conf добавляем:
mpd_enable="YES"
mpd_flags="-b"

Здесь приведена простейшая настройка маршрутизаци.
Соответственно в скриптах можно много чего понаписать, если нужно.

Товарищи! кто сделает у себя по статье и у кого ядро без NETGRAPH опций в конфиге,
посмотрите после запуска mpd5 что у вас в kldstat,
а то я не помню какие опции требуются, а на готовой машине слишком много подобных опций



размещено: 2009-05-27,
последнее обновление: 2009-06-10,
автор: L!Ner


abigor, 2009-06-01 в 3:30:09

а можно так роутинг прописать в самом mpd
set iface route 10.1.0.0/17

LiNer, 2009-06-02 в 10:26:00

Скорее нет. Да и написать-то придется пару строчек в скриптах в этом случае.

bofh, 2009-06-03 в 12:10:14

Делал не совсем по статье, но ядро откомпилировано без NETGRAPH. И еще у меня сейчас не l2tp а pptp. l2tp тоже работало, но сейчас нету возможности посмотреть загруженные модули при работе l2tp. Вот модули при pptp? думаю не сильно отличаются  :))
ОС FreeBSD 7.1-RELEASE

ns1#kldstat
Id Refs Address    Size     Name
1   17 0xc0400000 366e60   kernel
2    1 0xc0767000 6a5d4    acpi.ko
3    1 0xc3bc2000 4000     logo_saver.ko
4    1 0xc3bed000 4000     ng_socket.ko
5    9 0xc3bf1000 b000     netgraph.ko
6    1 0xc3c33000 4000     ng_mppc.ko
7    1 0xc3c37000 2000     rc4.ko
8    1 0xc3c96000 3000     ng_iface.ko
9    1 0xc3c9a000 7000     ng_ppp.ko
10    1 0xc3cac000 3000     ng_tee.ko
11    1 0xc3cb1000 4000     ng_pptpgre.ko
12    1 0xc3cb5000 5000     ng_ksocket.ko
13    1 0xc3cc8000 4000     ng_nat.ko
14    1 0xc3ccc000 9000     libalias.ko
15    1 0xc3cdd000 3000     ng_tcpmss.ko

Cork, 2016-02-23 в 10:41:57

FreeBSD 10.2
root@Home:/var/log # kldstat
Id Refs Address    Size     Name
1   41 0xc0400000 13ed800  kernel
2    1 0xc17ee000 7bcb78   nvidia.ko
3    2 0xc1fab000 74148    linux.ko
4    1 0xc817d000 11000    snd_uaudio.ko
5    1 0xc81a2000 5000     ums.ko
6    1 0xc8192000 4000     uhid.ko
7    1 0xc81b0000 4000     ng_socket.ko
8    7 0xc816a000 d000     netgraph.ko
9    1 0xc83a8000 4000     ng_mppc.ko
10    1 0xc83ac000 2000     rc4.ko
11    1 0xc83c2000 3000     ng_iface.ko
12    1 0xc83b7000 7000     ng_ppp.ko
13    1 0xc83dc000 2000     ng_tee.ko
14    1 0xc819a000 5000     ng_l2tp.ko
15    1 0xc83e5000 5000     ng_ksocket.ko



 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0424 секунд
Из них PHP: 24%; SQL: 76%; Число SQL-запросов: 77 шт.
Исходный размер: 18957; Сжатая: 5604