【OS_Linux】Linux中虚拟机的三种上网方式——桥接、NAT、Host-only
1.桥接
桥接方便做实验,配置ip方便。可以和局域网中的其他机器进行通信,也可以和公网进行通信。缺点是会占用主机所在局域网的一个ip。
2. NAT
NAT模式下虚拟机可以和主机进行通信,可以上网,而且不占用局域网的IP,但是不能和其他机器进行通信。(使用虚拟网卡8)
配置虚拟机NAT模式上网
2.1 虚拟机NAT模式上网的原理
当我们安装了VMware Workstation软件后就会为主机提供一块虚拟网卡VMware Network Adapter VMnet8,这块虚拟网卡是为了在NAT模式下主机连通虚拟机使用的。同时Vmware为主机提供DHCP服务和NAT服务,即虚拟的DHCP服务器和NAT服务器各一台,DHCP服务器为各虚拟机分配ip地址,NAT服务器将虚拟机对外网的访问转换成主机对外网的访问。
【注意】
⑴宿主主机的虚拟网卡VMnet8与其物理网卡是相互独立的,通过IP可以看出二者并不在同一网段, VMnet8仅用作主机连通虚拟机,虚拟机连接主机依然是通过虚拟NAT服务器完成的,而非Vmnet8。将虚拟网卡VMnet8禁用后不影响虚拟机访问外网和宿主主机,但是主机却不能连通虚拟机。
⑵虚拟NAT服务器相当于一个路由器的作用,将各虚拟机对外网的请求转换为主机对外网的请求,NAT服务器的ip地址就是各虚拟机的网关。一般来讲网关就是一台机器所连路由器的ip地址。
2.2 虚拟机配置NAT模式上网的步骤
step1 打开vmware,点击“编辑”下的“虚拟网络编辑器”,进行NAT和DHCP设置。由于主机和虚拟机是靠VMnet8通信的,因此虚拟机和VMnet8应该属于同一个子网,即子网ip相同。由主机下的ipconfig命令可得知VMnet8的子网ip
以上图为例,可得知VMnet8的子网ip为192.168.128.0。据此进行NAT设置
最后点击确定即完成了NAT设置。
step2 在虚拟机的设置里面为虚拟机添加“网络适配器”,并选择NAT模式上网
step3 修改网卡配置文件,命令为:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
以下是虚拟网卡VMnet8的子网IP为192.168.128.0时的一个配置示例:
DEVICE=eth0
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.128.10
NETMASK=255.255.255.0
GATEWAY=192.168.128.2
DNS1=114.114.114.114
【注意】
⑴BOOTPROTO可设置为static或dhcp,当为static时表明该虚拟机采用IPADDR所指定的静态IP,永远不会改变(推荐)。若BOOTPROTO设置为dhcp即动态获取IP, 此时IPADDR也是可以设置的,只不过仅能设置为DHCP所规定的的地址段。
⑵设置IP地址时需注意,IP地址都是有网络地址(网段)和主机号两部分共同组成的,任意一网段下的主机号不能全为0或全为1,主机号全0表示网络地址,全1是广播地址。由NETMASK可知该网络为C类IP段,即IP最后一段表示主机号,所以最后一段不能为0或255。
编辑完成后:wq命令保存退出,如下命令重启网络服务:service network restart
用ping命令检查主机是否可以连通虚拟机,以及虚拟机是否可以ping通外网。
3.Host-only
当设置为Host-only上网时,虚拟机只能和主机进行通信,不可以上网。也不可以和其他机器进行通信。(即主机使用VMnet1与虚拟机通信)
【OS_Linux】Linux中虚拟机的三种上网方式——桥接、NAT、Host-only的更多相关文章
- Linux 双线策略路由的三种实现方式总结+端口映射
Linux 双线策略路由的三种实现方式总结+端口映射 Linux 双线策略路由的三种实现方式总结+端口映射 网络环境 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.168. ...
- linux中vim编辑器三种模式及常用命令的使用
Linux命令经常使用才会烂熟于心 命令行模式: 移动光标: 向下左右箭头可以移动光标: 将光标移动到行尾:$; 将光标移动到行头:^: 将光标移动到页尾:shift+g; 将光标移动到页头:1+sh ...
- Linux下SVN的三种备份方式
原文链接:http://blog.csdn.net/windone0109/article/details/4040772 (本文例子基于FreeBSD/Linux实现,windows环境请自己做出相 ...
- iOS中正则表达式的三种使用方式
1.利用NSPredicate(谓词)匹配 例如匹配有效邮箱: NSString *email = @“nijino_saki@163.com”: NSString *regex = @"[ ...
- java中线程的三种实现方式
一下记录下线程的3中实现方式:Thread,Runnable,Callable 不需要返回值时,建议使用Runnable:有返回值时建议使用Callable 代码如下所示: package com.f ...
- Golang中map的三种声明方式和简单实现增删改查
package main import ( "fmt" ) func main() { test3 := map[string]string{ "one": & ...
- VMware三种连接方式bridge, nat, host-only
大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和 VMnet8,其他的未安装(当然也可以手动安装其他的).其中VMnet1是host网卡,用于host方式连接网络的.VMnet8是NAT网 ...
- linux中文件的三种time(atime,mtime,ctime)
linux下文件有3个时间的,分别是atime,mtime,ctime.有些博友对这3个时间还是比较迷茫和困惑的,我整理了下,写下来希望对博友们有所帮助. 1 这三个time的含义 简名 全名 中文名 ...
- SpringMVC中HandlerMapping的三种配置方式
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE beans PUBLIC "-/ ...
随机推荐
- sed 匹配\n换行符
假设 str="a,b,c,d" echo ${str} | sed "s/,/\n/g" 输出: a b c d echo ${str} | sed &quo ...
- 【NOIP模拟】序列
[问题描述] 一个序列被称为有趣的序列是它的所有的子串拥有一个唯一的整数(这个整数在整个序列中只出现过一次).给你一个序列的整数, 问你它是否是有趣的. [输入格式] 第一行 T, 表示数据组数.接下 ...
- JSP | 基础 | 中文字符的传递
设置传递格式: request.setCharacterEncoding("utf-8"); 中文字符解码: import java.net.URLDecoder; String ...
- java数据结构----队列,优先级队列
1.队列:和栈中的情况不同,队列中的数据项不总是从数组下标0开始,移除一个数据项后,队头指针会指向下标较高的数据项,其特点:先入先出 2.图解 3.队列的实现代码: 3.1.Queue.java pa ...
- [软件工程基础]2017.10.30 第三次 Scrum 会议
决议 游心与李煦通沟通生成报告脚本问题,并调试相应代码 李煦通部署服务器,并做一定安全检查 石奇川设计实验流程和题库前端页面 王嘉睿爵测试网站基本流程,提出关于用户体验方面的建议 刘子渊阅读代码,为机 ...
- light OJ 1282 - Leading and Trailing 数学 || double技巧
http://lightoj.com/volume_showproblem.php?problem=1282 #include <cstdio> #include <cstdlib& ...
- Code First约定-数据注释
通过实体框架Code First,可以使用您自己的域类表示 EF 执行查询.更改跟踪和更新函数所依赖的模型.Code First 利用称为“约定先于配置”的编程模式.这就是说,Code First 将 ...
- mysql 定时任务和存储过程
mysql 定时任务和存储过程 最近在做日志系统,中间用到了 mysql, 其中有一个要求: 把数据库中 7天之后的日志清除了.看到 mysql 也支持 定时任务.于是就用 mysql 来做了.下面就 ...
- react-native入门学习( 一 )
开发环境配置 因为个人电脑是windows7环境,所以在选择安装react-native 环境的时候是用的 windows+androidreact-native中文网文档地址 https://re ...
- 关于Pre-bound JDBC Connection found! HibernateTransactionManager does not 异常小结
昨天帮女朋友配置ssh框架的多数据源, 本以为对此已经很熟悉,配置完其他的错倒是还能接受,调了一下就好了. 唯独 Pre-bound JDBC Connection found! Hibernate ...