Перейти к содержимому
Калькуляторы

Перестают NATится пакеты

Всем привет.
Есть сервер elastix'a и моменты пропадания электричества, все сервера бутаются и вот на шлюзе перестают натится пакеты от этого elastix'a. Вот как выглядит дамп на внешнем интерфейсе:

13:15:41.855377 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0
13:15:41.953371 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0
13:15:42.057326 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0
13:15:42.153244 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0

При этом все остальные UDP пакеты (например, резолвинг DNS) работает нормально, то есть NATится.
Правила файервола:

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 9689 2834K SNAT       all  --  *      ens34   10.0.0.0/8           0.0.0.0/0            to:X.X.X.X
  119  6344 SNAT       all  --  *      ens35   10.0.0.0/8           0.0.0.0/0            to:Y.Y.Y.Y
 3743 1185K SNAT       all  --  *      ens34   192.168.0.0/16       0.0.0.0/0            to:X.X.X.X
    2   120 SNAT       all  --  *      ens35   192.168.0.0/16       0.0.0.0/0            to:Y.Y.Y.Y


Потом (иногда спустя день) оно само (ну то есть никто ничего не делает) разлипает и начинает NATится. Иногда не разлипает и приходится бутать то шлюз, то elastix. Иногда это приходится делать по несколько раз.
После замены полностью шлюза на новый (как железо, так и ОС, только конфиги старые), проблема не ушла.
Ну вот даже не знаю, куда можно копать и что ещё смотреть?
Изменено пользователем skeletor

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 часа назад, skeletor сказал:

Всем привет.
Есть сервер elastix'a и моменты пропадания электричества, все сервера бутаются и вот на шлюзе перестают натится пакеты от этого elastix'a. Вот как выглядит дамп на внешнем интерфейсе:


13:15:41.855377 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0
13:15:41.953371 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0
13:15:42.057326 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0
13:15:42.153244 IP 10.0.1.11.5060 > X.X.X.X.5060: SIP: REGISTER sip:X.X.X.X SIP/2.0

При этом все остальные UDP пакеты (например, резолвинг DNS) работает нормально, то есть NATится.
Правила файервола:


Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 9689 2834K SNAT       all  --  *      ens34   10.0.0.0/8           0.0.0.0/0            to:X.X.X.X
  119  6344 SNAT       all  --  *      ens35   10.0.0.0/8           0.0.0.0/0            to:Y.Y.Y.Y
 3743 1185K SNAT       all  --  *      ens34   192.168.0.0/16       0.0.0.0/0            to:X.X.X.X
    2   120 SNAT       all  --  *      ens35   192.168.0.0/16       0.0.0.0/0            to:Y.Y.Y.Y

 


Потом (иногда спустя день) оно само (ну то есть никто ничего не делает) разлипает и начинает NATится. Иногда не разлипает и приходится бутать то шлюз, то elastix. Иногда это приходится делать по несколько раз.
После замены полностью шлюза на новый (как железо, так и ОС, только конфиги старые), проблема не ушла.
Ну вот даже не знаю, куда можно копать и что ещё смотреть?

 

Нужно проверить, загружается ли модуль nf_conntrack_sip

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, похоже в правильную сторону натолкнули. Модуль не загружен. Гугление навело на практически мой случай https://unix.stackexchange.com/questions/461320/nf-conntrack-sip-does-not-work-sometimes-restarting-iptables-usually-fixes-it . Сейчас у меня всё работает, модули подгрузил:


# lsmod | grep sip

nf_nat_sip             20480  0

nf_conntrack_sip       32768  1 nf_nat_sip

nf_nat                 36864  3 nf_nat_ipv4,xt_nat,nf_nat_sip

nf_conntrack          172032  11 xt_conntrack,nf_nat,xt_state,ipt_MASQUERADE,nf_nat_ipv4,xt_nat,nf_conntrack_sip,xt_helper,nf_conntrack_netlink,xt_CT,nf_nat_sip

Добавил правила из статьи и по счётчикам видно, что пакеты не бегают (облом):


# iptables -t raw -L -nv

Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target     prot opt in     out     source               destination         

 

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)

pkts bytes target     prot opt in     out     source               destination         

    0     0 CT         udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp spt:5060 ctstate NEW,RELATED,ESTABLISHED state NEW,RELATED,ESTABLISHED helper match "sip" CT

    0     0 CT         udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:5060 ctstate NEW,RELATED,ESTABLISHED state NEW,RELATED,ESTABLISHED helper match "sip" CT

Видно, что helper=sip тоже не используется


# conntrack -L | grep -E '5060|sip'|grep 10.0.1.11

udp      17 141 src=10.0.1.11 dst=10.0.2.181 sport=5060 dport=5060 src=10.0.2.181 dst=10.0.1.11 sport=5060 dport=5060 [ASSURED] mark=0 use=1

udp      17 178 src=10.0.1.11 dst=X.X.X.X sport=5060 dport=5060 src=X.X.X.X dst=X.X.X.X sport=5060 dport=5060 [ASSURED] mark=0 use=1

udp      17 132 src=10.0.102.13 dst=10.0.1.11 sport=5060 dport=5060 src=10.0.1.11 dst=10.0.102.13 sport=5060 dport=5060 [ASSURED] mark=0 use=1

udp      17 160 src=10.0.1.11 dst=10.0.2.187 sport=5060 dport=5060 src=10.0.2.187 dst=10.0.1.11 sport=5060 dport=5060 [ASSURED] mark=0 use=1

udp      17 133 src=10.0.1.11 dst=10.0.102.15 sport=5060 dport=5060 src=10.0.102.15 dst=10.0.1.11 sport=5060 dport=5060 [ASSURED] mark=0 use=1

udp      17 132 src=10.0.102.11 dst=10.0.1.11 sport=5060 dport=5060 src=10.0.1.11 dst=10.0.102.11 sport=5060 dport=5060 [ASSURED] mark=0 use=1

conntrack v1.4.5 (conntrack-tools): 1426 flow entries have been shown.

Начал копать дальше и нашёл статьи

https://klink0v.livejournal.com/484932.html

https://ixnfo.com/moduli-nat-dlya-vpn-ftp-sip.html

и действительно, net.netfilter.nf_conntrack_helper был выставлен в 0. Поставил в 1 и уже стало видно, что используется:


udp      17 3582 src=10.0.1.11 dst=X.X.X.X sport=5061 dport=5060 [UNREPLIED] src=X.X.X.X. dst=X.X.X.X sport=5060 dport=5061 mark=0 helper=sip use=1

Надеюсь, что это кому-то тоже поможет. Правила в файерволе (-t raw), походу лишние, но ещё понаблюдаю.

Изменено пользователем skeletor

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.