转载于 http://blog.163.com/wjn_mcu/blog/static/23801601620146161062704/

背景

在虚拟机下运行操作系统,尤其是Linux系统已经是非常常见的做法。有时你想在虚拟机下搭建一个(模拟)服务器来供主机访问,比如搭建一个telnet/ssh。此时你会发现,每次启动虚拟机,VMWare为虚拟机系统分配一个动态IP,这样每次去连接虚拟机的telnet时很不方便。如果设成静态IP就好了。

VMnet8和NAT

如果你的虚拟机是以NAT方式连入互联网的话,那么虚拟机的IP地址非配,网关以及互联网访问权限均由VMWare提供的叫做VMnet8虚拟网卡所提供。所以一切和设置静态IP有关的设置都可以从这里找到。通VMnet8虚拟网卡,主机可以访问虚拟机的IP,虚拟机可以连入主机的互联网连接连入外网。

确认VMnet8虚拟网卡已启用

在默认情况下,VMWare Workstation已经启用VMnet8虚拟网卡,Windows 7下,通过进入 控制面板>网络和Internet>网络和共享中心>更改适配器设置 可以查看该虚拟网卡的状态。如图1-1所示。

图1-1

得到可用IP范围、网关和子网掩码

在VMWare主界面,点击Edit>Virtual Network Editor菜单进入虚拟网卡参数设置界面(图1-2)。选择VMnet8条目,点击NAT Settings按钮后可以看到我们的VMWare Workstation为NAT连接的虚拟机设定的默认网关,此处为192.168.91.2,以及子网掩码,此处为255.255.255.0, 如图1-3所示。

图1-2

图1-3

点击DHCP Settings按钮,可以看到VMnet8为虚拟机分配的可用的子网IP范围,如图1-4所示。

图1-4

此处,我们的子网IP可用范围为192.168.91.128~192.168.91.254

OK,至此,所有我们需要的信息都已经获取到,这里汇总一下,

- 子网IP可用范围:192.168.91.128~192.168.91.254

- 子网掩码:255.255.255.0

- 网关: 192.168.91.2

下面开始进入Ubuntu虚拟机设置静态IP。

在Ubuntu 12.04.1中设置静态IP

1. 启动虚拟机Ubuntu系统,打开终端,利用如下命令打开并编辑网络接口配置文件:

sudo vi /etc/network/interfaces

2. 编辑文件如下:

auto lo
iface lo inet loopback # Assgin static IP by eric on 26-SEP-2012
iface eth0 inet static
address 192.168.91.200 #change to your static IP
netmask 255.255.255.0 #change to your netmask
gateway 192.168.91.2 #change to your getway
#We must specify dns-nameserver here
#in order to get internet access from host
dns-nameservers 192.168.91.2
auto eth0

说明

address是你要分配给你虚拟机的静态IP地址,可以从刚才我们找到的可用的子网IP范围中随便选择一个放在此处。

netmask是子网掩码

gateway是网关

注意:在相对较早的版本中,你需要设置/etc下的resolv.conf文件,并加入nameserver,这样才可以连接互联网。但在Ubuntu 12.04之后,已经不推荐这种方式了,因为无论你想该配置文件中设置什么值,重新启动之后都会被还原为初始状态。推荐的做法是直接在interfaces配置文件中加入dns-nameserver <网关IP>这一行。

3. 重启ubuntu的网卡

sudo /etc/init.d/networking restart

4. ping测试互联网连通性

ping www.baidu.com

如果ping有响应,那么恭喜你,你已经成功将虚拟机设置为静态IP,并且也已连入互联网。

 注意:如果这样子还解决不了,就要看看你的VMware中的相关程序有没有运行,打开任务管理器,接着打开 “服务” 那个选项,在那个页面的最下方有个“打开服务的选项”,打开,接着找到被停用的VMware的相关程序,手动运行就行了,如果想设置成开机启动,也可以右击鼠标,点击该程序的“属性”的那个选项,找到“启动类型”,自己设置就行了

最新文章

  1. VS2013发布网站,vs2013发布
  2. Android 学习笔记之WebService实现远程调用+内部原理分析...
  3. Unity 协程与线程
  4. Objective-C:Foundation框架-常用类-NSObject
  5. 用K2 smartforms开发一个应用程序究竟比ASP.NET快多少?
  6. JAVA 关于Icon,Image,ImageIcon的简单的对比参考 分类: Java Game 2014-08-14 17:08 210人阅读 评论(0) 收藏
  7. Sudoku Solver
  8. 【和我一起学Python吧】Python3.0与2.X版本的区别
  9. [2017BUAA软工助教]第0次个人作业
  10. Send Email in .NET Core 2.0
  11. io调度策略noop的理解
  12. Mysql根据指定字段的int值查出在当前列表的排名
  13. JavaScript中的私有成员[翻译]
  14. MySQL死锁分析一例
  15. PE就是市盈率的缩写 PB是平均市净率的缩写
  16. Fraunhofer音频技术为MPEG未来高品质3D音频内容传输的标准依据
  17. [administrative][CentOS] 新装系统时如何正确精准的选择基础环境和软件包
  18. jQuery 版本选择与常见插件库总结
  19. 读EntityFramework.DynamicFilters源码_心得_单元测试03
  20. 让Eclipse的TomcatPlugin支持Tomcat 8.x

热门文章

  1. php实现:当未登录时转到登陆页面
  2. 在DBGrid中,按ctrl+Delete不让删除,怎么实现
  3. Oracle 无备份情况下的恢复--临时文件/在线重做日志/ORA-00205
  4. Web前端学习书籍
  5. win server2012r2上发布网站常见错误 &quot;HTTP 错误 500.19 请求的页面的相关配置数据无效&quot; 解决办法
  6. springmvc请求参数获取(自动绑定)的几种方法
  7. 【深度学习笔记】第 2 课:Logistic 多项式回归法
  8. 数组被遗忘的内置对象--》Array.find()
  9. HTML5 plus 报错 Uncaught SyntaxError: Unexpected identifier at XXXX.html:1
  10. ucloud自动创建instance