воскресенье, 25 мая 2008 г.

mpd в freebsd (vpn-подключение)

1. Настроить конфигурацию сетевых параметров по DHCP через внешний сетевой интерфейс.
Для этого в файл /etc/rc.conf необходимо внести строчку:

ifconfig_ifname="DHCP"

где ifname - название интерфейса (например, fxp0, xl0, rl0 и т. п.).

Внимание! Ваш DHCP-клиент должен ументь воспринимать статические маршруты, выдаваемые сервером! Если это конфигурируемая опция, то она должна быть обязательно включена.

2. Установить пакет mpd с помощью утилиты pkg_add или (при наличии другого соединения с Интернет, либо непосредственно с адреса ftp://ftp.chelcom.ru/pub/FreeBSD/distfiles/) из портов:
# cd /usr/ports/net/mpd
# make install clean

3. Скачать конфигурационные файлы с адреса ftp://ftp.chelcom.ru/pub/FreeBSD/configs/mpdconf.tar и распаковать их в каталог /usr/local/etc/mpd:
# cd /usr/local/etc/mpd

# fetch ftp://ftp.chelcom.ru/pub/FreeBSD/configs/mpdconf.tar
# tar -xf mpdconf.tar

4. Отредактировать файлы mpd.conf и mpd.secret, заменив слова username и password на свой логин и пароль.

5. Включить автозапуск mpd. Для этого нужно сделать следующее:
# cp /usr/local/etc/rc.d/mpd.sh.sample

/usr/local/etc/rc.d/mpd.sh

6. Запустить mpd и удостовериться в работоспособности:
# /usr/local/etc/rc.d/mpd.sh start
mpd

# ifconfig ng0

ng0: flags=88d1 mtu 1300
inet 81.20.170.28 --> 81.20.169.252 netmask 0xffffffff

Приложение (листинги конфигурационных файлов)

mpd.conf:
default:

new -i ng0 intsv_vpn intsv_vpn
set iface disable on-demand

set iface up-script /usr/local/etc/mpd/link-up

set iface down-script /usr/local/etc/mpd/link-down

set link no acfcomp protocomp

set iface idle 0

set iface disable proxy-arp

set bundle disable multilink

set bundle authname username

set link accept pap chap

set link disable pap chap

set ipcp yes vjcomp

open iface

mpd.secret:
username password

mpd.links
intsv_vpn:

set link type pptp

set pptp peer vpn.chelcom.ru

set pptp enable originate outcall

linkupdown:
#!/bin/sh

VPNAME=vpn.chelcom.ru
PREFIX=/usr/local

export PATH=/sbin:/bin:/usr/bin:/usr/sbin:${PREFIX}/bin:/${PREFIX}/sbin

start() {

netstat -rn | grep '^default' | awk '{print $2}' > /tmp/defaultroute

for serverip in `host vpn | awk '{print $4}'`

do

route add -host $serverip `cat /tmp/defaultroute`

done

route change default $1 -ifp ng0

}

stop() {

route change default `cat /tmp/defaultroute`

for serverip in `host vpn | awk '{print $4}'`

do

route delete -host $serverip

done

}

link-up:
#!/bin/sh

. /usr/local/etc/mpd/linkupdown

start $4

exit 0

link-down:
#!/bin/sh

. /usr/local/etc/mpd/linkupdown

stop

exit 0

Комментариев нет: