我正在使用 Debian/Linux Bullseye(版本 11)
我想要完成的是设置一个 TabloTV,以便使用 IPTABLES 通过 Linux 防火墙进行端口转发。我的Linux防火墙有两个以太网卡(实际为eth0 enp0s25
)和eth1
(例如内部)以及两个单独的网络,用于MASQ和FORWARD流量。
eth0
运行 192.168.1.0/24 (或enp0s25
在我的具体情况下))- MASQ b/w 和端口全部转发
eth1
运行 192.168.2.0/24
但是,我想要做的是在防火墙内设置一台特定计算机来执行以下操作:
- (将流量从防火墙 IP 192.168.1.1 端口 21516 重定向到 192.168.2.3 上的端口 80)192.168.2.3:80 到外部端口号 21516
- (将流量从防火墙 IP 192.168.1.1 端口 21517 重定向到 192.168.2.3 上的端口 8887)192.168.2.3:8887 到外部端口号 21517
恰好我的防火墙外部 IP 是 192.168.1.1,但我的内部防火墙 IP 是 192.168.2.1,那么我尝试将端口流量重新路由到的内部计算机是 192.168.2.3。
我已经尝试过以下方法:
- 这些线路之前曾作为 MASQ 的一部分存在
sudo iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT sudo iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT
- 然后我添加了以下几行:
sudo iptables -A POSTROUTING -s 192.168.2.0/24 -o tun0 -j MASQUERADE #this is allow traffic to run on my VPN sudo iptables -A POSTROUTING -s 192.168.2.0/24 -o enp0s25 -j MASQUERADE #this is allow traffic to run between eth0 and eth1 sudo iptables -A PREROUTING -p tcp -m tcp --dport 21516 -j DNAT --to-destination 192.168.2.3:80 sudo iptables -A PREROUTING -p tcp -m tcp --dport 21517 -j DNAT --to-destination 192.168.2.3:8887 sudo iptables -A POSTROUTING -d 192.168.2.3/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.1.1:21516 sudo iptables -A POSTROUTING -d 192.168.2.3/32 -p tcp -m tcp --dport 8887 -j SNAT --to-source 192.168.1.1:21517
仍然对我不起作用,有人有什么想法吗?