LINUX.ORG.RU
ФорумAdmin

UDP: объясните кто-нибудь


0

0
Когда через NAT-гейт идет UDP-запрос наружу (cкажем к DNS), как NAT-гейт определяет, что то, что мы получаем, является ответом на запрос внутренней машины, а не запросом к NAT-гейту? В UDP ведь нет соединения...
anonymous
это называется "учи матчасть"

нат просто переписывает в пакете ip-адрес отправителя на свой и получив ответ( в не зависимости от того что это за протокол -tcp,udp или icmp) форвардит его назад клиенту

anonymous
()
Ответ на: комментарий от anonymous
На самом деле немного сложнее всё. и НАТ различает tcp и udp.

Для UDP - НАТ также ведёт таблицу сходящих пакетов. И если ответ пришёл в тот же порт, из которого вышел (а так работают большинство UDP-протоколов) и в течение определенного времени от запроса - тогда НАТ перенаправляет ответ на исходную машину.

дополнительная информация:
/proc/net/ip_conntrack
iptables howto
smartly ★★★
()
Ответ на: комментарий от smartly
>в течение определенного времени от запроса

Какое время по умолчанию?

И еще: обычная фильтрация UDP-портов с помощью iptables на клиенте так же работает?

anonymous
()
Ответ на: комментарий от anonymous
>Какое время по умолчанию?

в iptables tutorial - написано, что 30 сек.

>И еще: обычная фильтрация UDP-портов с помощью iptables на клиенте так же работает?

Обычная фильтрация - работает обычно. либо прошел пакет, либо нет.

smartly ★★★
()
nat строит внутреннюю таблицу, conntrack - где запоминает все заначенные соединения
anonymous
()
Ответ на: комментарий от smartly
>Обычная фильтрация - работает обычно. либо прошел пакет, либо нет.

Я про то, если закрыты входящие UDP, как определяется, что пакет только ответ? Иначе бы DNS запросы не работали.

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