在 Ubuntu 上配置 iptables
以支持 IPv6,需要使用 ip6tables
命令。以下是一些基本的步骤和示例,帮助你开始配置 IPv6 的防火墙规则。
首先,确保你的系统已经安装了 iptables
和 ip6tables
。通常情况下,这些工具在默认的 Ubuntu 安装中已经包含。
sudo apt update
sudo apt install iptables ip6tables
确保你的系统已经启用了 IPv6。你可以通过以下命令检查 IPv6 是否启用:
ip addr show
如果看到类似 inet6
的地址,说明 IPv6 已经启用。
ip6tables
如果你想允许所有的 IPv6 流量,可以使用以下命令:
sudo ip6tables -P INPUT ACCEPT
sudo ip6tables -P FORWARD ACCEPT
sudo ip6tables -P OUTPUT ACCEPT
例如,允许 TCP 端口 80(HTTP)和 443(HTTPS)的流量:
sudo ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
例如,允许来自特定 IPv6 地址的流量:
sudo ip6tables -A INPUT -s 2001:db8::/32 -j ACCEPT
在允许特定流量之后,你可以拒绝所有其他流量:
sudo ip6tables -A INPUT -j DROP
默认情况下,ip6tables
规则在重启后不会自动保存。你可以使用 iptables-persistent
包来保存和恢复规则。
安装 iptables-persistent
:
sudo apt install iptables-persistent
在安装过程中,系统会提示你是否要保存当前的 iptables
规则。选择“是”以保存 IPv4 和 IPv6 规则。
你可以使用以下命令查看当前的 ip6tables
规则:
sudo ip6tables -L -v -n
如果你需要清除所有 ip6tables
规则,可以使用以下命令:
sudo ip6tables -F
sudo ip6tables -X
通过这些步骤,你应该能够在 Ubuntu 上成功配置 iptables
以支持 IPv6。根据你的具体需求,你可以进一步调整和细化这些规则。