• Linux net Ничерта не понимаю!
    tcpdump -i eth0 показывает, что исходящий пакет идёт:
    #
    U 10.1.1.18:5060 -> 37.195.247.192:5060
    SIP/2.0 100 Trying..Via: SIP/2.0/UDP 172.28.1.6:5060;branch=z9hG4bK247018018;received=37.195.2
    Но в iptables он никак не мигает!
    root@francl:~# iptables -t nat -L -n -v
    Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
    pkts bytes target prot opt in out source destination
    0 0 SNAT udp — 0.0.0.0/0 0.0.0.0/0 to:193.77.220.181
    0 0 SNAT all — * eth0 10.1.1.18 0.0.0.0/0 to:193.77.220.181
    0 0 SNAT all — 10.1.1.18 !10.0.0.0/8 to:193.77.220.181
    1291 77526 SNAT all — 192.168.1.0/24 !192.168.1.0/24 to:10.1.1.7

    как такое может быть?!?!

Replies (19)

  • @datacompboy, Покажи правила, а то похоже на serverfault.com
  • @caban, да вот нифига, я знаю как работают iptables и iproute2.
    тут трабл в том, что траффик не промежуточный, а сгенерированный самим сервером (из linux-vserver). То есть он падает в OUTPUT таблицы и в самом конце в POSTROUTING.
    траффик наружу точно выходит, но при этом он туда топает НЕ snat'енный (и, разумеется, теряется).
    И вопрос на SF другой — у него само правило применяется. А у меня — нет.
    Вообще счетчики в -t nat -L POSTROUTING не растут совершенно, хотя tcpdump видит их.
    нигде DENY/REJECT нету (спецом постирал всё).
  • @datacompboy, А можно тогда тупой вопрос, на транзите работает?
  • @caban, у меня там нет транзита :) в этом и трабл
  • @datacompboy, Так, а ОС какая?
  • @caban, debian linux.
  • @datacompboy, А там не какие sysctl отключить/включить не надо (forwarding, rp_filter)?
  • @caban, forward вкюлчен (но он не нужен для локального ната), rp_filter выключен (уже кушал этот кактус в прошлом)
  • @datacompboy, Чудеса на виражах. Либо где-то очень простая и тупая ошибка, либо баг.
  • @datacompboy, а в какое правило из этих должен попасть этот пакет?
  • @stager, В любое из первых трёх — я его пытался матчить самым широким образом.
    Но самое удивительное, что после пакета не увеличивается НИ ОДИН счетчик.
  • @datacompboy, нет. dst у первых трёх не тот, поэтому и не попадает
  • @datacompboy, iptables-save|grep SNAT
  • @stager, первое правило — просто "-p udp" и ничего более. под него 37.195.247.192 точно попадает ;)
    правила правильные — я не первый раз фырвол настраиваю...
  • @datacompboy, а, ну да. не разглядел в JA
  • @stager, даже наверно лучше весь iptables-save покажи
  • @stager, эхехех. сложно, я уже вчера пошел перенабивать систему в другую схему. (тоже безуспешно, ять)
  • @datacompboy, на pastebin.com например закинь
    чота тут не то, ща проверил у себя — всё работает как положено
  • @stager, я сам такого раньше не видел. но какая-то проблема в том, что на сервере 4 сетевых адаптера, и именно на уровне мультихома и начинается трабла