虚拟机下Ubuntu上网设置

文章目录

    • 一、虚拟机上网的两种方式
      • 1.1 NAT模式(Network Address Translation)
      • 1.2 桥接模式(Bridge Mode)
      • 1.3 简介
    • 二、实际配置
      • 2.1 NAT模式配置
      • 2.2 桥接模式配置

之前跟着博客配了好几个也没用,后来自己慢慢模式实践测试,终于可以了,下面总结给大家发出来,也方便自己后续查看。

一、虚拟机上网的两种方式

网络配置很重要,虚拟机下系统上网有两种方式,一种是NAT,一种是桥接模式

虚拟机上网有两种常见的模式:NAT(网络地址转换)和桥接模式。

1.1 NAT模式(Network Address Translation)

  • 在NAT模式下,虚拟机的网络连接通过宿主机进行转发。
  • 宿主机充当一个中介,为虚拟机提供网络连接,并为其分配一个私有IP地址。
  • 虚拟机与外部网络通信时,它的网络数据包会经过宿主机,然后由宿主机将虚拟机的私有IP地址转换成宿主机的公共IP地址,并在外部网络中进行通信。
  • 外部网络无法直接访问虚拟机,只能通过宿主机来间接访问。
    虚拟机下Ubuntu上网设置_第1张图片

1.2 桥接模式(Bridge Mode)

  • 在桥接模式下,虚拟机直接与物理网络中的其他设备相连,就像是一个独立的网络设备。
  • 虚拟机会获得与宿主机处于同一物理网络中的一个唯一IP地址,它可以直接与外部网络通信。
  • 虚拟机与外部网络之间的通信是透明的,外部网络设备可以直接与虚拟机通信,就像与其他物理设备一样。
    虚拟机下Ubuntu上网设置_第2张图片

1.3 简介

在NAT模式下,虚拟机的网络连接通过宿主机转发,使用宿主机的公共IP地址进行通信,外部网络无法直接访问虚拟机。
在桥接模式下,虚拟机直接与物理网络相连,获得一个独立的IP地址,可以直接与外部网络通信,外部网络设备可以直接访问虚拟机。
选择使用哪种模式取决于实际需求,NAT模式更适合一些简单的网络连接,而桥接模式则提供了更灵活和直接的网络访问方式。

还不懂?好吧,我再举个例子:

当使用NAT模式时,假设你的物理机(宿主机)的公共IP地址是192.168.0.100,而虚拟机在NAT模式下分配到的私有IP地址是192.168.0.101。那么,当虚拟机想要访问外部网络时,它会通过宿主机进行转发。
例如,虚拟机上运行着一个Web浏览器,你想要访问www.example.com这个网站。虚拟机的网络数据包会经过NAT转换,然后由宿主机将请求发送给外部网络。外部网络收到请求后,将响应发送回宿主机,然后宿主机再将响应转发给虚拟机。虚拟机内的Web浏览器就可以接收到来自www.example.com的响应,并显示在虚拟机的屏幕上。

当使用桥接模式时,虚拟机直接连接到物理网络中,就像是一个独立的网络设备。假设你的物理机连接到家庭路由器,并且你的虚拟机分配到了路由器分配的IP地址192.168.0.102。在桥接模式下,虚拟机可以直接与外部网络通信。
举个例子,你可以在虚拟机上运行一个FTP服务器,并将其设置为监听端口21。当外部网络中的其他设备(如笔记本电脑或手机)通过路由器访问192.168.0.102:21时,它们实际上是直接与虚拟机上的FTP服务器建立连接,进行文件传输操作。

二、实际配置

好,废话不多说,直接配置

2.1 NAT模式配置

虚拟机下Ubuntu上网设置_第3张图片
按照上面三个步骤,为什么要移除再添加呢,这样配置才会立马生效!!
打开编辑器可以看到:
虚拟机下Ubuntu上网设置_第4张图片
虚拟机下Ubuntu上网设置_第5张图片
虚拟机下Ubuntu上网设置_第6张图片
在NAT模式下,PC机充当了一个路由器的角色。它既要跟上层的真实路由器通信,又要跟Ubuntu虚拟机通信。玩过路由器的同学就知道,路由器的上层网段和下层网段是不允许相同的,而我们常用的路由器的网段是192.168.1.0,所以为了避免冲突,软件自己便分配了一个不常用的网段给下层的设备。但也并不保险,如果你的上层路由器网段恰恰是192.168.107.0,那么需要更改这里的网段。

2.2 桥接模式配置

虚拟机下Ubuntu上网设置_第7张图片
设置桥接网络
虚拟机下Ubuntu上网设置_第8张图片
虚拟机下Ubuntu上网设置_第9张图片
不知道哪个的话,去windows下去查询
虚拟机下Ubuntu上网设置_第10张图片

进入虚拟机,打开终端,进行网络配置

sudo vi /etc/netplan/01-network-manager-all.yaml

修改为:

etwork:
  version: 2
  renderer: NetworkManager
  ethernets:
    ens36:  # 网卡名
      dhcp4: no  # 设置为静态,如果动态改为yes,下面的参数都不需要设置了
      addresses: [192.168.1.120/24]  # 这个需要自己修改
      optional: true
      gateway4: 192.168.1.1  # 这个需要自己修改,默认网关,与宿主机一致
      nameservers:
          addresses: [8.8.8.8,114.114.114.114]  # DNS

例如我需要设置静态IP为:192.168.1.120,网关为192.168.1.1,这个是网关地址,可以在window下去查询,进入window命令行,输入ipconfig,我使用的是WIFI,以自己的实际为准,可以查到默认网关
虚拟机下Ubuntu上网设置_第11张图片

配置好后利用命令重启网络

sudo netplan apply

接下来就可以上网啦
虚拟机下Ubuntu上网设置_第12张图片

你可能感兴趣的:(环境搭建,ubuntu,linux,运维)