我想知道是否有人可以解释一下 MASQUERADE 的用途。此规则会随着我的 openvpn 连接的建立/断开而添加和删除。
iptables -A POSTROUTING -t nat -o tun0 -j MASQUERADE
此外,我想添加一条禁用和启用所有出站流量的规则,最好的方法是什么?
编辑:
抱歉,我没有提供太多细节。这适用于我的路由器 (dd-wrt (busybox))。我想阻止所有传出流量,以防止在没有 vpn 连接时进行连接。我仍然希望启用到路由器本身的传入连接,以便我可以使用 web gui/ssh 等。
答案1
MASQUERADE 是 iptables 的 NAT 选项。引用RedHat 的客户门户:
通过防火墙的内部 IP 设备接受转发的数据包允许 LAN 节点相互通信;但它们仍然不允许与 Internet 进行外部通信。要允许具有私有 IP 地址的 LAN 节点与外部公共网络进行通信,请将防火墙配置为 IP 伪装,即使用防火墙外部设备的 IP 地址屏蔽来自 LAN 节点的请求。
根据您的评论进行编辑:
尝试类似
:INPUT DROP
:OUTPUT DROP
-A INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp -s 192.168.0.0/24 --dport 80 -j ACCEPT
(假设 192.168.0.0/24 是您的内部 LAN;根据需要进行编辑。)
答案2
MASQUERADE 是网络中实例之间转发数据包所必需的。它允许网络中的公共和私有实例进行通信。
简单的政策变更怎么样?在您的
/etc/iptables/rules.v4
文件中:
*过滤器
:输入丢弃
:转发丢弃
:输出丢弃
丢弃所有流量(分别为 INPUT、FORWARD、OUTPUT)
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
允许所有流量