在CentOS中使用VirtualBox进行端口转发的步骤如下:
echo 1 > /proc/sys/net/ipv4/ip_forward
vi /etc/sysctl.conf
在文件中找到 net.ipv4.ip_forward
这一行,将其值改为 1
,然后执行以下命令使更改立即生效:
sysctl -p
172.16.4.247:728
的流量转发到内部 IP 172.16.4.97:80
,可以使用以下 iptables
命令:iptables -t nat -A PREROUTING -p tcp -d 172.16.4.247 --dport 728 -j DNAT --to-destination 172.16.4.97:80
iptables -t nat -A POSTROUTING -p tcp -s 172.16.4.97 --sport 80 -j SNAT --to-source 172.16.4.247
/etc/sysconfig/iptables
文件:-A PREROUTING -d 172.16.4.247/32 -p tcp -m tcp --dport 728 -j DNAT --to-destination 172.16.4.97:80
-A POSTROUTING -s 172.16.4.97/32 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.4.247
728
端口:-A INPUT -p tcp -m state --state NEW -m tcp --dport 728 -j ACCEPT
service iptables restart
http://ip:729
时想返回 http://ip:80
的内容,可以使用以下命令:iptables -t nat -A PREROUTING -p tcp --dport 729 -j REDIRECT --to-ports 80
service iptables save
service iptables restart
telnet
或 nc
命令验证端口转发是否成功。例如,如果你转发了SSH的 22
端口,可以在宿主机上使用:telnet 127.0.0.1 12222
其中 12222
是你设置的主机端口。
请注意,进行端口转发时,确保主机端口没有被其他服务占用,并且防火墙设置允许端口转发。