VMware是众多虚拟机软件之一,也是我们通常使用较多的一个软件。Vmware的网卡具有三种模 式分别是桥接模式、NAT模式、仅主机模式。一般虚拟机会虚拟出三个网卡分别执行这三种模式, vmnet0网卡是桥接模式,vmnet1是仅主机模式,vmnet8是NAT模式。

如何设置不同模式

vmware的三个网卡
6PY~Z@0YNFAHG]%ZU`R_DZP.png
选择自己想要的模式
YW%SF$~@{RC$%J5UPHB84%8.png

桥接模式详解

什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用 下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物 理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不 干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主 机网卡一致。其网络结构如下图所示:
8TUUN}1R)4ASI}Q$5(~D`@Q.png

NAT模式(地址转化)

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。在NAT模式中,主机网卡直接与 虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实 现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡VMware Network Adapter VMnet8 呢?原来我们的VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通 信。 _D%8NM4WQKW_O8IZ}1`~@AW.png

仅主机模式

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚 拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成 为一个独立的系统,只与主机相互通讯。其网络结构如下图所示: ![6Q$II@P9B`4(1MDK}$TE(A.png

配置网络服务

通过图形化工具配置网络

使用nmtui命令来配置网络

  1. [root@localhost ~]# nmtui

@)COD9DK093KX`K6O$X2@3Q.png
![B~SWJVN2LF@$CSQSYMI2.png
MLJHYN`WC3Y7}5X0VUC@S3H.png

OWCO)PXBAFXGJWB6_P4O2IT.png
![9_1EK(5TC62LRS~I`0AUPB.png

通过配置文件修改网络

  1. [root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
  2. TYPE=Ethernet
  3. PROXY_METHOD=none
  4. BROWSER_ONLY=no
  5. BOOTPROTO=none
  6. DEFROUTE=yes
  7. IPV4_FAILURE_FATAL=no
  8. IPV6INIT=yes
  9. IPV6_AUTOCONF=yes
  10. IPV6_DEFROUTE=yes
  11. IPV6_FAILURE_FATAL=no
  12. IPV6_ADDR_GEN_MODE=stable-privacy
  13. NAME=ens33
  14. UUID=7cb2fd3e-61dd-4856-87fa-c6db7ec0169b
  15. DEVICE=ens33
  16. ONBOOT=yes
  17. IPADDR=192.168.91.128
  18. PREFIX=24
  19. GATEWAY=192.168.91.2
  20. DNS1=114.114.114.114
  21. DNS2=114.114.115.115

网卡配置文件参数
[BP5B04C5~%FB1]OOS~6RPH.png
当修改完Linux系统中的服务配置文件后,并不会对服务程序立即产生效果。要想让服务程序获取到最新 的配置文件,需要手动重启相应的服务,之后就可以看到网络畅通了

  1. [root@localhost ~]# systemctl restart network
  2. [root@localhost ~]# ping -c 4 114.114.114.114
  3. PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
  4. 64 bytes from 114.114.114.114: icmp_seq=1 ttl=128 time=17.0 ms
  5. 64 bytes from 114.114.114.114: icmp_seq=2 ttl=128 time=16.0 ms
  6. 64 bytes from 114.114.114.114: icmp_seq=3 ttl=128 time=16.6 ms
  7. 64 bytes from 114.114.114.114: icmp_seq=4 ttl=128 time=16.4 ms
  8. --- 114.114.114.114 ping statistics ---
  9. 4 packets transmitted, 4 received, 0% packet loss, time 3006ms
  10. rtt min/avg/max/mdev = 16.020/16.556/17.094/0.395 ms

手动修改配置文件

最后需要重启网络服务并测试网络是否联通

nmcli工具详解

nmcli命令是redhat7或者centos7之后的命令,该命令可以完成网卡上所有的配置工作,并且可以写入 配置文件,永久生效。
参考博客
https://www.cnblogs.com/caibao666/p/12321888.html
查看接口信息

  1. [root@server1 ~]# nmcli device status
  2. 设备 类型 状态 连接
  3. ens33 ethernet 连接的 ens33
  4. lo loopback 未托管 --

查看连接信息

  1. [root@server1 ~]# nmcli connection show
  2. 名称 UUID 类型 设备
  3. ens33 a1fff70f-e683-48ca-a462-d704a06c5f8b 802-3-ethernet ens33

启动/停止接口

  1. [root@server1 ~]# nmcli connection up ens33
  2. [root@server1 ~]# nmcli connection down ens33

创建连接

  1. [root@server1 ~]# nmcli connection add type ethernet con-name dhcp_ens33
  2. ifname ens33

通过连接修改网络配置

  1. [root@server1 ~]# nmcli connection modify dhcp_ens33 ipv4.addresses
  2. 192.168.80.200/24 ipv4.gateway 192.168.80.2 ipv4.method manual ipv4.dns
  3. 114.114.114.114 autoconnect yes

删除连接

  1. [root@server1 ~]# nmcli connection delete dhcp_ens33
  2. 成功删除连接 'dhcp_ens33'37adadf4-419d-47f0-a0f6-af849160a4f7)。

ifconfig

Linux ifconfig命令用于显示或设置网络设备。
ifconfig可设置网络设备的状态,或是显示目前的设置。

语法

  1. ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<
  2. 网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>]
  3. [mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-
  4. broadcast<地址>][-pointopoint<地址>][IP地址]

参数说明

  1. add<地址> 设置网络设备IPv6IP地址。
  2. del<地址> 删除网络设备IPv6IP地址。
  3. down 关闭指定的网络设备。
  4. <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
  5. io_addr<I/O地址> 设置网络设备的I/O地址。
  6. irq<IRQ地址> 设置网络设备的IRQ
  7. media<网络媒介类型> 设置网络设备的媒介类型。
  8. mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
  9. metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
  10. mtu<字节> 设置网络设备的MTU
  11. netmask<子网掩码> 设置网络设备的子网掩码。
  12. tunnel<地址> 建立IPv4IPv6之间的隧道通信地址。
  13. up 启动指定的网络设备。
  14. -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
  15. -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
  16. -promisc 关闭或启动指定网络设备的promiscuous模式。
  17. [IP地址] 指定网络设备的IP地址。
  18. [网络设备] 指定网络设备的名称。

实例

显示网络设备信息

  1. [root@localhost ~]# ifconfig
  2. eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
  3. inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
  4. inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
  5. UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
  6. RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
  7. TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
  8. collisions:0 txqueuelen:1000
  9. RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
  10. Interrupt:185 Base address:0x2024
  11. lo Link encap:Local Loopback
  12. inet addr:127.0.0.1 Mask:255.0.0.0
  13. inet6 addr: ::1/128 Scope:Host
  14. UP LOOPBACK RUNNING MTU:16436 Metric:1
  15. RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
  16. TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
  17. collisions:0 txqueuelen:0
  18. RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)

启动关闭指定网卡

  1. [root@localhost ~]# ifconfig eth0 down
  2. [root@localhost ~]# ifconfig eth0 up

为网卡配置和删除IPV6地址

  1. [root@localhost ~]# ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置
  2. IPv6地址
  3. [root@localhost ~]# ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除
  4. IPv6地址

用ifconfig修改MAC地址

  1. [root@localhost ~]# ifconfig eth0 down //关闭网卡
  2. [root@localhost ~]# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
  3. [root@localhost ~]# ifconfig eth0 up //启动网卡
  4. [root@localhost ~]# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地
  5. [root@localhost ~]# ifconfig eth1 up //启动网卡

配置IP地址

  1. [root@localhost ~]# ifconfig eth0 192.168.1.56
  2. //给eth0网卡配置IP地址
  3. [root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
  4. // 给eth0网卡配置IP地址,并加上子掩码
  5. [root@localhost ~]# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
  6. broadcast 192.168.1.255
  7. // 给eth0网卡配置IP地址,加上子掩码,加上个广播地址

启用和关闭ARP协议

  1. [root@localhost ~]# ifconfig eth0 arp //开启
  2. [root@localhost ~]# ifconfig eth0 -arp //关闭

设置最大传输单元

  1. [root@localhost ~]# ifconfig eth0 mtu 1500
  2. //设置能通过的最大数据包大小为 1500 bytes