简单点,linux三种网络模式

简介: 本篇内容介绍了linux三种网络模式。

一:简单介绍


linux系统有三种网络模式分别是桥接模式、NAT模式、仅主机模式,名称分别为vmnet0、vmnet1、vmnet8。


微信图片_20220507231801.png


系统中又有VMware Network Adapter VMnet1和VMware Network Adapter VMnet8两块虚拟网卡,很显然这两块虚拟网卡对应虚拟机上的vmnet1和vmnet8,但是为什么没vmnet0对应的虚拟网卡呢?


微信图片_20220507231806.png


让我通过实验来告诉你!


二:实践检测


1.Bridged(桥接模式


什么是桥接模式?


桥接模式就是在物理机的网卡跟虚拟机的网卡之间建立一个网桥,可以把物理机的网卡想象成交换机,物理机和虚拟机都接在一个交换机上(物理网卡)交换机连接路由器、光猫就可以访问互联网了,接在交换机下的所有主机都可以相互通信互不影响。这样物理机和虚拟机就都可以上网了。

这样也就就解释了为什么windows中没有VMware Network Adapter VMnet0与vmnet0相对应了!

桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。


微信图片_20220507231811.png


1.设置网卡连接模式


微信图片_20220507231816.png


这个地方桥接到…可以填自动,以防出现以太网口没有开启的情况


微信图片_20220507231822.png


2.编辑网卡配置文件


(1)查看物理主机网卡信息,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。


微信图片_20220507231827.png


(2)配置虚拟网卡并测试ping通外网


[root@b ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=6cfcde1c-373b-4682-bbe8-589ad6b7c344
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.43.160
PREFIX=24
GATEWAY=192.168.43.1
DNS1=192.168.43.1
[root@b ~]# systemctl restart network
[root@b ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=87.9 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=80.2 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=78.8 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=106 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=5 ttl=50 time=65.4 ms
^C
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 65.463/83.802/106.564/13.486 ms


(3)桥接模式下远程登录虚拟机


微信图片_20220507231834.png


4)桥接模式配置简单,但如果你的网络环境是ip资源很缺少或对ip管理比较严格的话,那桥接模式就不太适用了。那么下面学一种NAT模式


2、NAT(地址转换模式)


NAT模式借助虚拟NAT设备和虚拟DHCP服务器来实现虚拟机上网功能,具体流程可看图


微信图片_20220507231839.png


聪明的同学可能发现中间为啥要多个VMware Network Adapter VMnet8,直接把主机网卡连到vmnet8虚拟交换机上不行吗?实际上VMware Network Adapter VMnet8的作用是为了实现虚拟机和主机之间相互通信!


(1)设置网卡连接模式


微信图片_20220507231844.png


微信图片_20220507231850.png


(2)配置虚拟网卡并测试ping通外网


[root@a ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=6cfcde1c-373b-4682-bbe8-589ad6b7c344
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.10.130
PREFIX=24
GATEWAY=192.168.10.1
DNS1=192.168.10.1
[root@a ~]# systemctl restart network
[root@a ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=101 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=53.1 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=100 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=106 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=5 ttl=50 time=65.4 ms
^C
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 65.463/83.802/106.564/13.486 ms


(3)NAT模式下远程登录虚拟机


微信图片_20220507231856.png


VMware Network Adapter VMnet8的作用是让虚拟机和物理机之间通信,把物理机上的它禁用之后仍然可以ping通主机,但是不能远程登陆!


3.Host-Only(仅主机模式)


Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯如图。


微信图片_20220507231900.png


(1)设置网卡连接模式


微信图片_20220507231905.png


微信图片_20220507231910.png


(2)仅主机模式下远程登录虚拟机


微信图片_20220507231915.png


(3)配置虚拟网卡并测试ping通外网


仅主机模式ping通外网需要共享物理主机的网卡,这就能上网了


微信图片_20220507231921.png


[root@a ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=6cfcde1c-373b-4682-bbe8-589ad6b7c344
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.137.130
PREFIX=24
GATEWAY=192.168.137.1
DNS1=192.168.137.1
[root@a ~]# systemctl restart network
[root@a ~]# ping baidu.com
PING baidu.com (39.156.69.79) 56(84) bytes of data.
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=1 ttl=50 time=97.9 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=2 ttl=50 time=90.2 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=3 ttl=50 time=88.8 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=4 ttl=50 time=106 ms
64 bytes from 39.156.69.79 (39.156.69.79): icmp_seq=5 ttl=50 time=95.4 ms
^C
--- baidu.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 65.463/83.802/106.564/13.486 ms


总结:以上就是关于vmware三种网络模式的工作原理及配置详解。写的都是手动配置,通过dhcp分配IP也是一样的道理,之需要把BOOTPROTO=dhcp,ONBOOT=yes即可实现虚拟机与外网通信!

相关文章
|
2天前
|
网络协议 Linux 网络架构
|
5天前
|
域名解析 网络协议 Linux
linux网络配置详解
linux网络配置详解
14 0
|
6天前
|
网络协议 Java Linux
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
【探索Linux】P.29(网络编程套接字 —— 简单的TCP网络程序模拟实现)
12 0
|
6天前
|
存储 网络协议 算法
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
【探索Linux】P.28(网络编程套接字 —— 简单的UDP网络程序模拟实现)
14 0
|
6天前
|
网络协议 算法 Linux
【探索Linux】P.27(网络编程套接字 —— UDP协议介绍 | TCP协议介绍 | UDP 和 TCP 的异同)
【探索Linux】P.27(网络编程套接字 —— UDP协议介绍 | TCP协议介绍 | UDP 和 TCP 的异同)
14 0
|
6天前
|
存储 算法 网络协议
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
【探索Linux】P.26(网络编程套接字基本概念—— socket编程接口 | socket编程接口相关函数详细介绍 )
12 0
|
6天前
|
存储 网络协议 Unix
【探索Linux】P.25(网络编程套接字基本概念 —— 预备知识)
【探索Linux】P.25(网络编程套接字基本概念 —— 预备知识)
6 0
|
2天前
|
安全 网络协议 Linux
linux必学的60个命令
Linux是一个功能强大的操作系统,提供了许多常用的命令行工具,用于管理文件、目录、进程、网络和系统配置等。以下是Linux必学的60个命令的概览,但请注意,这里可能无法列出所有命令的完整语法和选项,仅作为参考
|
2天前
|
监控 Linux 数据处理
|
2天前
|
编解码 Ubuntu Linux