Не путайте эти вещи: NAT - для преобразования адресов, iptables
таблица по умолчанию filter
- для фильтрации пакетов.
Если вопрос: какой фильтр мне нужен, чтобы заставить работать NAT? Ответ: нет. Таких ссылок между таблицами нет. Конечно, вам нужно добавить правила, чтобы пакеты проходили через вашу систему, в противном случае компонент NAT будет готов, но бездействующий (без фильтра = без пакетов).
Таким образом, NAT будет работать, даже если вы запрещаете ICMP и другие протоколы. Конечно, некоторые сообщения ICMP полезны для того, чтобы заставить вещи работать (например, обнаружение MTU пути использует ICMP, и если вы блокируете все сообщения ICMP, соединение очень разорвано). Тем не менее, это не имеет ничего общего с NAT: у вас те же проблемы, даже если вы не используете NAT, и вы возитесь с filter
таблицей.
Вы можете найти некоторую информацию о блокировке ICMP здесь: http://shouldiblockicmp.com
Короче говоря, вы можете разрешить:
- Эхо-запрос / ответ
- Требуется фрагментация
- Превышено время
В IPv6 необходимо также разрешить NDP и SLAAC.