温馨提示×

CentOS中VirtualBox如何进行端口转发

小樊
75
2025-04-06 11:48:01
栏目: 智能运维

在CentOS中使用VirtualBox进行端口转发,可以按照以下步骤操作:

  1. 开启IP转发功能
  • 临时修改:
echo 1 > /proc/sys/net/ipv4/ip_forward
  • 永久修改:
vi /etc/sysctl.conf

在文件中找到 net.ipv4.ip_forward 这一行,将其值改为 1,然后执行以下命令使更改立即生效:

sysctl -p
  1. 配置端口转发
  • 假设你想将外部访问 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
service iptables save

或者直接修改 /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
  1. 在本机进行端口转发
  • 如果你只需要在本机间进行不同的端口转发,例如访问 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
  1. 在VirtualBox中设置端口转发
  • 打开虚拟机设置中的网络选项卡。
  • 找到对应NAT模式的网卡,点击下面的端口转发,增加转发规则,填写主机端口、子系统IP地址和子系统端口。
  1. 验证端口转发
  • 使用 telnetnc 命令验证端口转发是否成功。例如,如果你转发了SSH的22端口,可以在宿主机上使用:
telnet 127.0.0.1 12222

其中 12222 是你设置的主机端口。

请注意,进行端口转发时,确保主机端口没有被其他服务占用,并且防火墙设置允许端口转发。在进行端口转发时,还应考虑安全性和网络策略,避免不必要的风险。

0