ip6tables forward chain фильтрует все порты

Попробуем следующее на узле centos 6 (работает ядро ​​openvz)

ip6tables -F ip6tables -X ip6tables -P FORWARD DROP ip6tables -A FORWARD -p tcp -m multiport --dports 21,22,80,443 -j ACCEPT ip6tables -A FORWARD -p udp -m multiport --dports 21,22,80,443 -j ACCEPT ip6tables -A FORWARD -p ipv6-icmp -j ACCEPT

Однако это, кажется, отключает подключение ipv6 от openvz VPS к узлу или Интернету, и на сканере портов он показывает все порты как отфильтрованные / заблокированные брандмауэром.

Тем не менее, пинг VPS из узла в VPS работает нормально.

Все, что я пытаюсь сделать, это отбросить все вперед и принять несколько портов, показанных выше, и разрешить прохождение через ipv6.

Это определенно проблема с ip6tables, так как, когда я останавливаю ip6tables, она работает нормально и pinging абсолютно нормален.

Ваша помощь приветствуется.

1 ответ

Проблема заключается в том, что ваш брандмауэр не имеет состояния, и он пропускал трафик только в одном направлении. Здесь нет ничего, чтобы разрешить возврат трафика. Таким образом, пока клиентский запрос проходит, ответ от сервера не соответствует никаким правилам и отбрасывается.

Напишите вместо этого нормальные правила с состоянием. Например:

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate NEW -m tcp -p tcp -m multiport --dports 21,22,80,443 -j ACCEPT

Второе правило разрешает начальную попытку подключения, а первое правило разрешает весь остальной трафик, пока соединение остается открытым. Это во-первых, потому что это будет соответствовать наиболее часто, и наличие этого сначала делает вещи быстрее.

Ваше правило ICMP в порядке и должно быть оставлено как есть.

Другие вопросы по тегам