首页 > 系统相关 >Linux几种网络模式介绍

Linux几种网络模式介绍

时间:2023-02-08 17:23:52浏览次数:39  
标签:桥接 ip 虚拟机 网络 模式 几种 网卡 NAT Linux

简单介绍Linux几种网络模式

​ 虚拟化层次:

​ 打开vmware虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器"中看到VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8

(NAT模式),那么这些都是有什么作用呢?其实,我们现在看到的VMnet0表示的是用于桥接模式下的虚拟交换机;VMnet1表示的是用

于仅主机模式下的虚拟交换机;VMnet8表示的是用于NAT模式下的虚拟交换机。

Linux可以分为三种网络模式:

  1. 桥接模式 (vmnet0)

  2. 仅主机模式 (vmnet1)

  3. NAT模式 (vmnet8)

当我们下载了vmware之后,在电脑会出现两个虚拟网卡,VMware Network Adapter VMnet1、VMware Network Adapter VMnet8。

可以通过查找 控制面板——网络和 Internet——网络和共享中心——更改适配器设置 看到虚拟网卡:

可能有人疑惑了,为什么在虚拟机看到了vmnet0、vmnet1和vmnet8网卡,在物理机没有看到桥接的虚拟网卡vmnet0?

这就要说说桥接、仅主机、NAT这三种网络模式了

桥接模式(Bridged)

​ 桥接模式就是在物理机的网卡跟虚拟机的网卡之间建立一个网桥,可以把物理机的网卡想象成交换机,物理机和虚拟机都接在一个交换机上,交换机连接路由器就可以访问互联网了,接在交换机下的所有主机都可以相互通信互不影响。这样物理机和虚拟机就都可以上网了。这样也就解释了为什么物理机中没有 vmnet0了。

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

Windows键+R 进入DOS命令窗口,输入:cmd 再输入:ipconfig,查看物理机IP:

步骤:

WIN+R键
cmd
ipconfig

我们把虚拟机的网络模式设置为桥接,激活网卡,输入ip a命令查看是不是192.168.0这个网段。

步骤总结:

修改网络适配器的网络连接模式为桥接
进入/etc/sysconfig/network-scripts/ifcfg-ens33文件修改ONBOOT=NO为ONBOOT=yes
systemctl restart network
ip a
ping www.baidu.com

输入:vi /etc/sysconfig/network-scripts/ifcfg-ens33

systemctl restart network
ip a

可以看到桥接模式下的虚拟IP和物理机处于同一网段:

检测一下网络状态:(使用ping这个命令可以检测网络是否通)

ping www.baidu.com

桥接模式设置完成。

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

NAT模式

​ 刚刚我们说到,如果你的网络ip资源紧缺,但是你又希望你的虚拟机能够联网,这时候NAT模式是最好的选择。NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。

​ 在NAT模式中,物理主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。VMware Network Adapter VMnet8虚拟网卡主要是为了实现物理主机与虚拟机之间的通信。

Windows键+R 进入DOS命令窗口,输入:cmd 再输入:ipconfig,查看vmnet8, NAT在192.168.152这个网段:

也可以在虚拟机的编辑选项,虚拟网络编辑器查看:

我们把虚拟机的网络模式设置为NAT,激活网卡,输入ip a命令查看是不是192.168.152这个网段。

修改网络适配器的网络连接模式为NAT
修改ONBOOT=NO为ONBOOT=yes
systemctl restart network
ip a
ping www.baidu.com

看看虚拟机的NAT ip,在192.168.152这个网段,检查一下网络:

ip a
ping www.baidu.com

NAT设置成功。

仅主机模式(host-only)

​ Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统。在这个模式下,主机可以访问虚拟机。但是

虚拟机不能访问主机,也不能访问外网。

可以看到仅主机ip为192.168.200这个网段:

我们把虚拟机的网络模式设置为host-only,激活网卡,输入ip a命令查看是不是192.168.200这个网段。

发现ip在192.168.200这个网段:

检测一下网络状态:(使用ping这个命令可以检测网络是否通)

虚拟机一直ping不通百度,因为仅主机模式,物理主机可以访问虚拟机。但是虚拟机不能访问物理主机,也不能访问外网

我们用Win+R键,输入cmd,ping一下虚拟机的IP,可以访问虚拟机。

host-only模式联网

如果要使得虚拟机能联网,我们可以将主机网卡共享给VMware Network Adapter VMnet1网卡,从而达到虚拟机联网的目的。

控制面板找到你的网络,右键属性,点击共享:

这时候可以看到VMware Network Adapter VMnet1的ip变成了静态ip192.168.137.1:

进入虚拟机,编辑选项,虚拟网络编辑器,强制将VMnet1的ip设置成192.168.137.1,那么接下来,我们就要将虚拟机的DHCP的子网和起始地址进行修改。

vi /etc/sysconfig/network-scripts/ifcfg-ens33

IPADDR=192.168.137.100   #IP地址,在192.168.137这个网段都可以
GATEWAY=192.168.137.1   #网关
PREFIX=24  #子网掩码
#NETMASK=255.255.255.0   #子网掩码的另一种表示方法
DNS=223.5.5.5  #阿里云的DNS
systemctl restart network
ip a
ping www.baidu.com

标签:桥接,ip,虚拟机,网络,模式,几种,网卡,NAT,Linux
From: https://www.cnblogs.com/lqq-blog/p/17102496.html

相关文章

  • Linux 安装 go 环境
    目录安装运行go程序编译go程序安装wgethttps://dl.google.com/go/go1.19.5.linux-amd64.tar.gztarzxvfgo1.19.5.linux-amd64.tar.gz-C/usr/local/#vim/etc/pr......
  • Linux之ssh远程连接
    Linux之ssh远程连接一、下载远程连接工具XshellXshell是一种远程连接工具,可用来远程连接虚拟机。Xshell免费版下载地址输入名字和邮箱,可以在邮箱看到下载Xshell的链接......
  • Linux命令-top
    top命令总览系统时间相关依次显示了系统当前时间、系统到目前为止已运行的时间、当前登录系统的用户数量平均负载系统负载(任务队列的平均长度)三个值分别为1分钟......
  • 文理分科问题 网络流划分
    文理分科问题网络流划分题目大意全班分科,每位同学分到文科能获得一定满意值,分到理科能获得一定满意值,如果上下左右的同学都被分到同一科也能增加一定的满意值,要求找到最......
  • 为什么我憎恨Linux系统?
    我是一个追求自由的人。是的,遗憾的是,人生来,本质上是没有自由的。可是吧,我问大家一个问题,我把你一辈子关在一个黑屋子里,只有你自己一个人,没有其他事物的陪伴,不让你出去和外界......
  • Linux
    创建用户给alice用户设置密码锁定alice用户查看用户锁定状态解锁用户切换到alice用户宿主目录切换到root用户禁用账户和密码文件查看被锁定文件验证配置文件解锁配置文件将......
  • 【Spring-boot-route(二)读取配置文件的几种方式】
    SpringBoot提供了两种格式的配置文件,分别是​​properties​​​和​​yml​​。SpringBoot最大的特点就是自动化配置,如果我们想修改自动化配置的默认值,就可以通过配置......
  • linux内核源码解析03–启动代码分析之主内核页表创建
    Linux初始化过程页表建立Linux初始化过程,会依次建立如下页表映射:1.恒等映射:页表基地址idmap_pg_dir;2.粗粒度内核镜像映射:页表基地址init_pg_dir;3.fixmap映射:页表基地......
  • HamsterBear Linux 开启GPIO子系统sysfs接口开启
    HamsterBearLinux开启GPIO子系统sysfs接口内核配置Generalsetup中打开内核feature或者直接搜索CONFIG_EXPERT开启gpio子系统sysfs接口Devicedrivers->......
  • .Net(C#)后台发送Get和Post请求的几种方法总结
    1、每次请求使用HttpClient单例privatestaticreadonlyLazy<HttpClient>lazy=newLazy<HttpClient>(()=>newHttpClient());publicstaticHttpClientInstance{......