fluxy Опубликовано 9 ноября, 2007 Жалоба Поделиться Опубликовано 9 ноября, 2007 Почему не отрабатывается действие SNAT в POSTROUTING. Ситуация: eth0: ip_addr 10.0.1.2/24 eth1: ip_addr 10.0.0.2/24 # iptables -A POSTROUTING -t nat -o eth1 -j SNAT --to-source 10.0.0.2 # iptables -L -t nat Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination SNAT all -- anywhere anywhere to:10.0.0.2 Chain OUTPUT (policy ACCEPT) target prot opt source destination # tcpdump ip proto \\udp -i eth1 -n | grep domain | grep 10.0.1.2 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 13:04:09.112904 IP 10.0.1.2.domain > xxx.xxx.xxx.xxx.domain: 49944 [1au] A? xxx.xxx. (42) 13:04:17.920696 IP 10.0.1.2.domain > xxx.xxx.xxx.xxx.domain: 47423 [1au] A? xxx.xxx. (42) 1813 packets captured 3632 packets received by filter 0 packets dropped by kernel У кого-нибудь такое было? Кстати, все записи одного характера: 10.0.1.2.domain -> another_ip_addr.domain В обоих случаях domain->domain, записей типа ip_addr.UNPIVILEGED_PORT -> xxx.xxx.xxx.xxx.domain нет, т.к. они реально отрабатываются SNAT'ом. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SignFinder Опубликовано 9 ноября, 2007 Жалоба Поделиться Опубликовано 9 ноября, 2007 к нату еще надо форвард открыть и еще в ядре или через sysctl разрешить форвард. приведите iptables -nL Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
cppmm Опубликовано 9 ноября, 2007 Жалоба Поделиться Опубликовано 9 ноября, 2007 SignFinder писал(а) Fri, 09 November 2007 16:14 к нату еще надо форвард открыть и еще в ядре или через sysctl разрешить форвард. приведите iptables -nL А ещё iptables -nvL -t nat, чтобы знать, попадают ли вообще пакеты в цепочку. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SignFinder Опубликовано 12 ноября, 2007 Жалоба Поделиться Опубликовано 12 ноября, 2007 и еще -o eth0 убрать вообще нафиг. команды надо писать по минимуму для начала. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
fluxy Опубликовано 12 ноября, 2007 Автор Жалоба Поделиться Опубликовано 12 ноября, 2007 Пожалуйста!!! # iptables -L -n -v -t nat Chain PREROUTING (policy ACCEPT 2974K packets, 187M bytes) pkts bytes target prot opt in out source destination Chain POSTROUTING (policy ACCEPT 26607 packets, 2758K bytes) pkts bytes target prot opt in out source destination 736K 56M SNAT all -- * eth1 0.0.0.0/0 0.0.0.0/0 to:10.0.0.2 Chain OUTPUT (policy ACCEPT 763K packets, 59M bytes) pkts bytes target prot opt in out source destination -o eth0 я убрать не могу, т.к. мне надо чтобы только через eth1 SNAT делался... Иначе хренова туча сервисов работать не будут. # cat /proc/sys/net/ipv4/ip_forward 1 Картина та же..))) tcpdump'ом я вижу траф от 10.0.1.2.domain -> x.x.x.x.domain Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
cppmm Опубликовано 12 ноября, 2007 Жалоба Поделиться Опубликовано 12 ноября, 2007 fluxy писал(а) Mon, 12 November 2007 10:22 Chain POSTROUTING (policy ACCEPT 26607 packets, 2758K bytes) pkts bytes target prot opt in out source destination 736K 56M SNAT all -- * eth1 0.0.0.0/0 0.0.0.0/0 to:10.0.0.2 Смотрите выделенное. Пакеты сквозь правило проходят. Правило работает. Проблема где-то в другом. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
SignFinder Опубликовано 13 ноября, 2007 Жалоба Поделиться Опубликовано 13 ноября, 2007 Цитата: -o eth0 я убрать не могу, т.к. мне надо чтобы только через eth1 SNAT делался... хм и как это связано между собой? вы всетаки попробуйте. Лучше забить ключ -s. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.