IP伪装

IP伪装

我需要在 UFW 中实施以下规则,但不知道具体如何执行:

iptables -t nat -A POSTROUTING -o eth0 -s 10.8.0.0/24 -j MASQUERADE
#Note: If you use tcp protocol you must change -p udp to -p tcp and --ddport 1194 to --ddport 443
iptables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -s 10.8.0.0/24 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

#Note: If you use tcp protocol you must change -p udp to -p tcp and --ddport 1194 to --ddport 443
ip6tables -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
ip6tables -A INPUT -i tun0 -j ACCEPT
ip6tables -A FORWARD -i tun0 -o eth0 -s 2a01:4f8:c2c:5fc7:80::/112 -m state --state NEW -j ACCEPT

我怎样才能正确地做到这一点?

感谢您。

答案1

您应该学习使用 UFW 框架来实现所需的效果,而不是逐字复制现有规则。

开放特定端口的说明请参见man ufw

手册中解释了如何设置 NAT 和 IP 伪装man ufw-framework并要求:

IP伪装

允许 eth1 上 10.0.0.0/8 网络的计算机进行 IP 伪装以共享 eth0 上的单个 IP 地址:

编辑/etc/ufw/sysctl.conf为:

          net.ipv4.ip_forward=1

在 的末尾/etc/ufw/before.rules,在以下*filter部分之后添加:

          *nat
          :POSTROUTING ACCEPT [0:0]
          -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE
          COMMIT

对于一些更复杂的场景,UFW 框架还没有提供好的解决方案,对于这些用例,它支持加载“原始”iptables 规则。

相关内容