Security

如何將 iptables 規則轉換為 ip6tables 規則?

  • May 17, 2017

我在我的 Raspberry Pi 3 上執行雲服務,也想從外部訪問它。不幸的是,我的 ISP 不允許我轉發埠(這是另一個故事),因此我有時還需要通過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

引用自:https://unix.stackexchange.com/questions/363531