1. Disable IPv6 2. 参照IPv4生成IPv6配置文件 2.1 对比表 2.2 行描述 2.3 补充raw表 3. 保存规则并启用服务
摘录自: https://wiki.archlinux.org/title/Simple_stateful_firewall#IPv6
L4 | $ cat /etc/iptables/iptables.rules | 描述 | L6 | $ cat /etc/iptables/ip6tables.rules |
*filter | *filter | |||
:INPUT DROP [0:0] | 丢弃所有入站 | :INPUT DROP [0:0] | ||
:FORWARD DROP [0:0] | 丢弃所有转发 | :FORWARD DROP [0:0] | ||
:OUTPUT ACCEPT [0:0] | 允许本地出站, 信任局域网 | :OUTPUT ACCEPT [0:0] | ||
:TCP - [0:0] | TCP端口的自定义链 | :TCP - [0:0] | ||
:UDP - [0:0] | UDP端口的自定义链 | :UDP - [0:0] | ||
1 | -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT | 允许已连接及相关通讯 | 1 | -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT |
2 | -A INPUT -i lo -j ACCEPT | 允许本地环回 | 2 | -A INPUT -i lo -j ACCEPT |
3 | -A INPUT -m conntrack --ctstate INVALID -j DROP | 丢掉失效包... | 3 | -A INPUT -m conntrack --ctstate INVALID -j DROP |
4 | -A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT | 仅允许ping; || 允许ICMPv6流量 | 4 | -A INPUT -s fe80::/10 -p ipv6-icmp -j ACCEPT |
|| 允许DHCPv6 | 5 | -A INPUT -p udp -m udp --sport 547 --dport 546 -j ACCEPT | ||
5 | -A INPUT -p udp -m conntrack --ctstate NEW -j UDP | 仅允许新的UDP请求. | 6 | -A INPUT -p udp -m conntrack --ctstate NEW -j UDP |
6 | -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP | 仅允许新的TCP请求. | 7 | -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP |
7 | -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable | 驳回udp: icmp不可达 || ICMPv6码 | 8 | -A INPUT -p udp -j REJECT --reject-with icmp6-adm-prohibited |
8 | -A INPUT -p tcp -j REJECT --reject-with tcp-reset | 驳回tcp | 9 | -A INPUT -p tcp -j REJECT --reject-with tcp-reset |
9 | -A INPUT -j REJECT --reject-with icmp-proto-unreachable | 驳回:icmp不可达 || ICMPv6码 | 10 | -A INPUT -j REJECT --reject-with icmp6-adm-prohibited |
|| … | 11 | -A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 128 -m conntrack --ctstate NEW -j ACCEPT | ||
COMMIT | COMMIT |
相同的行(IPv4 = IPv6)为绿色; 不同的行用橙色描述. 下面是不同的行的描述。
由于没有针对IPv6的内核反向路径过滤器,因此您可能需要在ip6tables中启用以下内容:
$ sudo ip6tables -t raw -A PREROUTING -m rpfilter -j ACCEPT
$ sudo ip6tables -t raw -A PREROUTING -j DROP
最后别忘了启用[enable]并启动[start] iptables.service和ip6tables.service。检查服务的状态[status],以确保正确加载了规则。
$ sudo systemctl status ip6tables.service
ip6tables-simple-stateful-firewall
原文:https://www.cnblogs.com/sztom/p/14801368.html