LINUX.ORG.RU
ФорумAdmin

Прерывание связи при установке PPTP соединения


0

0

Доброго времени суток!

Неожиданно при настройке интренет шлюза с биллингом появилась непонятная проблема с PPTPD. Схема следующая LAN-eth4-PPTPD-марштрутизиция(без nat)-eth5-ADSL-nat-Internet

Проблема заключается в след. при подключении и отключении клиента по pptp пропадает напрочь связь через eth4 с локальной сетью (нет пингов и открытые соединения вылетаю по таймауту), причем при подключении клиента через eth5 такого с eth5 такого же не происходит. в логах pptp все спокойно, никаких ошибок.

Подскажите плиз в чем могут быть грабли.. или хотя бы в какую сторону копать.

вот конфиг pptpd

lock

auth require-mschap-v2

plugin radius.so plugin radattr.so

nobsdcomp nodeflate

require-mppe-128

mtu 1490 mru 1490

lcp-echo-failure 10 lcp-echo-interval 10

idle 0 deflate 0 proxyarp defaultroute nologfd

лог соединения...

Oct 1 19:54:24 server-sat pptpd[9699]: MGR: Launching /usr/sbin/pptpctrl to handle client Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: local address = 172.16.0.1 Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: remote address = 172.168.1.10 Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: pppd speed = 115200 Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: pppd options file = /etc/ppp/options.pptp Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Client 192.168.3.55 control connection started Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Received PPTP Control Message (type: 1) Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Made a START CTRL CONN RPLY packet Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: I wrote 156 bytes to the client. Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Sent packet to client Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Received PPTP Control Message (type: 7) Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Set parameters to 100000000 maxbps, 64 window size Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Made a OUT CALL RPLY packet Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Starting call (launching pppd, opening GRE) Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: pty_fd = 6 Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: tty_fd = 7 Oct 1 19:54:24 server-sat pptpd[9700]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd Oct 1 19:54:24 server-sat pptpd[9700]: CTRL (PPPD Launcher): local address = 172.16.0.1 Oct 1 19:54:24 server-sat pptpd[9700]: CTRL (PPPD Launcher): remote address = 172.168.1.10 Oct 1 19:54:24 server-sat pppd[9700]: Plugin radius.so loaded. Oct 1 19:54:24 server-sat pppd[9700]: RADIUS plugin initialized. Oct 1 19:54:24 server-sat pppd[9700]: Plugin radattr.so loaded. Oct 1 19:54:24 server-sat pppd[9700]: RADATTR plugin initialized. Oct 1 19:54:24 server-sat pppd[9700]: pppd 2.4.3 started by root, uid 0 Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: I wrote 32 bytes to the client. Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Sent packet to client Oct 1 19:54:24 server-sat pppd[9700]: Using interface ppp0 Oct 1 19:54:24 server-sat pppd[9700]: Connect: ppp0 <--> /dev/pts/4 Oct 1 19:54:24 server-sat pptpd[9699]: GRE: Bad checksum from pppd. Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Received PPTP Control Message (type: 15) Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Got a SET LINK INFO packet with standard ACCMs Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Received PPTP Control Message (type: 15) Oct 1 19:54:24 server-sat pptpd[9699]: CTRL: Ignored a SET LINK INFO packet with real ACCMs! Oct 1 19:54:24 server-sat pppd[9700]: MPPE 128-bit stateless compression enabled Oct 1 19:54:26 server-sat pppd[9700]: not replacing default route to eth5 [192.168.99.1] Oct 1 19:54:26 server-sat pppd[9700]: local IP address 172.16.0.1 Oct 1 19:54:26 server-sat pppd[9700]: remote IP address 172.16.3.111 Oct 1 19:54:26 server-sat pppd[9700]: Script /etc/ppp/ip-up finished (pid 9709), status = 0x0 Oct 1 19:54:28 server-sat ip-down: Usage: ./ip-down <INTERFACE> <DEVICE> <SPEED> <LOCALIP> <REMOTEIP> Oct 1 19:54:31 server-sat ntpdate[9737]: adjust time server 192.168.3.100 offset 0.000453 sec Oct 1 19:54:31 server-sat poll.tcpip: Try to get initial date and time via NTP from inttel..done


Наверное проблема из-за опции defaultroute. Попробуйте ее заменить на nodefaultroute, да и proxyarp, ИМХО, лишний.

mky ★★★★★
()
Ответ на: комментарий от anonymous

Ну тогда можно, во первых, сравнить таблицы маршрутизации, до и после pptpd соединения, посмотреть iptables --- может там прописывается SNAT или еще что, подампить пакеты с помощью tcpdump. Лучше tcpdump -w /tmp/tcpdump.file -s 1500 --- чтобы записать пакеты в файл, а потом посмотреть (tcpdump -r /tmp/tcpdump.file) куда уходят пакеты (arp-запросы, ping)

Еще непонятные ругательства "server-sat ip-down: Usage: ./ip-down <INTERFACE> <DEVICE> <SPEED> <LOCALIP> <REMOTEIP>", в том плане, что вроде pppd этот скрипт так и вызывает... И либо ошибка в скрипте, либо этот скрипт вызывается из другого места. А этот скрипт и может все портить...

mky ★★★★★
()
Ответ на: комментарий от mky

таблицы маршрутизации не изменяются, только добавляется путь до интерфейса

172.16.3.100 * 255.255.255.255 UH 0 0 0 ppp0

заметил следующую тенеденцию... связь пропадает пропадает в момент когда соединение уже установлено или соответственно разорвано.. примерно секунд от 5 до 15.

Таблицы iptables неизменны до и после

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 172.16.0.0/16
ACCEPT all -- 172.16.3.111 0.0.0.0/0
ACCEPT all -- 172.16.0.2 0.0.0.0/0
ACCEPT all -- 172.16.3.100 0.0.0.0/0
ACCEPT all -- 172.16.3.1 0.0.0.0/0
ACCEPT all -- 172.16.3.111 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

таблица nat пустая в обоих случаях.

если дампить пакеты то выглядит так что пакеты просто тупо не приходят - их попросту не видно, если пинговать сервер с наружи и видны только ответы если пинговать сервером подключащийся хост по локальному (не впн) адресу.

на счет этой глючной строки.. незнаю откуда она туда попала но сейчас ее там уже нету.

увеличил уровень протоколирования ядра до 4-х получил след.сообщения в лог при подключении.

slaxor
() автор топика
Ответ на: комментарий от slaxor

Протокол соеднинения
Oct 5 08:43:34 server-sat pptpd[11596]: MGR: Launching /usr/sbin/pptpctrl to handle client
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: local address = 192.168.99.3
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: remote address = 192.168.99.10
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: pppd speed = 115200
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: pppd options file = /etc/ppp/options.pptp
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: Client 192.168.3.100 control connection started
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: Received PPTP Control Message (type: 1)
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: Made a START CTRL CONN RPLY packet
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: I wrote 156 bytes to the client.
Oct 5 08:43:34 server-sat pptpd[11596]: CTRL: Sent packet to client
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: Received PPTP Control Message (type: 7)
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: Set parameters to 10000000 maxbps, 3 window size
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: Made a OUT CALL RPLY packet
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: Starting call (launching pppd, opening GRE)
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: pty_fd = 6
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: tty_fd = 8
Oct 5 08:43:35 server-sat pptpd[11597]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd
Oct 5 08:43:35 server-sat pptpd[11597]: CTRL (PPPD Launcher): local address = 192.168.99.3
Oct 5 08:43:35 server-sat pptpd[11597]: CTRL (PPPD Launcher): remote address = 192.168.99.10
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: I wrote 32 bytes to the client.
Oct 5 08:43:35 server-sat pptpd[11596]: CTRL: Sent packet to client
Oct 5 08:43:36 server-sat pppd[11597]: Plugin radius.so loaded.
Oct 5 08:43:36 server-sat pppd[11597]: RADIUS plugin initialized.
Oct 5 08:43:36 server-sat pppd[11597]: Plugin radattr.so loaded.
Oct 5 08:43:36 server-sat pppd[11597]: RADATTR plugin initialized.
Oct 5 08:43:36 server-sat pppd[11597]: pppd 2.4.3 started by root, uid 0
Oct 5 08:43:36 server-sat pppd[11597]: Using interface ppp0
Oct 5 08:43:36 server-sat pppd[11597]: Connect: ppp0 <--> /dev/pts/3
Oct 5 08:43:36 server-sat pptpd[11596]: GRE: Bad checksum from pppd.
Oct 5 08:43:40 server-sat pppd[11597]: MPPE 128-bit stateless compression enabled
Oct 5 08:43:40 server-sat pppd[11597]: local IP address 192.168.99.3
Oct 5 08:43:40 server-sat pppd[11597]: remote IP address 172.16.3.100
Oct 5 08:43:40 server-sat pppd[11597]: Script /etc/ppp/ip-up finished (pid 11606), status = 0x0
Oct 5 08:43:47 server-sat ntpdate[11636]: adjust time server 192.168.3.100 offset -0.000331 sec
Oct 5 08:43:47 server-sat ntpd[11642]: ntpd 4.2.0a@1.1196-r Sun Apr 23 03:28:24 UTC 2006 (1)
Oct 5 08:43:47 server-sat ntpd[11642]: precision = 3.000 usec
Oct 5 08:43:47 server-sat ntpd[11642]: Listening on interface wildcard, 0.0.0.0#123
Oct 5 08:43:47 server-sat ntpd[11642]: Listening on interface wildcard, ::#123
Oct 5 08:43:47 server-sat ntpd[11642]: Listening on interface lo, 127.0.0.1#123
Oct 5 08:43:47 server-sat ntpd[11642]: Listening on interface eth4, 192.168.3.200#123
Oct 5 08:43:47 server-sat ntpd[11642]: Listening on interface eth5, 192.168.99.2#123
Oct 5 08:43:47 server-sat ntpd[11642]: Listening on interface ppp0, 192.168.99.3#123
Oct 5 08:43:47 server-sat ntpd[11642]: kernel time sync status 0040
Oct 5 08:43:47 server-sat ntpd[11642]: frequency initialized -109.307 PPM from /var/lib/ntp/drift/ntp.drift
Oct 5 08:44:35 server-sat pptpd[11596]: CTRL: Received PPTP Control Message (type: 5)
Oct 5 08:44:35 server-sat pptpd[11596]: CTRL: Made a ECHO RPLY packet
Oct 5 08:44:35 server-sat pptpd[11596]: CTRL: I wrote 20 bytes to the client.
Oct 5 08:44:35 server-sat pptpd[11596]: CTRL: Sent packet to client
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: Received PPTP Control Message (type: 5)
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: Made a ECHO RPLY packet
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: I wrote 20 bytes to the client.
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: Sent packet to client

slaxor
() автор топика
Ответ на: комментарий от slaxor


***отключение впн.

Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: Received PPTP Control Message (type: 5)
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: Made a ECHO RPLY packet
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: I wrote 20 bytes to the client.
Oct 5 08:45:35 server-sat pptpd[11596]: CTRL: Sent packet to client
Oct 5 08:46:04 server-sat kernel: eth4: Setting promiscuous mode.
Oct 5 08:46:04 server-sat kernel: device eth4 entered promiscuous mode
Oct 5 08:46:20 server-sat pptpd[11596]: CTRL: EOF or bad error reading ctrl packet length.
Oct 5 08:46:20 server-sat pptpd[11596]: CTRL: couldn't read packet header (exit)
Oct 5 08:46:20 server-sat pptpd[11596]: CTRL: CTRL read failed
Oct 5 08:46:20 server-sat pptpd[11596]: CTRL: Reaping child PPP[11597]
Oct 5 08:46:20 server-sat pppd[11597]: Modem hangup
Oct 5 08:46:20 server-sat pppd[11597]: Connect time 2.7 minutes.
Oct 5 08:46:20 server-sat pppd[11597]: Sent 0 bytes, received 431 bytes.
Oct 5 08:46:20 server-sat pppd[11597]: MPPE disabled
Oct 5 08:46:20 server-sat pppd[11597]: Connection terminated.
Oct 5 08:46:20 server-sat kernel: eth4: Setting promiscuous mode.
Oct 5 08:46:20 server-sat kernel: eth4: Setting promiscuous mode.
Oct 5 08:46:20 server-sat pppd[11597]: Script /etc/ppp/ip-down finished (pid 11731), status = 0x0
Oct 5 08:46:20 server-sat pppd[11597]: Exit.
Oct 5 08:46:20 server-sat pptpd[11596]: CTRL: Client 192.168.3.100 control connection finished
Oct 5 08:46:20 server-sat pptpd[11596]: CTRL: Exiting now
Oct 5 08:46:20 server-sat pptpd[4046]: MGR: Reaped child 11596
Oct 5 08:46:25 server-sat kernel: device eth4 left promiscuous mode
Oct 5 08:46:33 server-sat kernel: eth4: Setting promiscuous mode.
Oct 5 08:46:33 server-sat kernel: device eth4 entered promiscuous mode
Oct 5 08:48:41 server-sat kernel: device eth4 left promiscuous mode

обратить внимание на время последних 2-х строчек... вот тут как раз происходит прерывание связи, а так же лог соединения лог: время 08:43:47

еще один момент, если подключаться по впн с другого интерфейса eth5, то связь непрерывается ни по eth4 ни по eth5.

...весь в растеренности... даже непредставляю куда копать... help please!

slaxor
() автор топика
Ответ на: комментарий от slaxor

Уже не знаю, что и посоветовать. Непонятно, откуда взялось столько строчек про promiscuous mode. Это биллинговая программа? Модели сетевок разные или одинаковые? Может сетевка/драйвер eth4 просто глючит при переходе в/из promiscuous mode.

Установите/запустите команду arping во время прпадания связи и проверьте, работает ли в это время на интерфейсе eth4 arp-протокол.

Разберитесь с адресами. В первом посте было: local address = 172.16.0.1 remote address = 172.168.1.10, Client 192.168.3.55, а pppd давал адреса: local IP address 172.16.0.1, remote IP address 172.16.3.111.

В следующем логе: local address = 192.168.99.3, remote address = 192.168.99.10, Client 192.168.3.100, а pppd давал адреса: local IP address 192.168.99.3, remote IP address 172.16.3.100.

Почему разные local IP address? ИМХО, если используются plugin'ы и pppd сам назначает адреса, то pptpd не должен назначать адреса.

P.S. Если возможно, опишите по подробнее вашу биллинговую систему (основные принципы, используемый софт)...

mky ★★★★★
()
Ответ на: комментарий от mky

на счет строчек примиск моде - согласен, непонятно.. тоже подумываю на железяку.. нужно как то добраться до сервера...

arping - пропадает при соедининение\разъединении.

на счет адресов - там все норма, просто логи я разные кидал, т.к. сам с этими адресами экспериментировал - дело не в них.

билинг UTM4 - тоже не причем, т.к. завязка идет только через радиус при авторизации. пробовал отключать плагин радиуса - тот же самый эффект.

пока идей кроме железяки нету? ...дойду до сервака - отпишусь.

slaxor
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.