Имеется домашний сервер на FreeBSD 8.1 и проводное подключение к Билайн. Требуется установить и настроить подключение к интернету по протоколам PPTP/L2TP с последующей раздачей в локальную сеть. Самым удобным средством для этого является MPD5 имеющий больший потенциал, чем требуется нам, но об этом позднее.
Установка MPD5.
# cd /usr/ports/net/mpd5 # make configВыставляем параметры с которыми будет установлен порт, в нашем случае можно все убрать.
# make install cleanЖдем окончания установки порта.
Настройка MPD5.
Переходим в директорию с настройками MPD5 /usr/local/etc/mpd5 в которой находятся примеры конфигурации порта.Создаем рабочий файл конфигурации
# touch /usr/local/etc/mpd5/mpd.confВнимательно читая документацию по MPD5 редактируем данный файл. У меня получился следующего содержания:
startup: set user %mpd_username% %mpd_password% admin set console self %mpd_console_address% %mpd_console_port% set console open set web self %mpd_web_address% %mpd_web_port% set web open set link enable report-mac default: load l2tp_client pptp_client: create bundle static B1 set iface enable nat set iface enable tcpmssfix set iface up-script /usr/local/etc/mpd5/ng0-up.sh set iface down-script /usr/local/etc/mpd5/ng0-down.sh set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set ipcp no vjcomp create link static L1 pptp set link action bundle B1 set link accept chap set auth authname %beeline_username% set auth password %beeline_password% set link max-redial 0 set link latency 0 set link mtu 1460 set link keep-alive 60 180 set pptp peer vpn.internet.beeline.ru open l2tp_client: create bundle static B1 set iface enable nat set iface enable tcpmssfix set iface up-script /usr/local/etc/mpd5/ng0-up.sh set iface down-script /usr/local/etc/mpd5/ng0-down.sh set ipcp ranges 0.0.0.0/0 0.0.0.0/0 set ipcp no vjcomp create link static L1 l2tp set link action bundle B1 set link accept chap set auth authname %beeline_username% set auth password %beeline_password% set link max-redial 0 set link latency 0 set link mtu 1460 set link keep-alive 60 180 set l2tp peer tp.internet.beeline.ru open
# touch /usr/local/etc/mpd5/ng0-up.sh # chmod +x /usr/local/etc/mpd5/ng0-up.shРедактируем:
#!/bin/sh ip_local_gateway=`route get default | grep gateway | awk '{print $2}'` net_vpn=`echo $5 | awk 'sub(/.[0-9]*$/,"")'` route -q delete $5 route -nq add "$net_vpn.0/24" $ip_local_gateway route change default $4 echo "$ip_local_gateway" > /tmp/mpd_ip_local_gateway echo "$net_vpn.0/24" > /tmp/mpd_net_vpn
# touch /usr/local/etc/mpd5/ng0-down.sh # chmod +x /usr/local/etc/mpd5/ng0-down.sh
#!/bin/sh ip_local_gateway=`cat /tmp/mpd_ip_local_gateway` net_vpn=`cat /tmp/mpd_net_vpn` route delete "$net_vpn.0/24" route change default $ip_local_gateway
Настройка системы.
Добавляем строки для автозапуска MPD5 в /etc/rc.conf:mpd_enable="YES" mpd_flags="-b" synchronous_dhclient="YES"
# touch /var/log/mpd.logДаем права только root для чтения и записи в /var/log/mpd.log
# chmod 600 /var/log/mpd.logДобавляем строки для того что бы можно было смотреть логи MPD5 в /etc/syslog.conf:
!mpd *.* /var/log/mpd.log
# /etc/rc.d/syslogd reloadНастраиваем ротацию лога MPD5 в /etc/newsyslog.conf:
/var/log/mpd.log 600 7 100 * JC
# /etc/rc.d/newsyslog restartВ 6-7-й ветке необходимо загрузить модули ng_ipfw, ng_nat, либо собирать ядро с опциями NETGRAPH,NETGRAPH_IPFW, NETGRAPH_NAT.
# kldload ng_ipfw # kldload ng_natДля последующей автозагрузке модулей добавить в /boot/loader.conf следующие записи:
ng_nat_load="YES" ng_ipfw_load="YES"
Комментариев нет:
Отправить комментарий