简单点,linux三种网络模式 | 更文挑战

简介: 简单点,linux三种网络模式 | 更文挑战

一:简单介绍


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


image.png


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


image.png


让我通过实验来告诉你!


二:实践检测


1、Bridged(桥接模式)


什么是桥接模式? 桥接模式就是在物理机的网卡跟虚拟机的网卡之间建立一个网桥,可以把物理机的网卡想象成交换机,物理机和虚拟机都接在一个交换机上(物理网卡)交换机连接路由器、光猫就可以访问互联网了,接在交换机下的所有主机都可以相互通信互不影响。这样物理机和虚拟机就都可以上网了。 这样也就就解释了为什么windows中没有VMware Network Adapter VMnet0与vmnet0相对应了!桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。**


image.png


1.设置网卡连接模式


image.png

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


image.png


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


image.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)桥接模式下远程登录虚拟机

image.png

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


2、NAT(地址转换模式)


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

image.png

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


(1)设置网卡连接模式

image.png


image.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模式下远程登录虚拟机

image.png


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


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


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

image.png


(1)设置网卡连接模式


image.png

image.png


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


image.png


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


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

image.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


4、总结


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


相关文章
|
15天前
|
安全 Linux 虚拟化
网络名称空间在Linux虚拟化技术中的位置
网络名称空间(Network Namespaces)是Linux内核特性之一,提供了隔离网络环境的能力,使得每个网络名称空间都拥有独立的网络设备、IP地址、路由表、端口号范围以及iptables规则等。这一特性在Linux虚拟化技术中占据了核心位置🌟,它不仅为构建轻量级虚拟化解决方案(如容器📦)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。
网络名称空间在Linux虚拟化技术中的位置
|
13天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
38 6
|
4天前
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
|
1天前
|
网络协议 Linux Shell
【linux网络(一)】初识网络, 理解四层网络模型
【linux网络(一)】初识网络, 理解四层网络模型
|
1天前
|
安全 Ubuntu Linux
Linux 网络操作命令Telnet
Linux 网络操作命令Telnet
13 0
Linux 网络操作命令Telnet
|
2天前
|
Ubuntu Linux
Linux(22) Linux设置网络优先级顺序
Linux(22) Linux设置网络优先级顺序
3 0
|
3天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
26 0
|
14天前
|
存储 安全 测试技术
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
网络奇谭:虚拟机中的共享、桥接与Host-Only模式解析
18 0
|
1月前
|
机器学习/深度学习 数据采集 人工智能
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
m基于深度学习网络的手势识别系统matlab仿真,包含GUI界面
41 0
|
1月前
|
机器学习/深度学习 算法 计算机视觉
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真
基于yolov2深度学习网络的火焰烟雾检测系统matlab仿真