[转] LINUX 三种网络连接模式
Linux下NAT模式和桥接模式的网络配置
最近在配置linux虚拟机的时候发现有很多坑,现在记录下来以防日后又跳到坑里。
我的运行环境是:主机 windows 7 虚拟机 Virtualbox +centos6.7
一、相关概念
linux虚拟机有三种网络模式,分别是Bridged(桥接模式)、NAT(网络地址转换模式)、Host-only(主机模式)。
1、NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT的功能,通过宿主机所在的网络来访问公网。在这种模式下宿主机成为双网卡主机,同时参与现有的宿主局域网 和新建的虚拟局域网,但由于加设了一个虚拟的NAT服务器,使得虚拟局域网内的虚拟机在对外访问时,使用的则是宿主机的IP地址,这样从外部网络来 看,只能看到宿主机,完全看不到新建的虚拟局域网。
这种情况下虚拟机可以上网可以ping通主机,但是主机ping不通虚拟机。
优点:利用Virtualbox安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,只要宿主机器能访问互联网即可。
2、Bridged(桥接模式)
在这种模式下,Virtualbox虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器,需要手工为虚拟系统配置IP地址、 网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信,虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。从 网 络技术上理解相当于在宿主机前端加设了一个虚拟交换机,然后宿主机和所有虚拟机共享这个交换机。
这种情况下主机和虚拟机可以互相通信,虚拟机也可以上外网。
优点:利用Virtualbox在局域网内新建一个虚拟服务器,为局域网用户提供网络服务。
3、Host-only(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时就可采用host-only模式,在这种模式下宿主机上的所有虚拟机是可以相互通信 的,但虚拟机和真实的网络是被隔离开的。
在这种模式下新建了一个由所有虚拟机与宿主机所构成的局域网,但该局域网与宿主机本身所处的现有局域网是相互独立的,如果不做额外路由设置,这 两个局域网之间不会连通,因此新建的局域网可以认为是一个单独从属于当前宿主机的私有网络,其成员为当前宿主机和相关的所有虚拟机。
从网络技术上讲相当于为宿主机增添了一个虚拟网卡,让宿主机变成一台双网卡主机(宿主网卡+虚拟网卡)。同时在宿主机后端加设一个虚拟交换机,让 宿主机和所有虚拟机构成另一个虚拟的局域网。由于具备双网卡,宿主机可同时参与两个局域网(现有的宿主局域网+新建的虚拟局域网),只不过缺省情 况下两个局域网不连通。
优点:利用Virtualbox创建一个与网内其他机器相隔离的虚拟系统,进行某些特殊的网络调试工作。在
下面介绍分别在NAT模式和桥接模式进行网络配置的详细过程。Host-only的模式我用的不多,所以这里就不介绍啦。
二.NAT模式下的网络配置
1. virtualbox界面下菜单栏: 控制-设置-网络

2.在命令端输入vi /etc/sysconfig/network-scripts/ifcfg-eth0,如下图

3.编辑网络配置文件

4.vi编辑,不会的请自行百度,如下图:


5.输入 service network restart 重启网卡
6.重启后输入:ping www.baidu.com(或其他可以访问的网址),如果出现以下界面说明可以连上外网

7.注意:此处可能出现以下bug
1)在Virtualbox 克隆出来的CentOS Linux情况下,
输入命令ifconfig后,并没有看到eth0。然后重启网卡又报下面错误。
输入命令 :service network restart
故障现象:

2)解决办法:
点击界面右上角网络连接的电脑图案,如图:

然后点击右键,选择connection information

3)输入 vi /etc/udev/rules.d/70-persistent-net.rules

从显示的内容中找到ATTR{address}为08:00:27:97:29:c1也就是与上图中第一个红框的物理地址相符合对应NAME的值,如下图,红框里面本来是NAME=“eth2”,现在将eth2改为eth0

然后将该物理地址复制后,
在命令端输入vi /etc/sysconfig/network-scripts/ifcfg-eth0,替换掉HWADDR对应的值。保存配置。
4)此时再重启网卡,输入service network restart,应该就恢复正常。
三.桥接模式下的网络配置
1. virtualbox界面下菜单栏: 控制-设置-网络

2.在主机中打开cmd命令行,输入ipconfig,查看ip地址,网关等相关信息

3.在虚拟机命令端输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0
手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段。
注意:此处子网掩码NETMASK 和 网关GATEWAY跟主机的保持一致,还要添加2个DNS。

4.输入命令:cat /etc/resolv.conf
如果显示出之前配置的2个DNS地址,则说明主机没有屏蔽ping命令如下图:

否则,就要去检查主机防火墙是否打开,是否屏蔽了ping命令
5.重启网卡,输入service network restart,然后再ping www.baidu.com,如下图:

6. 注意:此处可能出现以下bug
如果在虚拟机出现可以ping通外网和网关,但是主机和虚拟机互相ping不通。解决办法如下:
1)检查主机防火墙是否打开,主机网络是否共享。这里要求防火墙关闭,主机网络共享。以及禁用其他网络。
2)检测linux虚拟机是否开启防火墙,如果已开启,就关闭防火墙或者不用关闭防火墙,输入setup,打开防火墙对应的端口。不会的话请自行查看百度。
3)此处,重启主机网络:找到本地网络,点击右键查看属性,检查是否有桥接的驱动,如果没有,需要安装一个。然后双击TCP/IPv4,
打开后确认是自动获取IP地址(这点很重要)。然后关闭返回上一个界面。将TCP/IPv4选项前面的勾去掉,保存设置。再重新选中打勾,保存。



4)此时,再去测试与主机连接。应该就能够互相ping通。我这边测试就恢 复正常。如果大家测试的时候发现还是不起作用,再根据具体情况分析解决。
[转] LINUX 三种网络连接模式的更多相关文章
- Linux三种网络连接模式
https://www.cnblogs.com/linjiaxin/p/6476480.html 三种模式的区别:https://www.cnblogs.com/itxiaok/p/10358055. ...
- 简单区分VMware的三种网络连接模式(bridged、NAT、host-only)
艺搜简介 VMware在安装时默认安装了两块虚拟网卡,VMnet1和VMnet8,另外还有VMnet0.这些虚拟网卡的配置都是由Vmware虚拟机自动生成的,一般来说不需要用户自行设置. Vmware ...
- VMware虚拟系统 bridged、NAT、host-only三种网络连接模式
目录 前言 bridged(桥接模式) NAT(网络地址转换模式) host-only(仅主机模式) 总结 前言 如果你想利用VMWare安装虚拟机,或想创建一个与网内其他机器相隔离的虚拟系统,进行特 ...
- VMware下三种网络连接模式
VMware下三种网络连接模式 Bridged(桥接模式) 在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问该类网段内任何一台机器. 桥接网络环境下需要做到: 手动 ...
- VMWare中三种网络连接模式的区别
VMWare中有桥接.NAT.host-only三种网络连接模式,在搭建伪分布式集群时,需要对集群的网络连接进行配置,而这一操作的前提是理解这三种网络模式的区别. 参考以下两篇文章可以更好的理解: V ...
- vmware三种网络连接模式区别
vmware有三种网络连接模式分别是 桥接模式 相当于给虚拟机分配了一个和主机同一个子网下的ip,此时该虚拟机相当于同一子网中一台主机,可以访问子网中任意一台主机,也可以访问外网. NAT模式 虚拟机 ...
- linux系统的三种网络连接模式
VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作模式. 1 ...
- VMware下三种网络连接模式介绍
birdged(桥接) 桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,那么物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于 ...
- VMware中Bridged、NAT、host-only三种网络连接模式的原理及其区别
VMnet0:这是VMware用于虚拟桥接网络下的虚拟交换机: VMnet1:这是VMware用于虚拟Host-Only网络下的虚拟交换机: VMnet8:这是VMware用于虚拟NAT网络下的虚拟交 ...
随机推荐
- numpy模块之创建矩阵、矩阵运算
本文参考给妹子讲python https://zhuanlan.zhihu.com/p/34673397 NumPy是Numerical Python的简写,是高性能科学计算和数据分析的基础包,他是 ...
- POJ 1459 网络流 EK算法
题意: 2 1 1 2 (0,1)20 (1,0)10 (0)15 (1)20 2 1 1 2 表示 共有2个节点,生产能量的点1个,消耗能量的点1个, 传递能量的通道2条:(0,1)20 (1,0) ...
- 【P2964】硬币的游戏(DP+前缀和)
一道DP,思维难度真是不小. 首先对于这个题的数据,我们可以发现差不多可以支持n^2logn,但是貌似也不会有这种复杂度的线性DP(至少这个题看上去不是这样).所以我们考虑N^2做法.因为求得是价值和 ...
- java 项目中每个jar包的作用总结
别人的总结 1.Struts2 1)commons-fileupload :2)common-io:文件上传 3)commons-lang:它扩展了标准 java.langAPI ArrayUtils ...
- 初识Django---视图
MTV模型 一.Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象 Template(模板):负责如何把页面展示给用户 View(视图 ...
- (转) Nova是如何统计OpenStack资源
引言 运维的同事常常遇到这么四个问题: Nova 如何统计 OpenStack 计算资源? 为什么 free_ram_mb, free_disk_gb 有时会是负数? 即使 free_ram_mb, ...
- JS中跨域问题
这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...
- hibernate报错org.hibernate.SessionException: Session was already closed
org.hibernate.SessionException: Session was already closedat org.hibernate.internal.SessionImpl.clos ...
- docker安装---CentOS_7
操作系统要求 要安装Docker,您需要64位版本的CentOS 7.步骤: 卸载旧版本 Docker的旧版本被称为docker或docker-engine . 如果这些已安装,请卸载它们以及关联 ...
- 1、C#中Hashtable、Dictionary详解以及写入和读取对比
在本文中将从基础角度讲解HashTable.Dictionary的构造和通过程序进行插入读取对比. 一:HashTable 1.HashTable是一种散列表,他内部维护很多对Key-Value键值对 ...