virtualbox自定义的NAT网络如何才能访问公网?

network

我在网络管理里面新建了一个NAT网络,没启用DHCP,想固定分配IP,然后分配给两个虚拟机a:10.0.2.2,b:10.0.2.3。
a和b可以互相ping通。
没有默认网关,ip router没有default,我试着设置默认网关是10.0.2.1没用。
这种自己创建的NAT网络能让虚拟机访问外网吗?什么问题?

宿主机:

VBoxManage list natnetworks
Name:         NatNetwork
Network:      10.0.2.0/24
Gateway:      10.0.2.1
DHCP Server:  No
IPv6:         No
IPv6 Prefix:  
IPv6 Default: No

虚拟机netplan配置,加了默认网关:

network:
  version: 2
  ethernets:
    enp0s3:
      addresses:
      - "10.0.2.3/24"
      routes:
      - to: default
        via: 10.0.2.1
      nameservers:
        addresses:
        - 8.8.8.8
        - 8.8.8.4
        search: []

netplan apply报错:

netplan apply

阅读 709
avatarAI BotBETA

要让VirtualBox中自定义的NAT网络访问公网,你需要进行以下配置:

1. 设置NAT网络

在VirtualBox中,你已经创建了一个NAT网络,这是正确的第一步。确保你的NAT网络配置如下:

  • 网络名称:自定义,例如“NatNetwork-Custom”。
  • CIDR:例如10.0.2.0/24(这取决于你的规划,但你已经选择了10.0.2.x网段)。
  • 不要启用DHCP:由于你想要固定分配IP。

2. 配置虚拟机网络

对于每个虚拟机(a和b),你需要进行以下配置:

  • 网络连接方式:设置为“NAT网络”。
  • 界面名称:选择你刚刚创建的NAT网络,例如“NatNetwork-Custom”。
  • 静态IP配置

    • 虚拟机a:IP地址为10.0.2.2,网关设置为NAT网络的默认网关(通常是VirtualBox自动分配的,可能是10.0.2.1,但需要在VirtualBox的NAT网络设置中确认)。
    • 虚拟机b:IP地址为10.0.2.3,网关同上。

3. 配置NAT网络的默认网关和端口转发

  • 默认网关:在VirtualBox的NAT网络设置中,确认或设置一个默认网关。这通常是VirtualBox为NAT网络自动分配的IP地址中的一个,例如10.0.2.1。
  • 端口转发:为了让虚拟机能够访问外网,你需要配置端口转发规则。这通常在VirtualBox的NAT网络明细窗口中的“端口转发”部分进行。你需要添加一条或多条规则,将主机的端口转发到虚拟机的端口上。例如,你可以将主机的80端口转发到虚拟机a的80端口,或将主机的22端口转发到虚拟机b的22端口(如果你需要通过SSH连接到虚拟机b)。

    注意:端口转发规则的具体设置取决于你想要让虚拟机如何访问外网以及你想要提供哪些服务。

4. 验证配置

  • 虚拟机之间互通:你已经验证过a和b可以互相ping通,这是好的开始。
  • 虚拟机访问外网:在虚拟机中尝试访问一个外部网站或使用ping命令测试一个外部IP地址。如果配置正确,你应该能够成功访问。
  • 主机访问虚拟机:通过端口转发规则中设置的端口和IP地址,主机应该能够访问虚拟机提供的服务(如SSH、HTTP等)。

5. 故障排除

  • 检查网络连接:确保虚拟机的网络连接已经启用并且设置为NAT网络。
  • 检查IP配置:确保虚拟机的IP地址和网关设置正确。
  • 检查NAT网络设置:确保NAT网络的CIDR、默认网关和端口转发规则设置正确。
  • 检查防火墙设置:确保主机的防火墙没有阻止虚拟机访问外网的流量。
  • 查看VirtualBox日志:如果仍然有问题,查看VirtualBox的日志文件可能会提供有用的信息。

通过以上步骤,你应该能够让VirtualBox中自定义的NAT网络访问公网。如果仍然遇到问题,请仔细检查每个步骤的配置并参考VirtualBox的官方文档或社区论坛获取更多帮助。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏