Вставлю свои 5 копеек
И сразу вопрос кто знает как установить frag в ядре то mtu занижать не надо,
у меня не получилось
sysctl net.inet.ip.fragpackets=1 ругается ReadOnly :(vpn.sh
....
#!/bin/sh
#делаем статический маршрут до нужных нам серверов
/sbin/route add -host %VPNserver% %INETgateway%
/sbin/route add -host %DNSserver% %INETgateway%
ppp -ddial vpn > /dev/null
ppp.conf
....
#тут незабываем что все строки кроме меток начинаются с пробела
vpn:
 set device "!/usr/local/sbin/pptp %VPNserver% --nolaunchpppd"
 set login
 set server /var/run/ppp/loop "" 0177
 set timeout 0
 set reconnect 10 0
 set authname "login"
 set authkey "password"
 enable lqr
 disable ipv6cp
 enable mppe
 accept MPPE
 disable deflate pred1
 deny deflate pred1
 set ifaddr %TUNip% %TUNgateway% 255.255.255.0
 alias enable yes
 set mru max 1460
 set mtu max 1460
ppp.linkup
....
MYADDR:
    add! default HISADDR
ppp.linkdown
....
MYADDR:
 resolv restore
 iface clear
 add! default %INETgateway%
firewall.conf
....
#!/bin/sh
ipfw -f flush
ipfw add allow all from any to any frag
ipfw add allow gre from any to any
#здесь открываем все адреса которые нам нужны для работы vpn
ipfw add allow all from %VPNserver% to any
ipfw add allow all from any to %VPNserver%
ipfw add allow all from 192.168.0.0/16 to any
ipfw add allow all from any to 192.168.0.0/16
ipfw add allow ip from %DNSserver% to any
ipfw add allow ip from any to %DNSserver%
ipfw add allow udp from me to any 53 keep-state
ipfw add deny all from any to any
rc.conf
....
ifconfig_fxp0="inet %inetIP%  netmask 255.255.255.252"
defaultrouter="%INETgateway%"
ifconfig_rl0="inet 192.168.244.1  netmask 255.255.255.0"
firewall_enable="YES"
firewall_type="OPEN"
firewall_script="firewall.conf"
vpn_enable="YES"
router_flags="-q"
router="/sbin/routed"
router_enable="YES"
gateway_enable="YES"
resolv.conf
....
nameserver %DNSserver%
В итоге имеет впн рутер, с реконектом бесконечным, и нет глюков при протаскивании больщих файлов и при работе через впн программ типа DameWare NT Utilities или VNC