LINUX.ORG.RU
ФорумAdmin

Проблема с iptables - слишком долго добавляются правила


0

0

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

Есть серверок на FC1, который раздает инет пользователем следующим способом: пользователь поднимает VPN соединение с этим сервером (на сервере работаете pptpd). В момент соединения после поъема pppd на сервере срабатывает скрипт (/etc/ppp/auth-up), добавляющий правила iptables на конткретного пользователя. При завершении соединения - правила убираются. Такая схема работала практически 2 года без проблем.
В настоящее время клиент соединяется по VPN, но появляется ошибка "kernel: application bug", хотя само соединение происходит, шифрование включается :
Oct 10 15:05:43 proxy1 pptpd[12630]: CTRL: Client 192.168.0.198 control connection started
Oct 10 15:05:43 proxy1 pptpd[12630]: CTRL: Starting call (launching pppd, opening GRE)
Oct 10 15:05:43 proxy1 kernel: application bug: pppd(12631) has SIGCHLD set to SIG_IGN but calls wait().
Oct 10 15:05:43 proxy1 kernel: (see the NOTES section of 'man 2 wait'). Workaround activated.
Oct 10 15:05:43 proxy1 pppd[12631]: pppd 2.4.3 started by root, uid 0
Oct 10 15:05:43 proxy1 pppd[12631]: Using interface ppp3
Oct 10 15:05:43 proxy1 pppd[12631]: Connect: ppp3 <--> /dev/pts/10
Oct 10 15:05:43 proxy1 pptpd[12630]: GRE: Discarding duplicate packet
Oct 10 15:05:46 proxy1 pptpd[12630]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Oct 10 15:05:46 proxy1 pppd[12631]: MPPE 128-bit stateless compression enabled
Oct 10 15:05:48 proxy1 pppd[12631]: Cannot determine ethernet address for proxy ARP
Oct 10 15:05:48 proxy1 pppd[12631]: local IP address 192.168.10.254
Oct 10 15:05:48 proxy1 pppd[12631]: remote IP address 192.168.10.14

Я поствил последние версии ppp-2.4.3, dkms-2.0.5, kernel_ppp_mppe-0.0.5, но ошибка не ушла.
Далее еще смешнее. Между клиентом и сервером не ходят пакеты. Причем не ходят около 7-10 минут. Потом, как я понимаю, все-таки добавляются правила iptables и пакеты начинают бегать. Так или иначе но существут некий тайм-аут после которого прохождение пакетов разрешается. (все политики по умолчанию - DROP) Хотя до сего дня все было нормально, измений/обновлений не производилось. Кроме того, по iptables -L, вывод правил наверное 200 идет довольно долго - около 10 минут. Кто-нибудь сталкивался с подобной проблемой? Как решить не подскажите?
Спасибо.

Ответ на: комментарий от anonymous

А куда здесь днс то впендюрить? Я ж говорю - пакеты не ходят. На клиенте пингуешь сервер, а на сервере смотришь чем то типа tcpdump -i ppp0. И видно, что пакеты к серверу приходят, а он на них ответ не дает. Ладно совсем бы не отвечал, так нет - через некоторое время начинает отвечать. Может модуль какой пытается загрузить, но почему так долго? Пока одни вопросы.

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

Сечас провел экспреримент подключился под собой и дал команду iptables -n -L - моих правил нет. Они появились через 8 минут. Вот б.. незадача.

Alex_Saf
() автор топика

Oct 10 15:05:43 proxy1 kernel: application bug: pppd(12631) has SIGCHLD set to SIG_IGN but calls wait().

а вот и ответ из man 2 wait

обработчик сигнала SIGCHLD игнорируется с помощью SIG_IGN (что, кстати, не разрешено стандартном POSIX), то завершившиеся дочерние процессы не становятся зомби, а вызов wait() или waitpid() блокируется, пока все дочерние процессы не завершатся, а затем устанавливает переменную errno равной ECHILD.

Это кривые руки pppd писателей, им POSIX по барабану, о чём кернел и предупреждает. У них там с межпроцессным взаимодействием ваще беда. Не помню в какой версии pppd впадал в дедлок c оверхедом. Это было вызвано тем, что прибивая дочерние процессы, сам pppd то же обрабатывал свой сигнал и опять его посылал :((((

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

to AnyKey
Спасибки, конечно, но до вчерашнего дня ошибок подобного рода (kernel: application bug: pppd) не было. Еще раз повторяю система не обновлялась. Сейчас поставил обновления софта с сайта легаси, включая и последнее (если можно так выразиться) ядро. Проблема исчезла. Все чино-благородно. И сей факт мне еще более удивил.

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