Требуется ли для iptables nat пересылка icmp и других протоколов?

651
avi9526

Некоторые примеры конфигурации iptables для NAT не дают информации о пересылке ICMP-пакетов, некоторые руководства предлагают

-A FORWARD -i in -o out -p icmp -m icmp --icmp-type 8 -j ACCEPT 

Конфигурация UFW (даже если он не используется в качестве маршрутизатора) в фильтре.

ACCEPT icmp -- anywhere anywhere icmp destination-unreachable ACCEPT icmp -- anywhere anywhere icmp source-quench ACCEPT icmp -- anywhere anywhere icmp time-exceeded ACCEPT icmp -- anywhere anywhere icmp parameter-problem ACCEPT icmp -- anywhere anywhere icmp echo-request 

Так что же правильно? А как насчет других протоколов, таких как igmp и т. Д.?

0

1 ответ на вопрос

0
Enrico Bassetti

Не путайте эти вещи: NAT - для преобразования адресов, iptablesтаблица по умолчанию filter- для фильтрации пакетов.

Если вопрос: какой фильтр мне нужен, чтобы заставить работать NAT? Ответ: нет. Таких ссылок между таблицами нет. Конечно, вам нужно добавить правила, чтобы пакеты проходили через вашу систему, в противном случае компонент NAT будет готов, но бездействующий (без фильтра = без пакетов).

Таким образом, NAT будет работать, даже если вы запрещаете ICMP и другие протоколы. Конечно, некоторые сообщения ICMP полезны для того, чтобы заставить вещи работать (например, обнаружение MTU пути использует ICMP, и если вы блокируете все сообщения ICMP, соединение очень разорвано). Тем не менее, это не имеет ничего общего с NAT: у вас те же проблемы, даже если вы не используете NAT, и вы возитесь с filterтаблицей.

Вы можете найти некоторую информацию о блокировке ICMP здесь: http://shouldiblockicmp.com

Короче говоря, вы можете разрешить:

  • Эхо-запрос / ответ
  • Требуется фрагментация
  • Превышено время

В IPv6 необходимо также разрешить NDP и SLAAC.

если я сформулирую вопрос наподобие этого: Какие пакеты ICMP должны пройти через маршрутизатор на базе iptables, чтобы сеть работала правильно? avi9526 5 лет назад 0
Вы можете найти некоторую информацию здесь: http://shouldiblockicmp.com/ Вкратце: эхо-запрос / ответ, требуется фрагментация и превышено время (для IPv4). В IPv6 необходимо также разрешить NDP и SLAAC. Enrico Bassetti 5 лет назад 0
не могли бы вы добавить это к своему ответу? avi9526 5 лет назад 0
Да, конечно. Текст добавлен :-) Enrico Bassetti 5 лет назад 0

Похожие вопросы