Я запускаю облачный сервис на моем Raspberry Pi 3 и хочу получить к нему доступ также извне. К сожалению, мой интернет-провайдер не позволяет мне пересылать порты (это другая история), поэтому мне иногда также нужно получить к нему доступ через IPv6
. Чтобы ограничить доступ к IPv4
, я установил следующие правила
# /etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Fri Mar 10 18:07:14 2017
*filter
:INPUT DROP [10:3211]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [163:16092]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Fri Mar 10 18:07:14 2017
Все работает должным образом. Однако, когда я пытаюсь сделать то же самое для IPv6
, то есть использовать ip6tables
вместо iptables
и пытаюсь применить те же правила, я больше не могу получить к нему доступ через IPv6
больше. Есть ли другие правила для настройки ip6tables
?
Спасибо!
Хорошо, кажется, добавление следующих двух правил помогло.
-A INPUT -p udp -m udp --dport 546 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
Вот полный rules.v6
# Generated by ip6tables-save v1.4.21 on Wed May 17 10:14:19 2017
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [110:14552]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 546 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p ipv6-icmp -j ACCEPT
COMMIT
# Completed on Wed May 17 10:14:19 2017