• Linux网络配置:Nat和桥接模式详解


     Linux网络配置:Nat和桥接模式详解

    一、我们首先说一下VMware的几个虚拟设备:

    1. Centos虚拟网络编辑器中的虚拟交换机

                

                VMnet0:用于虚拟桥接网络下的虚拟交换机;

                VMnet1:用于虚拟Host-Only网络下的虚拟交换机;

                VMnet8:用于虚拟NAT网络下的虚拟交换机。

     

      2.宿主主机的虚拟网卡(安装了VMware虚拟机后,会在网络连接对话框中多出的两个虚拟网卡)

            

             VMware NetworkAdepter VMnet1:Host用于与Host-Only虚拟网络进行通信的虚拟网卡;

             VMware NetworkAdepter VMnet8:Host用于与NAT虚拟网络进行通信的虚拟网卡。

     

    二、Nat技术原理

    • NAT:对IP数据报文中的IP地址进行转换,是一种在现网中被广泛部署的技术,一般部署在网络出口设备,例如路由器或防火墙上。
    • NAT的典型应用场景:在私有网络内部(园区、家庭)使用私有地址,出口设备部署NAT,对于“从内到外"的流量,网络设备通过NAT将数据包的源地址进行转换(转换成特定的公有地址),而对于“从外到内的"流量,则对数据包的目的地址进行转换。
    • 通过私有地址的使用结合NAT技术,可以有效节约公网 IPV4地址。

       

       注:数据包1→2出去的时候把源地址换成了出接口的公网地址了,所以回来的时候目的地址就找到出接口那个公网地址了。但在在真实网络环境中公网设备是没有私网的路由的,但是在虚拟机里面不同,都是私网地址,可能它们互相都有彼此的路由记录!

     

    三、Linux网卡配置DHCP,在Nat网络模式下:

    Centos虚拟网络编辑器中VMnet8的Nat设置DHCP自动获取IP,宿主主机网络适配器的VMnat8的IPV4也是自动获取IP。

    Linux网卡配置DHCP:

     

     

     

    这时Linux中Nat网卡的IP、虚拟网络编辑器中Nat的IP和宿主主机网络适配器的VMnat8的IP(在cmd用ifconfig查看)在同一个网段。

    ① 测试环境在只有一个Nat网卡(ifconfig时只有一个Nat网卡),没有桥接的网卡下,虚拟机和宿主主机(Windows主机)可以相互ping通!

    ② 当同时存在Nat网卡和桥接网卡时,虚拟机不能ping通宿主主机(丢包100%),宿主主机可以ping虚拟机!而在断开桥接的网络连接,关掉桥接网卡和Nat网卡,重启Nat网卡时,虚拟机和宿主主机(Windows主机)可以相互ping通!(①)

     

     

     

    四、Linux网卡配置DHCP,在桥接网络模式下:

    Centos虚拟网络编辑器中VMnet0的桥接设置自动桥接,宿主主机不需要桥接的虚拟网络适配器(同一个网段)。

    Linux的桥接网卡配置DHCP(同上)!

     

     

     

     

    桥接模式下Linux相当于在一个宿主主机局域网内创立了一个单独的主机,他可以访问这个局域网内的所有的主机,可以手动来配置IP地址,子网掩码。或者配置DHCP,虚拟机是和真实主机在同一个网段(Nat是两个网段),这个模式里,虚拟机和宿主机可以互相 ping通。

     

    五、三种模式网络拓扑图

    以下内容借鉴博客https://www.cnblogs.com/zejin2008/p/5935934.html,十分感谢!

    补充说明

    0.vmnet0,vmnet1,vmnet8都是vmware虚拟出来的交换机,当然还有虚拟hdcp服务器没画出来,但不妨碍我们理解。

    1.host A为你的宿主机,host B、hostC、hostN为你同一网络下的其它主机

    2.vm bridge、vm host_only、vm nat为主机host A上虚拟出来的机器

    3.vm bridge虚拟机选择网桥模式,vm host_only虚拟机选择host-only模式,vm nat虚拟机选择nat模式

     

    有了如上拓扑结构,可以很容易推断出:

    A.在bridge模式下,hostA、hostB、hostC、hostN、vm bridge这几台机器都能相互访问和上网。并且他们的网段相同。

    B.在host-only模式下,hostA与vm host_only能相互访问,但是vm host_only不能上网,vm host_only这台虚拟机与除hostA外的其它主机都不能相互通信。

    C.在nat模式下,hostA与vm nat能相互访问,vm nat也能通过virtual net路由器进行上网,可以访问到hostB hostC hostN机器,但是hostB hostC hostN不能访问到vm nat这台虚拟机。

  • 相关阅读:
    高级开发要会高效Java
    搭建Android自动化python+appium环境
    SpringBoot实例类-@Data
    SQL中的单行注释,多行注释
    SV-线程的使用与控制
    计算机毕业设计Java景区在线购票系统(源码+系统+mysql数据库+lw文档)
    笔试题/面试题——数组去重--9种方法
    Linux 基本语句_8_C语言_文件控制
    JAVA String API即StringBuilderAPI
    学系统集成项目管理工程师(中项)系列28_后记
  • 原文地址:https://www.cnblogs.com/imagine-xw/p/16083847.html