Настройка mpd 4.2 (freebsd 5.3) vpn клиента

Категория: / DEV Блог / Сервер (FreeBSD)
Настройка mpd 4.2 (freebsd 5.3) vpn клиента для подключения к интернету.

Ставим mpd4 из портов или сырцов (ставится быстро и без проблем).
Никаких netgraphов в ядро компилить не нужно, как многие говорят, все работает так.

Самый простой конфиг! НО РАБОТАЕТ!!!

/usr/local/etc/mpd4/mpd.conf

default:
    load vpn
 
vpn:
    new -i ng0 vpn vpn
    set iface disable on-demand
    set iface idle 0
    set bundle disable multilink
    set auth authname "login"
    set auth password "password"
    set link keep-alive 60 180
    set link accept chap
    set link no pap
    set bundle disable compression
    set ccp yes mpp-e40
    set ccp no mpp-e128
    set bundle disable crypt-reqd
    set ccp no mpp-stateless
    set ipcp no vjcomp
    set link mtu 1460
    set iface up-script /usr/local/etc/mpd4/link_up.sh
    set iface down-script /usr/local/etc/mpd4/link_down.sh
    open


Далее описываем интерфейс

/usr/local/etc/mpd4/mpd.links

vpn:
    set link type pptp
    set pptp peer PROVIDER_IP
    set pptp enable originate incoming outcall


И скрипты для поднятия и закрытия соединения (создание и убийство роутов по умолчанию. Взято с homenet.corbina.net)


/usr/local/etc/mpd4/link_up.sh

#!/bin/sh
 
route delete vpn.provider.ru
route add vpn.provider.ru 172.16.0.100
default_route_old=`route -n get default 2>&1 | grep gateway | awk '{print $2}'`
if [ $default_route_old ]; then
echo $default_route_old > /var/tmp/default_route_old
route -nq change default $4
else
rm -f /var/tmp/default_route_old
route -nq add default $4


/usr/local/etc/mpd4/link_down.sh

#!/bin/sh
 
if [ -r /var/tmp/default_route_old ]; then
default_route_old=`cat /var/tmp/default_route_old`
rm -f /var/tmp/default_route_old
route -nq change default $default_route_old
else
route -nq delete default


И последнее!
Если юзайте фаервол, то необходимо добавить правила (пример, ipfw)

allow tcp from me to provider dst-port 1723
allow gre from any to any