这里的环境是虚拟机中的Ubuntu18版本的网络配置,使用虚拟机比较常见,因为主机一般是有线直连,配置很简单
1、NAT模式
虚拟机最简单的联网就是勾选“NAT模式”,不需要任何配置,主机能上网,虚拟机就可以上网,对于只需要上网来说是已足够,如下图:
2、仅主机模式
上面的NAT模式,IP地址不能更改也不能更改DHCP分配IP地址的范围,所以更灵活的是配置“仅主机模式” ,勾选“将主机虚拟适配器连接到此网络”以及“使用本地DHCP服务将IP地址分配给虚拟机”如下图:
3、桥接模式
桥接模式能够外连到外网设备,什么意思呢?比如说主机插入一个USB的WIFI,然后主机里面的多个虚拟机是可以去主动连接这个USB-WIFI的,这样的意义在于可以将这些设备配置在同一网段里面,这个平时用的少,一些需要做分布式处理测试的时候比较方便。
4、静态IP
上述都是DHCP自动分配的动态IP,接下来我们来看下设置静态IP,很多场景很实用。
4.1、用户界面配置
我们打开网络设置(右上角的位置) ,点击“IPv4”,选择“Manual”(手动配置),分别输入IP地址Address、子网掩码Netmask、网关Gateway,以及DNS的可选,设置好了,点击右上角的 Apply(应用),如下图:
4.2、netplan
当然很多时候我们也习惯使用命令来操作,或者有时候远程的Linux服务器只有命令行界面的情况,我们可以修改网络配置文件来设置固定IP:
查看本机的IP情况:ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.3.55 netmask 255.255.255.0 broadcast 192.168.3.255
inet6 240e:338:c16:43a1:9017:c885:194a:4 prefixlen 128 scopeid 0x0<global>
inet6 240e:338:c16:43a1:281d:8ea4:d748:21dd prefixlen 64 scopeid 0x0<global>
inet6 fe80::4531:a232:48b5:41f9 prefixlen 64 scopeid 0x20<link>
inet6 240e:338:c16:43a1:53dd:958d:fd3e:1caf prefixlen 64 scopeid 0x0<global>
ether 00:0c:29:4b:0b:84 txqueuelen 1000 (Ethernet)
RX packets 3152 bytes 4123672 (4.1 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1887 bytes 184966 (184.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 200 bytes 18080 (18.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 200 bytes 18080 (18.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
网卡名称是ens33,其中需要关注的是IP地址、子网掩码即可:inet 192.168.3.55 netmask 255.255.255.0
查看下IP路由表:route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.3.1 0.0.0.0 UG 100 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ens33
192.168.3.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
关注网关即可:192.168.3.1
cd /etc/netplan
备份一份:sudo cp 01-network-manager-all.yaml 01-network-manager-all1.yaml
修改网络配置文件:sudo gedit 01-network-manager-all.yaml
network: version: 2 renderer: NetworkManager ethernets: ens33: addresses: [192.168.3.110/24] gateway4: 192.168.3.1 dhcp4: no nameservers: addresses: [114.114.114.114, 223.5.5.5]
注意事项:
IP地址:[192.168.3.110/24] 需要 /24
这个24是什么意思呢?我们知道IP地址是两部分组成,网络部分+主机部分,那如何区分呢?通过子网掩码,比如:255.255.255.0,就表示前面三个字节是网络部分,后面1个字节是主机部分,如果是,255.255.0.0,那么网络部分就是前两个字节,后两个字节是主机部分,所以我们这里是24,24位是3个字节, 表示192.168.3是网络部分,后面110表示的就是主机部分的其中一台主机
gateway4表示网关地址,dhcp4: no表示不动态分配
除了空格进行缩进对齐之外,冒号后面需要一个空格
应用新的配置:sudo netplan apply
重启网络:sudo service network-manager start
我们在网络设置中也可以直观看到,当然ifconfig命令也可以,如下:
4.3、interfaces
另外一种在以前很常见的,修改:gedit /etc/network/interfaces
auto loiface lo inet loopbackauto ens33iface ens33 inet staticaddress 192.168.3.110netmask 255.255.255.0gateway 192.168.3.1dns-nameserver 114.114.114.114
sudo systemctl restart networking
sudo /etc/init.d/networking restart
在原来基础上新增的修改,可以进行IP地址的自由选择,打开网络配置
选择之后,我们查看IP地址就会更改了。
上面就是对虚拟机中网络配置的三种形式以及配置静态IP的基础知识,希望可以帮助到大家