PPPoE
/etc/rc.conf
ppp_enable="YES" ppp_mode="ddial" ppp_profile="yourisp"
/etc/ppp/ppp.conf
default: set log Phase command yourisp: set device PPPoE:vr0 set authname your_username set authkey your_password set dial set login nat enable yes add default HISADDR
PPTP
Собираем из портов pptpclient
cd /usr/ports/net/pptpclient make && make install clean
/etc/ppp/ppp.conf
default: set log Phase command pptp: set authname your_login set authkey your_password set device "!/usr/local/sbin/pptp your_vpn_isp_ip --nolaunchpppd" set timeout 0 set ifaddr 0 0 nat enable yes add default HISADDR
Автостарт после перезагрузки /etc/rc.conf
ppp_enable="YES" ppp_mode="ddial" ppp_profile="pptp"
Port Redirect (ipfw + natd)
Перенаправление портов в внутреннюю сеть.
Стоит задача получить доступ через интернет radmin запущенном на компьютере в внутренней сети с серым адресом (192.168.1.2) адресом. Порт для управления 4899.
Первый способ
после метки нужно добавить ещё
nat enable yes nat port tcp 192.168.1.2:4899 4899 nat log no nat same_ports yes nat unregistered_only yes nat deny_incoming no
Второй способ
Ядро должно быть собрано с опциями:
options IPFIREWALL options IPDIVERT
Конфигурация для natd /etc/natd.conf
same_ports yes dynamic yes #перенаправить все пакеты приходящие на порт 60080 внешнего адреса # внутрь сети на адрес 192.168.1.2 с портом 80 redirect_port tcp 192.168.1.2:4899 4899
Скрипт для поднятия перенаправления /etc/ppp/redirect.sh
#!/bin/sh ACTION=$1; INTERFACE=tun0 if [ w${ACTION} = wup ]; then /sbin/natd -f /etc/natd.conf -n ${INTERFACE} /sbin/ipfw add 65010 divert 8668 ip4 from any to any via ${INTERFACE} else if [ w${ACTION} = wdown ]; then /usr/bin/killall -9 natd /sbin/ipfw delete 65010 else echo "redirect (up|down)" fi; fi;
Включение перенаправления при старте ppp /etc/ppp/ppp.linkup
MYADDR: !bg /etc/ppp/redirect.sh up
Выключение перенаправления при старте ppp /etc/ppp/ppp.linkdown
MYADDR: !bg /etc/ppp/redirect.sh up