Linux下NAT模式和桥接模式的网络配置
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下NAT模式和桥接模式的网络配置的更多相关文章
- 1、win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现)
1.win10下连接本地系统上的Linux操作系统(分别以Nat方式和桥接模式实现) 一.准备知识:win10下打开Administrator的方式 在win10操作系统中,Administrator ...
- 关于Linux安装中NAT模式和桥接模式的区别详解
1.一般我们在创建一个Linux虚拟机时候,会面临三个网络配置选择: 桥接模式.nat模式.host-only模式(主机模式,这个模式用得少,就不介绍了) 2.NAT模式: 所谓nat模式,就是虚拟系 ...
- 关于Linux安装中NAT模式和桥接模式的区别详解(转载)
1.一般我们在创建一个Linux虚拟机时候,会面临三个网络配置选择: 桥接模式.nat模式.host-only模式(主机模式,这个模式用得少,就不介绍了) 2.NAT模式: 所谓nat模式,就是虚拟系 ...
- 虚拟机网络连接模式中桥接模式和NAT模式的区别
1.桥接模式:当虚拟机系统的网络连接模式为桥接模式时,相当于在主机系统和虚拟机系统之间连接了一个网桥,而网桥两端的网络都属于同一网络,主机和虚拟机是处于同一网络中的对等主机. 实例,在使用Xshell ...
- VMware虚拟机上网络连接模式bridged(桥接模式)
VMware虚拟机上网络连接模式bridged(桥接模式)的实质就是虚拟机本身利用主机的网卡对外直接作为一个真实的物理主机存在. 也就是理论上此时的虚拟机和主机没什么关系,只是和主机公用了一块网卡,其 ...
- 设计模式GOF23(结构型模式:代理模式,适配模式,桥接模式,组合模式,装饰模式,外观模式,享元模式)
结构型模式: – 分类: • 适配器模式.代理模式.桥接模式.装饰模式.组合模式.外观模式.享元模式 – 核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题. 结构 ...
- [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具
linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...
- Linux下多网卡同网段多IP网络分流设定方法
Linux下多网卡同网段多IP网络分流设定方法 -- :: 标签:Linux下多网卡同网段多IP网络分流设定方法 当服务器需要较高的网络流量时,在其它资源不造成瓶颈的情况下无疑会用到多网卡. 第1选项 ...
- hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)
Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
随机推荐
- A1138. Postorder Traversal
Suppose that all the keys in a binary tree are distinct positive integers. Given the preorder and in ...
- Linux基本命令总结(三)
接上篇: 11,more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上. more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示 ...
- configure - 源代码安装的第一步
configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系 configure有许多参数可配,具体参见./configure --help ...
- 第六篇 - bs4爬取校花网
环境:python3 pycharm 模块:requests bs4 urlretrieve os time 第一步:获取网页源代码 import requests from bs4 imp ...
- 2018.12.21 浪在ACM 集训队第十次测试赛
浪在ACM 集训队第十次测试赛 A Diverse Substring B Vasya and Books C Birthday D LCM A 传送门 题解 B 传送门 题解: 这道题,就比较简单 ...
- Tree Restoration Gym - 101755F (并查集)
There is a tree of n vertices. For each vertex a list of all its successors is known (not only direc ...
- python自动化开发-[第二十三天]-初识爬虫
今日概要: 1.爬汽车之家的新闻资讯 2.爬github和chouti 3.requests和beautifulsoup 4.轮询和长轮询 5.django request.POST和request. ...
- python自动化开发-[第九天]-异常处理、进程
今日概要: 1.异常处理使用 2.进程 3.paramiko模块使用 一.异常处理 1.常见的错误异常 #错误异常一 print(a) #NameError #错误异常二 int('sdadsds') ...
- beeswarm-蜜蜂图
一.beeswarm作为一维散点图包R包,可以生成点不重复的图,与stripchart的区别就是等值点不会重叠到一起,下图展示了stripchart与beeswarm图的区别: stripchart( ...
- ansible基础-playbook剧本的使用
ansible基础-playbook剧本的使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.YAML概述 1>.YAML的诞生 YAML是一个可读性高,用来表达数据序 ...