LINUX.ORG.RU
решено ФорумAdmin

Еще один вопрос по iptables


0

0

Провожу такой тест: запускаю чистый iptables (правил нет). выполняю на компе с адресом 192.168.1.3

sysctl net.ipv4.ip_forward=1
Затем
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -t nat -A PREROUTING -p udp -s 192.168.1.26 -j DNAT --to 192.168.1.26
У рабочей машины адрес 192.168.1.3, у второй машины адрес 192.168.1.26 Обе находятся за NAT на ADSL-модеме с адресом 192168.1.1 Теперь на второй машине с адресом 192.168.1.26 запускаю тест:
iperf -u -c 8.8.8.8 -p 1038
И на другой консоли на этой же машине:
iperf -s -u -p 1038
На машине с адресом 192.168.1.26 гейтвей указан 192.168.1.3, что в итоге должно дать результат: iperf должен успешно провести тест ширины канала. Но сервер iperf с клиентом никак не могут найти друг друга. Где я сделал ошибку и как посмотреть, что не так?

По отчету tcpdump пакеты идут через машину 192.168.1.3 на адрес 8.8.8.8, но пакеты же должны были развернуться на адрес 192.168.1.26!!

★★

Последнее исправление: delete83 (всего исправлений: 1)

убрать iptables -P FORWARD DROP

пакеты приходят и их видно как они есть изначально, но после NAT они не уходят - режутся в FORWARD

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

Вот это огромное СПАСИБО! А то я уже всю голову себе сломал! А тут все так просто оказалось! Теперь буду курить исходники nf_nat_rule в ядре до полного просветления.

p.s. Ну вот и докурил. Теперь все как часы работает! )

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