我在 Debian 下使用 Proxmox 时遇到了端口转发问题。
我有两个接口(eth0 和 vmbr2),如何通过从单个公共 IP 转发从外部网络访问我的客户端虚拟机(Web 服务器)?
我认为我做了一些错误的配置/etc/network/interfaces
这是我的界面:
auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask 255.255.255.224
gateway xxx.xxx.xxx.xxx
up route add -net xxx.xxx.xxx.xxx netmask 255.255.255.224 gw xxx.xxx.xxx.xxx eth0
vmbr2 接口结束:
auto vmbr2
#private sub network
iface vmbr2 inet static
address 192.168.100.254
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.100.0/24' -o eth0 -j ACCEPT
post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o eth0 -j ACCEPT
post-up iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to 192.168.100.6:22
post-down iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to 192.168.100.6:22
非常感谢您的帮助
答案1
只需在 POSTROUTING 规则中将“ACCEPT”替换为“MASQUERADE”即可。