ip6tables блокирует исходящие + входящие соединения

Я только что перешел на сервер с ipv6 и поэтому изменил свой скрипт брандмауэра. Изменение моего iptables-скрипта на ip6tables, похоже, не работает. Это часть ipv6, которая не разрешает ни исходящий, ни входящий трафик на ipv6 (но должна разрешать все исходящие и разрешать только ssh, https); ipv4 работает как шарм:

#IPv6
# Setting default policies:
ip6tables -P INPUT DROP
ip6tables -P FORWARD DROP
ip6tables -P OUTPUT ACCEPT

# Exceptions to default policy
ip6tables -I INPUT -i lo -j ACCEPT
ip6tables -A INPUT -p tcp —dport 22 -j ACCEPT       # SSH
ip6tables -A INPUT -p tcp —dport 443 -j ACCEPT      # HTTPS
ip6tables -A INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

Спасибо!

Решение:

iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A FORWARD -p icmp -j ACCEPT

ip6tables -A INPUT -p icmpv6 -j ACCEPT
ip6tables -A OUTPUT -p icmpv6 -j ACCEPT
ip6tables -A FORWARD -p icmpv6 -j ACCEPT

Согласно другому ответу здесь и http://www.ietf.org/rfc/rfc4890.txt

1 ответ

У вас нет правила, разрешающего исходящие, хотя ваши правила для портов 22 и 443 выглядят двунаправленными. Вы должны фильтровать ICMP на внешнем интерфейсе и разрешать трафик DNS через порт 53 (как UDP, так и TCP).

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

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