You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu Server 24.04主机KVM/QEMU虚拟机NAT端口转发配置求助

Ubuntu Server 24.04主机KVM/QEMU虚拟机NAT端口转发配置求助

别着急,我帮你一步步搞定这个NAT端口转发的问题,顺便给你后续部署Web应用的相关配置提个参考:

首先,我们得先明确几个前提(你需要根据自己的实际环境替换下面的示例值):

  • KVM默认创建的NAT网络子网一般是192.168.122.0/24,你可以在主机上用ip a查看virbr0网卡的IP确认
  • 先登录到Guest虚拟机,用ip a拿到它的实际IP,示例里假设是192.168.122.10
  • 主机的对外网卡(就是分配到192.168.100.1的那个网卡),示例里假设是eth0

第一步:调整主机SSH端口,避免冲突

你需要把主机的SSH监听端口改成50022,这样访问主机IP的50022端口就直接连主机,22端口专门留给Guest的转发:

  1. 编辑SSH配置文件:
    sudo nano /etc/ssh/sshd_config
    
  2. 找到Port 22这一行(如果被注释就去掉前面的#),改成Port 50022
  3. 保存退出后,重启SSH服务:
    sudo systemctl restart sshd
    
  4. 用UFW允许这个新端口:
    sudo ufw allow 50022/tcp
    

第二步:开启主机IP转发

这是NAT转发的基础,必须先开启:

  1. 编辑sysctl配置文件:
    sudo nano /etc/sysctl.conf
    
  2. 找到net.ipv4.ip_forward=1这一行,去掉前面的注释#
  3. 让配置立即生效:
    sudo sysctl -p
    

第三步:配置iptables端口转发规则

我们要添加DNAT规则把主机的22端口转到Guest的22端口,同时配置SNAT让Guest能正常回包:

  1. 添加DNAT规则(替换成你的Guest IP和主机网卡名):
    sudo iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 22 -j DNAT --to-destination 192.168.122.10:22
    
  2. 添加SNAT规则(替换成你的主机网卡名和NAT子网):
    sudo iptables -t nat -A POSTROUTING -s 192.168.122.0/24 -o eth0 -j MASQUERADE
    
  3. 用UFW允许主机的22端口:
    sudo ufw allow 22/tcp
    

第四步:保存规则,确保重启后生效

Ubuntu重启后iptables规则会丢失,我们用iptables-persistent来永久保存:

  1. 安装工具:
    sudo apt update && sudo apt install iptables-persistent
    
  2. 安装过程中会提示保存当前的IPv4和IPv6规则,都选Yes即可

测试配置

现在你可以从同一局域网的其他机器测试:

  • 连接主机SSH:ssh your_host_user@192.168.100.1 -p 50022,应该直接登录到主机
  • 连接Guest SSH:ssh your_guest_user@192.168.100.1,应该登录到Guest虚拟机

后续部署Nginx的额外建议

等你在Guest上装好Nginx并部署Web应用后,要让外部访问主机IP就能打开应用,只需要添加对应的端口转发规则:
比如转发80端口:

sudo iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.122.10:80
sudo ufw allow 80/tcp

如果用HTTPS的443端口,同理添加对应的规则即可,别忘了用sudo netfilter-persistent save保存新规则。

备注:内容来源于stack exchange,提问作者sujan bastola

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:24:30