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 в порядке и должно быть оставлено как есть.