Настройка VPN на FreeBSD

Давно известно что в сетях некоторых провайдеров, не будем показывать пальцем, есть проблемы с поднятием VPN-туннеля из под FreeBSD. Пару лет назад наткнулся на эту проблему в своей сети, не стал долго думать и поставил железный роутер и был доволен. Но, как известно, человек предполагает….

В общем назрела эта проблема вновь. Гугл дает великое множество ссылок на различные рецепты шаманских танцев, но мне не удалось найти ни одного описания приводящего к желаемому результату. Но зато мне удалось поднять VPN. На самом деле все настраивается достаточно просто. На FeeBSD 6.2 с mpd4-4.0b4 все поднимается на ура.
Ниже рецепт на примере моей сети.

Сеть

1. Добавляем нужные строки в конфиги

в /etc/rc.conf:

ifconfig_YOURNETINTERFACE="inet YOURIPADDRESS netmask 255.0.0.0"
defaultrouter="10.0.0.2"

в /etc/resolv.conf:

nameserver 85.93.129.2
nameserver 85.93.128.2</span>
<h4>2. Рестартуем сервисы:</h4>
[cc lang="bash"]/etc/rc.d/netif restart
/etc/rc.d/routing restart

или просто перегружаем машину:

shutdown -r now

3. После проверяем связь с DNS-сервером :

ping 85.93.129.2

Если ping проходит, то идем дальше. Если нет, то значит накосячили где-то. Проверяем настройки сети.

VPN

4. Устанавливаем mpd-4.x

можно так:

pgk_add -r mpd-4.x

а можно так:

cd /usr/ports/net/mpd4 && make install clean

можно по всякому, кому как нравится… 🙂

5. Создаем 4 файла в /usr/local/etc/mpd4/ с нижеприведенным содержимым

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

startup:
set web ip 127.0.0.1
set web port 5006
set web user vpn vpn
set web open

default:
load vpn-pptp

vpn-pptp:
new -i ng0 netline_pptp vpn
set iface mtu 1460
set iface idle 0
set iface enable tcpmssfix
set iface up-script /usr/local/etc/mpd4/up-vpn.sh
set iface down-script /usr/local/etc/mpd4/down-vpn.sh
# замените LOGIN и PASSWORD на свои
set auth authname LOGIN
set auth password PASSWORD
set link keep-alive 60 180
set link accept chap
set link no pap
set link max-redial 0
set bundle disable multilink
set bundle disable crypt-reqd
set bundle disable noretry
set ccp yes mpp-e40
set ccp no mpp-e128
set ccp no mpp-stateless
set ipcp no vjcomp
open

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

vpn:
set link type pptp
set pptp peer 10.0.0.2
set pptp enable originate
set pptp disable incoming windowing

/usr/local/etc/mpd4/up-vpn.sh:

#!/bin/sh

netgw=`10.0.0.2`
route delete $4
route add $4 $netgw
route delete default
route add default $4
echo $4 > /tmp/pptpgw

down-vpn.sh:

#!/bin/sh</span>

netgw=`10.0.0.2`
vpngw=`cat /tmp/pptpgw`
route delete $vpngw
route delete default
route add default $netgw

6. Переименовываем стартовый скрипт mpd4

mv /usr/local/etc/rc.d/mpd4.sh.sample /usr/local/etc/rc.d/mpd4.sh

и запускаем:

/usr/local/etc/rc.d/mpd4.sh start

останавливаем соответственно:

/usr/local/etc/rc.d/mpd4.sh stop

Вот собственно и все. Успехов.



04 сентября 2008.   Комментарии: Комментарии к записи Настройка VPN на FreeBSD отключены.    Размещено в FreeBSD