uscr 04.01.2012 15:49
Есть проблема! — pptpclient, iptables и куча проблем.
Здравствуйте. Началось всё с того, что примерно с 20 декабря прошлого года во всём интернете начались проблемы с доступностью различных ресурсов. Недоступными оказывалось множество сайтов, причём только по вечерам, в то время, когда я был на работе, всё было хорошо. Тогда у меня и поселилось зерно разума. Я провёл ряд экспериментов и мои опасения подтвердились - виноват мой домашний шлюз на дебиане. При подключении напрямую или через "пластмассовый" роутер - всё хорошо.Как чинить?
Вот конфиги pptpclient'а:
/etc/ppp/options.pptp
lock
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
Mackarras
ppp_mppe_mppc.o
persist
maxfail 0
holdoff 5
/etc/ppp/peers/name:
pty "pptp vpn.server.ru --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name login
remotename name
ipparam name
defaultroute
Проблемы наблюдаются при попытке зайти на apple.com. Вот трасероут:
1 progress (172.16.0.1) 1.332 ms 1.076 ms 1.699 ms
2 nat-23.ip-home.net (93.157.232.23) 16.576 ms 16.556 ms 16.479 ms
3 gw.ip-home.net (93.157.232.1) 16.400 ms 16.388 ms 16.367 ms
4 CDMS-gw.prime-line.ru (77.91.66.81) 16.345 ms 16.324 ms 16.289 ms
5 77.108.119.65 (77.108.119.65) 19.016 ms 19.025 ms 19.001 ms
6 fkt-asr.comcor.ru (62.117.100.170) 62.135 ms * *
7 * dialup-212.162.19.53.frankfurt1.mik.net (212.162.19.53) 48.743 ms 48.640 ms
8 vlan90.csw4.Frankfurt1.Level3.net (4.69.154.254) 48.483 ms 48.238 ms 48.184 ms
9 ae-92-92.ebr2.Frankfurt1.Level3.net (4.69.140.29) 48.082 ms ae-82-82.ebr2.Frankfurt1.Level3.net (4.69.140.25) 47.763 ms ae-92-92.ebr2.Frankfurt1.Level3.net (4.69.140.29) 47.608 ms
10 ae-24-24.ebr2.London1.Level3.net (4.69.148.197) 57.894 ms ae-22-22.ebr2.London1.Level3.net (4.69.148.189) 59.231 ms ae-24-24.ebr2.London1.Level3.net (4.69.148.197) 62.139 ms
11 ae-44-44.ebr1.NewYork1.Level3.net (4.69.137.78) 126.091 ms ae-41-41.ebr1.NewYork1.Level3.net (4.69.137.66) 126.243 ms ae-43-43.ebr1.NewYork1.Level3.net (4.69.137.74) 125.891 ms
12 ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74) 130.309 ms 129.275 ms ae-61-61.csw1.NewYork1.Level3.net (4.69.134.66) 132.806 ms
13 ae-62-62.ebr2.NewYork1.Level3.net (4.69.148.33) 125.034 ms 128.535 ms ae-82-82.ebr2.NewYork1.Level3.net (4.69.148.41) 124.536 ms
14 ae-2-2.ebr4.SanJose1.Level3.net (4.69.135.185) 192.178 ms 191.864 ms 191.736 ms
15 ae-61-61.csw1.SanJose1.Level3.net (4.69.153.2) 198.793 ms ae-71-71.csw2.SanJose1.Level3.net (4.69.153.6) 194.763 ms ae-91-91.csw4.SanJose1.Level3.net (4.69.153.14) 194.382 ms
16 ae-3-80.edge2.SanJose1.Level3.net (4.69.152.143) 194.047 ms ae-1-60.edge2.SanJose1.Level3.net (4.69.152.15) 193.739 ms ae-2-70.edge2.SanJose1.Level3.net (4.69.152.79) 198.491 ms
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
iTunes не может достучаться до iTunes store, периодические, но не постоянные ЕГГОГи при синхронизации dropbox'а (говорит, что не может установить безопасное соединение).
В /var/log/messages постоянно валятся сообщения вида:
Jan 4 15:39:54 rovniy kernel: [586093.368143] New not syn:IN= OUT=ppp0 SRC=мой_внешний_"белый"_адрес DST=любой_другой_"белый"_адрес LEN=1390 TOS=0x00 PREC=0x00 TTL=64 ID=38007 DF PROTO=TCP SPT=59119 DPT=58485 WINDOW=340 RES=0x00 ACK URGP=0 (циферки, разумеется, варьируются)
В dmesg вижу такое:
[586315.140258] IPT INPUT packet died: IN=ppp0 OUT= MAC= SRC=любой_"белый"_адрес DST=мой_внешний_"белый"_адрес LEN=58 TOS=0x00 PREC=0x00 TTL=121 ID=61593 PROTO=UDP SPT=35691 DPT=51413 LEN=38
Ранее на FreeBSD были аналогичные проблемы с доступностью и вот эти "IPT INPUT packet died" и тогда проблема решилась переходом от pptpclient на mpd (не тот, который играет музыку, а тот, который Multi-link PPP daemon), поэтому и сейчас я кошусь в его сторону. Выручайте, господа!
UPD:
Есть мнение, что это старинная проблема. Добавление правил в iptables (-p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1301:65535 -j TCPMSS --set-mss 1300) не спасло ситуацию. Чтож делать? Почему пластмассовый роутер и mpd демон лишён этих проблем?
iptables до кучи, потому как: "В /var/log/messages постоянно валятся сообщения вида", что кажется мне несколько странным...
Так pptpd или pptp-client?
для pptp-client'a можно указать --loglevel 2
для pptp-client'a можно указать --loglevel 2
Т.е. как то так в:
/etc/ppp/peers/name
pty "pptp vpn.server.ru --nolaunchpppd --nobuffer --loglevel 2"
/etc/ppp/peers/name
pty "pptp vpn.server.ru --nolaunchpppd --nobuffer --loglevel 2"
Это я сделал, но лог не нашёл...
Если он должен писать в dmesg, то могу отметить, что клиент стал ещё менее болтливым...
Если он должен писать в dmesg, то могу отметить, что клиент стал ещё менее болтливым...
Тогда вот так:
Создадим директорию
mkdir -p /var/log/ppp/
###
В /etc/ppp/peers/name
Явно указываем:
logfile "/var/log/ppp/pptp-client.log"
Переподключаемся и смотрим.
p.s. --nobuffer указывал?
Создадим директорию
mkdir -p /var/log/ppp/
###
В /etc/ppp/peers/name
Явно указываем:
logfile "/var/log/ppp/pptp-client.log"
Переподключаемся и смотрим.
p.s. --nobuffer указывал?
Еще такой вопрос, а что за опция options.pptp
Mackarras ?
Вот мой конфиг:
danila@home-gw-lan:/etc/ppp$ cat /etc/ppp/options.pptp | grep -v \#
lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
Mackarras ?
Вот мой конфиг:
danila@home-gw-lan:/etc/ppp$ cat /etc/ppp/options.pptp | grep -v \#
lock
noauth
refuse-pap
refuse-eap
refuse-chap
refuse-mschap
nobsdcomp
nodeflate
И, вот так, поднимается vpn
pty "pptp vpn.server.ru --nolaunchpppd --nobuffer --loglevel 2"
user "my_user_name"
password "my_strong_password"
mtu 1400
mru 1400
unit 1
lock
local
lcp-echo-interval 30
lcp-echo-failure 5
require-mppe-128
require-mppe
nodeflate
nobsdcomp
noauth
maxfail 0
holdoff 30
replacedefaultroute
defaultroute
logfile "/var/log/ppp/pptp-inet.log"
pty "pptp vpn.server.ru --nolaunchpppd --nobuffer --loglevel 2"
user "my_user_name"
password "my_strong_password"
mtu 1400
mru 1400
unit 1
lock
local
lcp-echo-interval 30
lcp-echo-failure 5
require-mppe-128
require-mppe
nodeflate
nobsdcomp
noauth
maxfail 0
holdoff 30
replacedefaultroute
defaultroute
logfile "/var/log/ppp/pptp-inet.log"
Ну и на тему mss и Path MTU Discover
Я у себя держу 2 вот таких правила:
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Я у себя держу 2 вот таких правила:
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Спасают именно эти правила. Правка конфига pptpclienta ни к чему не приводит.
А iptables-то причём?