У провайдера интернет раздается с помощью pptp. Отдельная VPN на интернет и отдельная на локальные ресурсы.
Интернет дома раздается через дешевый роутер D-Link-DIR100. Подключен к интернету через PPTP, раздает интернет через NAT,
также является DHCP-сервером.
К локальным ресурсам подключаюсь по мере надобности с нужной машины.
Написал скрипт маршрутизации, все работает.
Странно только одно: при скачивании с локальных ресурсов на большой скорости процесс pptpgw съедает 15-20% CPU?(процессор AMD 3700+) С соединением через шлюз такого не наблюдается(что логично).
Путного по этой теме ничего в интернетах не нашел: где пишут что это баг pptp(что мне очень сомнительно) а где пишут что это петля в маршруте. Второе сильно похоже на правду. Я не настолько хорошо понимаю в сетях, чтобы это наладить..
Примечания по маршруту:
10.24.74.35 - роутер, шлюз в интернет.
10.8.0.1 - сервер впн-подключений провайдера.
10.8.0.8 - локальный DNS
есть два глобальных DNS
route -nKernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1 10.24.74.35 255.255.255.255 UGH 0 0 0 eth1
81.30.199.238 10.24.74.35 255.255.255.255 UGH 0 0 0 eth1
81.30.197.10 10.24.74.35 255.255.255.255 UGH 0 0 0 eth1
81.30.199.69 10.24.74.35 255.255.255.255 UGH 0 0 0 eth1
10.8.0.8 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
81.30.199.50 10.24.74.35 255.255.255.255 UGH 0 0 0 eth1
10.24.74.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
94.41.140.0 0.0.0.0 255.255.254.0 U 0 0 0 ppp0
94.41.120.0 0.0.0.0 255.255.252.0 U 0 0 0 ppp0
79.140.24.0 0.0.0.0 255.255.252.0 U 0 0 0 ppp0
94.41.124.0 0.0.0.0 255.255.252.0 U 0 0 0 ppp0
79.140.28.0 0.0.0.0 255.255.252.0 U 0 0 0 ppp0
94.41.136.0 0.0.0.0 255.255.252.0 U 0 0 0 ppp0
94.41.112.0 0.0.0.0 255.255.248.0 U 0 0 0 ppp0
79.140.16.0 0.0.0.0 255.255.248.0 U 0 0 0 ppp0
94.41.128.0 0.0.0.0 255.255.248.0 U 0 0 0 ppp0
94.41.96.0 0.0.0.0 255.255.240.0 U 0 0 0 ppp0
81.30.176.0 0.0.0.0 255.255.240.0 U 0 0 0 ppp0
89.189.128.0 0.0.0.0 255.255.224.0 U 0 0 0 ppp0
81.30.192.0 0.0.0.0 255.255.224.0 U 0 0 0 ppp0
94.41.64.0 0.0.0.0 255.255.224.0 U 0 0 0 ppp0
92.50.128.0 0.0.0.0 255.255.192.0 U 0 0 0 ppp0
77.79.128.0 0.0.0.0 255.255.192.0 U 0 0 0 ppp0
94.41.0.0 0.0.0.0 255.255.192.0 U 0 0 0 ppp0
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 ppp0
172.16.0.0 0.0.0.0 255.240.0.0 U 0 0 0 ppp0
10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 ppp0
0.0.0.0 10.24.74.35 0.0.0.0 UG 0 0 0 eth1
/var/log/syslog
Jul 7 13:06:58 morion kernel: [91024.552719] PPP generic driver version 2.4.2
Jul 7 13:06:58 morion pppd[30927]: pppd 2.4.4 started by root, uid 0
Jul 7 13:06:58 morion pptp[30928]: anon log[main:pptp.c:314]: The synchronous pptp option is NOT activated
Jul 7 13:06:58 morion pptp[30935]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 1 'Start-Contro
l-Connection-Request'
Jul 7 13:06:58 morion pptp[30935]: anon log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Jul 7 13:06:58 morion pptp[30935]: anon log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Jul 7 13:06:58 morion pppd[30927]: Using interface ppp0
Jul 7 13:06:58 morion pppd[30927]: Connect: ppp0 <--> /dev/pts/6
Jul 7 13:06:59 morion pptp[30935]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Cal
l-Request'
Jul 7 13:06:59 morion pptp[30935]: anon log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Jul 7 13:06:59 morion pptp[30935]: anon log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer
's call ID 36816).
Jul 7 13:06:59 morion pppd[30927]: CHAP authentication succeeded: Welcome
Jul 7 13:06:59 morion pppd[30927]: CHAP authentication succeeded
Jul 7 13:06:59 morion pppd[30927]: Cannot determine ethernet address for proxy ARP
Jul 7 13:06:59 morion pppd[30927]: local IP address 172.27.22.84
Jul 7 13:06:59 morion pppd[30927]: remote IP address 10.8.0.8
Jul 7 13:07:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Request received.
Jul 7 13:07:59 morion pptp[30935]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 6 'Echo-Reply'
Jul 7 13:07:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 7 13:08:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Request received.
Jul 7 13:08:59 morion pptp[30935]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 6 'Echo-Reply'
Jul 7 13:08:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 7 13:09:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 7 13:10:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Request received.
Jul 7 13:10:59 morion pptp[30935]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 6 'Echo-Reply'
Jul 7 13:10:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 7 13:11:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 7 13:12:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Request received.
Jul 7 13:12:59 morion pptp[30935]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 6 'Echo-Reply'
Jul 7 13:12:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:677]: Echo Reply received.
Jul 7 13:12:59 morion pptp[30935]: anon log[logecho:pptp_ctrl.c:679]: no more Echo Reply/Request packets will be re
ported.
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1116 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1117 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1126 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1127 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1136 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1137 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1143 (expecting 1114, lost
or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1144 (expecting 1114, lost or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1150 (expecting 1114, lost or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1151 (expecting 1114, lost or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1160 (expecting 1114, lost or reordered)
Jul 7 13:16:05 morion pptp[30928]: anon log[decaps_gre:pptp_gre.c:414]: buffering packet 1161 (expecting 1114, lost or reordered)
и вот такие ошибки постоянно сыпятся, когда большой траффик на локальные ресурсы.
Файлы конфигурации
/etc/ppp/peers/local
pty "pptp 10.8.0.1 --nolaunchpppd"
name [i]login@local[/i]
remotename 10.8.0.1
file /etc/ppp/options.pptp
ipparam local
persist
mtu 1460
/etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
login@local 10.8.0.1 password *
/etc/ppp/options
asyncmap 0
auth
crtscts
lock
hide-password
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
noipx
/etc/ppp/options.pptp
lock
noauth
nobsdcomp
nodeflate
/etc/ppp/ip-up.d/route
#!/bin/sh
case "$PPP_IPPARAM" in
local)
GW=`route -n|grep ^0\.0\.0\.0|awk '{print $2}'`
DEF_IFACE=`route -n|grep ^0\.0\.0\.0|awk '{print $8}'`
LAN_IFACE=`route -n|grep ^10\.8\.0\.1|awk '{print $8}'`
DNS_WHY='10.8.0.8'
if [[ $GW == '0.0.0.0' ]]
then
route del $DNS_WHY dev $LAN_IFACE
else
route add -host 81.30.199.50 gw $GW dev $LAN_IFACE
route add -host 81.30.199.69 gw $GW dev $LAN_IFACE
route add -host 81.30.199.238 gw $GW dev $LAN_IFACE
route add -host 81.30.197.10 gw $GW dev $LAN_IFACE
fi
route add -net 192.168.0.0/16 dev $PPP_IFACE
route add -net 172.16.0.0/12 dev $PPP_IFACE
route add -net 10.0.0.0/8 dev $PPP_IFACE
route add -net 81.30.176.0/20 dev $PPP_IFACE
route add -net 81.30.192.0/19 dev $PPP_IFACE
route add -net 89.189.128.0/19 dev $PPP_IFACE
route add -net 77.79.128.0/18 dev $PPP_IFACE
route add -net 79.140.16.0/21 dev $PPP_IFACE
route add -net 79.140.24.0/22 dev $PPP_IFACE
route add -net 79.140.28.0/22 dev $PPP_IFACE
route add -net 92.50.128.0/18 dev $PPP_IFACE
route add -net 94.41.0.0/18 dev $PPP_IFACE
route add -net 94.41.64.0/19 dev $PPP_IFACE
route add -net 94.41.96.0/20 dev $PPP_IFACE
route add -net 94.41.112.0/21 dev $PPP_IFACE
route add -net 94.41.120.0/22 dev $PPP_IFACE
route add -net 94.41.124.0/22 dev $PPP_IFACE
route add -net 94.41.128.0/21 dev $PPP_IFACE
route add -net 94.41.136.0/22 dev $PPP_IFACE
route add -net 94.41.140.0/23 dev $PPP_IFACE
;;
*)
echo "No PPP_IPPARAM defined"
;;
esac