Linux 虚拟机联网(二)

一、简述

        记-设置虚拟机联网。局域网内网络连接尝试使用NAT模式、桥接模式。在桥接模式下主机与虚拟机互相ping通。

        环境Win7 64位,VMware Workstation Pro 12,Ubuntu18.04

          

        

二、NAT模式

       通过NAT(地址转换),共享主机的网络,虚拟机一般不需再设置什么,只要主机能上网,虚拟机就能够上网。

       (虚拟机再局域网中没有网络身份,也就是说虚拟机不能ping通在局域网中的其它主机, 或者说其它主机找不到虚拟机)

       

三、桥接模式

        相当于局域网内的一台独立主机,有自己的IP、网关等, 可以ping通局域网中的其它主机。例子中在局域网中使用静态IP

       

      设置网络配置,需要超级权限(可切换到root用户:sudo -s,或者在命令前面加上sudo,编辑完成记得保存)

       (1)编辑网络配置文件:vi /etc/network/interfaces        编辑为如下内容 

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto ens33               #(ens33网口,可使用ifconfig查看是那个网口)
iface ens33 inet static  #(配置静态IP,如果需要设置为动态IP,则将ststic改为dhcp,并去掉后面的三行)
address 192.168.21.118
gateway 192.168.21.1
netmask 255.255.255.0

        

  (2)重新加载网络配置文件,先停止,然后重新加载,然后启动。

          执行停止命令:/etc/init.d/networking stop

          执行重新加载命令:/etc/init.d/networking reload

          执行启动命令:/etc/init.d/networking restart

          

         注:此时测试命令:ping www.baidu.com ,可能网络已经通了,就可以不用设置DNS

  (3)设置DNS

           编辑/etc/resolv.conf

          

         关于DNS的设置还可以参考本地连接:

         

/etc/resolv.conf这个配置文件,重启之后会恢复为初始状态。如果需要设置的DNS一直生效,可以修改/etc/systemd/resolv.conf

         

测试网络ping www.baidu.com     (若是ping不通,可尝试关闭防火墙、安全软件、电脑管家等)

        

      桥接方式下主机、虚拟机互相能够ping通。我的主机IP为192.168.21.117。虚拟机IP为:192.168.21.118。

      (注:若是ping不通可以尝试关闭防火墙、安全软件(电脑管家等))

       

       

       虚拟机ping主机,

       

       主机ping虚拟机

      

五、问题总结

问题1:ping: www.baidu.com: Name or service not known

             可尝试关闭杀毒软件、电脑管家等。若是ping主机不通,可尝试关闭防火墙。

            关闭防火墙:

            

            

           

问题2:/etc/init.d/networking restart 失败(桥接模式需要启动虚拟网卡,NAT模式不需要)

       

注:

(1)Ubuntu启动网口命令    ifup 某个网口  比如ifup ens33 启动ens33以太网口      关闭命令ifdowm 某个网口

(2)直接设置UbuntuIP命令:ifconfig 某个网口 IP  (如ifconfig ens33 192.168.21.118,需要超级权限)

(3)设置Windows主机IP:打开网络和共享中心。

             

           

            

           

         问题3:Ubuntu18.04设置DNS   (以下方式1,方式2,方式3测试通过)

        方式1:可以通过配置/etc/resolv.conf 进行设置DNS,但是这个文件每次系统启动的时候会被改变为默认。

                    

              设置为动态获取IP方式:

                       

        方式2[一直生效]:修改/etc/systemd/resolv.conf。(注DNS服务器要根据实际情况设置)

                               

 方式3[一直生效]:创建 02-network-manager-all.yaml配置文件。命令:vi 02-network-manager-all.yaml

  内容如下:          

# Let manual manage ens33 devices on this system
network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses: [192.168.13.57/24]
      gateway4:  192.168.13.1
      nameservers:
        addresses: [202.96.128.166, 114.114.114.114]

                  

                  

                   这里把DNS和ipv4地址配置在一个文件里了,不用再修改/etc/resolv.conf 文件。 

保存,完后执行命令:netplan apply           (然后就可以ping通外网了)

                 

(注:ens33是网卡端口,不同的主机可能不同,IP地址、网关。。。需要根据实际环境设置) 

   

方法4[测试不通过]:创建 /etc/resolvconf/resolv.conf.d/base 配置文件。(若没有resolv.conf.d目录的需要创建)

             内容如下:(可以设置多个备用)

nameserver 202.96.128.166
nameserver 114.114.114.114

                   

                         

      保存,然后执行命令:resolvconf -u        (测试未能通过)

                                         

注:如果出现:Command 'resolvconf' not found

                                         

         需要安装相应工具,apt install resolvconf    (可以设置为NAT方式让虚拟机联网下载安装)

                                        

                                                

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐