UbuntuVmware虚拟机网络配置(一)


Ubuntu Vmware虚拟机网络配置(一)

之前多次遇到Ubuntu虚拟机无法连网问题,基本每次都是从网上百度配置流程,只记得修改好几个网络配置文件,再重启网络服务就好了,但每每下次遇到网络问题,需要再次找资料辅助。原因一是对这几配置文件的作用压根不清楚,二是对Linux网络驱动或者说TCP/IP协议栈不了解~

在这里在整理Ubuntu虚拟机网络配置流程和简单的解析~

 

虽然同样对网络驱动这块,或者说TCP/IP协议栈这块不熟悉、不了解、陌生,但我们在Windows下似乎对电脑上网的配置流程驾轻就熟:首先电脑必须先有网络硬件资源——网卡,其次网卡工作需要网卡驱动,再次网络硬件设备和驱动正常的基本条件下,我们上网需要配置IP地址、子网掩码、DNS(Domain Name System,域名系统,一般服务器都有DNS解析服务~)。

而上网的是始终是电脑,无论是在Windows还是Linux下,都遵循网络的基本架构,无论是硬件设备还是软件配置,换句话说都需要网卡、网卡驱动、IP/子网掩码/DNS地址的配置~VMware虚拟机是通过软件对电脑系统的模拟,同样也遵循相应的架构~

所以我们对Ubuntu虚拟机一切的关于网络配置流程都是在围绕“网卡、网卡驱动、IP/子网掩码/DNS地址的配置”进行,无论是配置VMware虚拟机还是配置Ubuntu虚拟机的相关网络配置文件。通过类比Windows下的网络配置,能让我们迅速掌握和识记Linux(Ubuntu)下网络相关的配置流程和相应配置文件的修改~

博客Ubuntu Vmware虚拟机网络配置(一):解析Ubuntu虚拟机的网络配置流程。

博客Ubuntu Vmware虚拟机网络配置(二):对网络配置中遇到的网络相关术语进一步解析。

1、网卡配置

(1)VMware虚拟机选择桥接(Bridged)模式(原则上选择三种方式都可以上网,但桥接模式更有助于开发)

Vmware菜单栏->虚拟机->设置(Vmware菜单栏VM->settings->Network Adapter)

\

 

(2)查看网卡状态

Vmware菜单栏->编辑->虚拟网络编辑器(Vmware菜单栏Edit->Virtual Network Editor)~

\

 

要设置成以上Bridged模式,先关闭虚拟机,不关闭设置会提示只有虚拟机在power off状态才能设置,选择VMnet0,点击左下角的“还原默认设置”(Restore Default),等一段时间虚拟机配置好虚拟网卡后选择“桥接模式”(Bridged),桥接到(Bridged to)选择自动(Automatic)或者自己现在主机的实际网卡名,然后点击应用,确定。

2、网卡的IP、DNS地址配置,需要根据主机所在的网段来配置

(1)参考主机IP、DNS配置

进入主机Windows的DOS环境界面,(键盘上微软图标键+R键)run->cmd,在DOS环境下查看网络配置的命令式ipconfig~

\

 

IP:192.168.10.15

子网掩码(net mask):255.255.255.0

默认网关(gateway):192.168.10.254

(2)IP(DNS)配置文件 :/etc/network/interfaces(“etc”真正代表的是“etcetera”(附加物),包含了广泛的系统配置文件,这些配置文件几乎包含了系统配置的方方面面)

需要将Ubuntu虚拟接IP地址配成与主机同网段IP:192.168.10.XXX(这里是88)

Netmask,gateway与主机相同

\

\

 

sudo vi /etc/network/interfaces

1 auto lo
2 iface lo inet loopback
3
4 auto eth0
5 iface eth0 inet static
6 address 192.168.10.88
7 network 192.168.10.0
8 netmask 255.255.255.0
9 broadcast 192.168.10.255
10 gateway 192.168.10.254

(3)DNS配置文件:/etc/resolv.conf(resolve:解决,解决方案,可是认为DNSDomain Name System,域名系统是网络地址识记、标识的解决方案~)

\

\

 

sudo vi /et/resolv.conf

Nameserver 192.168.10.254

(可以写多个,作为备用网关~)

3、重启网络服务

\

 

sudo /etc/init.d/networking restart

或者

sudo ifdown eth0 (关闭网卡)

sudo ifup eth0 (开启网卡)

(init.d中‘d’:demon,精灵,守护进程)

4、验证

验证虚拟机和主机能不能ping通(桥接模式,需要主机在联网状态~)

ping 192.168.10.15(主机IP)

\

\

 

问题:Ubuntu虚拟机每次重启后,/etc/resolv.conf里面设置的nameserver就被清空或者被重置覆盖。原因和解决方案:

resolv.conf文件中有以下文字说明:

#Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)

#DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN(不要手动修改本文件,你的改动会被覆盖重写)

对于resolv.conf

1 /etc/resolv.conf 其实是一个Link

它其实指向的是 /run/resolvconf/resolv.conf

\

 

#ll /etc/resolv.conf

lrwxrwxrwx 1 root root 29 Oct 9 18:08 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

2 Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf 的内容会被修改成默认的样子

所以 不能直接修改 /etc/resolv.conf

3 如果想自己定义 nameserver,那么有以下2个办法:

A 在网卡的配置文件里面加:

iface eth0 inet static

address 192.168.3.3

netmask 255.255.255.0

gateway 192.168.3.1

dns-nameservers 192.168.3.45 192.168.8.10

B 修改 resolvconf服务的配置文件: /etc/resolvconf/resolv.conf.d/base

echo "search test.com" >> /etc/resolvconf/resolv.conf.d/base

echo "nameserver 202.106.0.20" >> /etc/resolvconf/resolv.conf.d/base

有时候,需要添加tail文件,将DNS写到tail里边,而有时,直接写入base, 或者original即可.

这样,在机器重启或 resolvconf 服务重启 都可以保证配置会写到/etc/resolv.conf 里面

相关内容