Хочу поведать о странном поведении системы.
Иногда отваливается vpn соединение. Что-то подменяет маршрут до vpn сервера из-за чего обрывается соединение, дальше отрабатывают скрипты и восстанавливают маршруты - но вещь очень не приятная. Удивительно то, что всё может часами нормально работать даже с включённым торрент клиентом, но 100% ломаться при запуске сетевой игры Battlefield 3 (момент подключения к серверу).
На windows7 как и при использовании роутера tl-wr1043nd - проблем не замечено. Быть может кто сталкивался с подобным или предложит метод дальнейшего анализа проблемы.
Код: Выделить всё
# uname -a
FreeBSD bender.xz.local 9.0-RC1 FreeBSD 9.0-RC1 #2: Fri Oct 21 15:44:25 FET 2011 kaspian@bender:/usr/obj/usr/src/sys/XZ9 i386
mpd5 --version
Version 5.5 (root@bender 23:58 20-Oct-2011)
# ifconfig
brizif: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:48:54:3d:6b:e9
inet 172.18.169.182 netmask 0xffffff00 broadcast 172.18.169.255
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
localif: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:30:4f:27:67:e6
inet 10.20.30.1 netmask 0xffffff00 broadcast 10.20.30.255
inet6 fe80::230:4fff:fe27:67e6%localif prefixlen 64 scopeid 0x4
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7
inet 127.0.0.1 netmask 0xff000000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33200
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1400
inet 109.200.233.10 --> 213.231.0.22 netmask 0xffffffff
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
localif - интерфей к которому подключена локальная сеть (IP адреса раздаются через DHCPD)
ng0 - интерфейс создаваемый mpd5 (pptp подключение)
/etc/rc.conf
Код: Выделить всё
ifconfig_rl0_name="brizif"
ifconfig_brizif="DHCP"
ifconfig_rl1_name="localif"
ifconfig_localif="inet 10.20.30.1 netmask 255.255.255.0"
Код: Выделить всё
startup:
default:
load pptp_client
pptp_client:
create bundle static B1
# set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0/0
set iface disable on-demand
set iface idle 0
set iface enable tcpmssfix
set ipcp yes vjcomp
set mppc yes stateless
set iface up-script /root/scripts/briz-vpn-up.sh
set iface down-script /root/scripts/briz-vpn-down.sh
create link static L1 pptp
set link action bundle B1
set link disable multilink
set pptp peer vpn.briz.ua
set pptp enable outcall
set auth authname "kaspian**"
set auth password "***********"
set link disable pap chap
set link accept pap
set link enable no-orig-auth
set link yes acfcomp protocomp
set link keep-alive 10 60
# set link mtu 1460
set link max-redial 0
# set pptp disable windowing
open
Код: Выделить всё
# host vpn.briz.ua
vpn.briz.ua has address 192.168.1.134
vpn.briz.ua has address 192.168.1.126
vpn.briz.ua has address 192.168.1.125
vpn.briz.ua has address 192.168.1.128
vpn.briz.ua has address 192.168.1.127
vpn.briz.ua has address 192.168.1.130
vpn.briz.ua has address 192.168.1.131
vpn.briz.ua has address 192.168.1.135
vpn.briz.ua has address 192.168.1.132
vpn.briz.ua has address 192.168.1.133
vpn.briz.ua has address 192.168.1.129
vpn.briz.ua has address 192.168.1.124
Скрипт выполняемый при подключение к провайдеру
/root/scripts/briz-vpn-up.sh
Код: Выделить всё
BRIZ_IF="ng0"
BRIZ_GW=${4}
BRIZ_LOCAL_GW="172.18.169.1"
LOG_FILE="/var/log/briz.log"
/root/scripts/dump-routes.sh up_before_route_chanes
/sbin/route del default
/sbin/route add default $BRIZ_GW
/sbin/route del 192.168.1.0/24
/sbin/route add 192.168.1.0/24 $BRIZ_LOCAL_GW
/root/scripts/dump-routes.sh up_after_route_changes
echo "CONNECT" `/bin/date` >> $LOG_FILE
/root/scripts/briz-vpn-down.sh
Код: Выделить всё
BRIZ_LOCAL_GW="172.18.169.1"
LOG_FILE="/var/log/briz.log"
/root/scripts/dump-routes.sh down_before_route_chanes
/sbin/route del default
/sbin/route del 192.168.1.0/24
/sbin/route add 192.168.1.0/24 $BRIZ_LOCAL_GW
/root/scripts/dump-routes.sh up_after_route_chanes
echo "DISCONNECT" `/bin/date` >> $LOG_FILE
/root/scripts/dump-routes.sh
Код: Выделить всё
ACTION=${1}
LOG_FILE="/root/routes.dump"
echo "--------------" $ACTION "------------" >> $LOG_FILE
/bin/date >> $LOG_FILE
/usr/bin/netstat -rn -f inet >> $LOG_FILE
echo "=====================================" >> $LOG_FILE
Код: Выделить всё
# Это состояние нормально при котором всё работает, можно сказать эталонное
-------------- up_after_route_changes ------------
Sun Oct 30 13:51:20 FET 2011
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 213.231.0.22 UGS 0 0 ng0
10.20.30.0/24 link#4 U 0 173707 locali
10.20.30.1 link#4 UHS 0 0 lo0
109.200.233.10 link#9 UHS 0 0 lo0
127.0.0.1 link#7 UH 0 386 lo0
172.17.0.0/16 172.18.169.1 UGS 0 0 brizif
172.18.0.0/16 172.18.169.1 UGS 0 66 brizif
172.18.169.0/24 link#3 U 0 0 brizif
172.18.169.182 link#3 UHS 0 68 lo0
192.168.1.0/24 172.18.169.1 UGS 0 9 brizif
213.231.0.22 link#9 UH 0 0 ng0
=====================================
# А это состояние при котором происходит разрыв соединения
-------------- down_before_route_chanes ------------
Sun Oct 30 13:52:20 FET 2011
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 213.231.0.22 UGS 0 908 ng0
10.20.30.0/24 link#4 U 0 174174 locali
10.20.30.1 link#4 UHS 0 0 lo0
109.200.233.10 link#9 UHS 0 0 lo0
127.0.0.1 link#7 UH 0 386 lo0
172.17.0.0/16 172.18.169.1 UGS 0 0 brizif
172.18.0.0/16 172.18.169.1 UGS 0 66 brizif
172.18.169.0/24 link#3 U 0 0 brizif
172.18.169.182 link#3 UHS 0 68 lo0
192.168.1.0/24 79.135.208.179 UGS 0 1097 brizif
213.231.0.22 link#9 UH 0 0 ng0
=====================================