简单介绍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

Linux几种网络模式介绍的更多相关文章

  1. VMware 虚拟机三种网络模式详解

    一.前言 Vmware 为我们提供了三种网络工作模式,分别是:Bridged(桥接模式).NAT(网络地址转换模式).Host-only(仅主机模式). 二.VMware 的几个常见虚拟设备 打开 V ...

  2. Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT、桥接和Host-only]

    Windows和linux虚拟机之间联网实现SSH远程连接以及VMware的3种网络模式[NAT.桥接和Host-only] 作者:天齐 一.Windows和linux虚拟机之间联网实现SSH远程连接 ...

  3. [转] LINUX 三种网络连接模式

     Linux下NAT模式和桥接模式的网络配置 最近在配置linux虚拟机的时候发现有很多坑,现在记录下来以防日后又跳到坑里. 我的运行环境是:主机 windows 7  虚拟机 Virtualbox ...

  4. Docker的4种网络模式详细介绍

    docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: bridge模式:使用–net =bridge指定: host模式:使用–net = ...

  5. Docker的4种网络模式

    我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络模式,Docker有以下4种网络模式: · host模式,使用--net=host指定. · container ...

  6. VMware网络模式介绍(下篇)

    VMware网络模式介绍 VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式). Bridged 模式: 在桥接模式下,VMwa ...

  7. VMware网络模式介绍

    VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式). Bridged 模式: 在桥接模式下,VMware虚拟机里的系统就像是  ...

  8. Docker网络模式介绍

    一.概述 docker的网络驱动有很多种方式,按照docker官网给出的网络解决方案就有6种,分别是:bridge.host.overlay.macvlan.none.Network plugins, ...

  9. Docker 四种网络模式

    原文 https://www.cnblogs.com/gispathfinder/p/5871043.html 我们在使用docker run创建Docker容器时,可以用--net选项指定容器的网络 ...

  10. [转载] 虚拟机3种网络模式(NAT, Host-only, Bridged)

    实例讲解虚拟机3种网络模式(桥接.nat.Host-only) 转载自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html ...

随机推荐

  1. mysql网上知识

    MySQL学习笔记 登录和退出MySQL服务器 # 登录MySQL $ mysql -u root -p12345612 # 退出MySQL数据库服务器 exit; 基本语法 -- 显示所有数据库 s ...

  2. 第一百零六篇:变量的不同声明(var,let和const的不同)

    好家伙,JS基础接着学, 本篇内容为<JS高级程序设计>第三章学习笔记 1.变量 ECMAScript 变量是松散类型的,意思是变量可以用于保存任何类型的数据. (确实松散,不像C或C++ ...

  3. Vue3 企业级优雅实战 - 组件库框架 - 3 搭建组件库开发环境

    前文已经初始化了 workspace-root,从本文开始就需要依次搭建组件库.example.文档.cli.本文内容是搭建 组件库的开发环境. 1 packages 目录 前面在项目根目录下创建了 ...

  4. 嵌入式-C语言基础:字符串结束标识符

    #include<stdio.h> int main() { char cdata[]={'h','e','l','l','o'}; char cdata2[]="hello&q ...

  5. 嵌入式-C语言基础:数组得初始化

    #include<stdio.h> int main() { int a[10]; int size=sizeof(a)/sizeof(a[0]);//计算数组得大小 for(int i= ...

  6. ThinkPhp5 自定义异常处理类

    在项目的开发过程中异常抛出尤为重要不仅能够做出友好提示帮助掩盖我们伟大的程序员们尴尬的瞬间,还能做到提示开发人员代码白编写的错误,下面进行自定义异常抛出类,纯属个人理解,希望大家指正 首先在框架中我们 ...

  7. CSP 记

    csp 开考建好文件夹编译器不能用搞了半天换了台电脑 四道题看完一个小时过去了 第一题不会正解写了部分分还有点悬 第二题写暴力因为一个小错误调了半天 看时间不多了已经有点慌了 也没想正解直接开了下一题 ...

  8. qtCreator警告解决

    警告 qtCreator Warning: QT_DEVICE_PIXEL_RATIO is deprecated. Instead use: QT_AUTO_SCREEN_SCALE_FACTOR ...

  9. C#关于委托的一些事,开发日志

    ----- 委托是什么------ 其实委托事件很好理解,就当成是c语言中的函数指针或者是回调函数,或者说换种理解方式,信号和槽?触发器和接收器?总之就是一个地方调用了这个函数,那么在另一个地方也会调 ...

  10. 周结之json补充、正则re模块、hashlib模块、logging模块

    周结 目录 周结 json补充 正则表达式 re模块 第三方模块的下载 request模块 办公自动化openpyxl模块 hashlib加密模块 subprocess模块 logging日志模块 j ...