Win7+VMware+Ubuntu Server 配置过程

05 Nov 2012

引出

最近要将爬虫部署到集群上,故先在虚拟机上配置好一个系统镜像,再批量安装到集群上

平台环境

  • Windows 7
  • VMware 7
  • Ubuntu Server 12.04
  • JDK 7

Step1

把 Ubuntu Server 12.04 的 iso 镜像安装到虚拟机上

Step2 Network connection

虚拟机提供了4种网络连接方式,下面主要讲解前两种:

  • Bridged
  • NAT
  • Host-only
  • Custom

Bridged 桥接

配置成桥接网络连接模式的虚拟机就当作主机所在以太网的一部分,虚拟系统和宿主机器的关系,就像连接在同一个 Hub 上的两台电脑,可以像主机一样可以访问以太网中的所有共享资源和网络连接,可以直接共享主机网络的互联网接入线路访问互联网。

主机与虚拟机之间,以及各虚拟机之间都可以互访。

对应虚拟机就被当成主机所在以太网上的一个独立物理机来看待,各虚拟机通过默认的 VMnet0 网卡与主机以太网连接,虚拟机间的虚拟网络为 VMnet0 。这时你的虚拟机就像局域网中的一个独立的物理机一样。虚拟机中的操作系统可以 PING 通别的主机,反过来别的主机也可以 PING 虚拟机。想让它们相互通讯,你就需要为虚拟系统配置 IP 地址和子网掩码,否则就无法通信。

NAT

使用 NAT 模式,就是让虚拟系统借助 NAT (网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用 NAT 模式可以实现在虚拟系统里访问互联网。

NAT 模式下的虚拟系统的 TCP/IP 配置信息是由 VMnet8(NAT) 虚拟网络的 DHCP 服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。

采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。

通常使用虚拟机上网就用 NAT 模式就好,简单不用配置。本次我需要用桥接模式,下面具体讲解一下:

Step2-1

在你安装上了虚拟机后要确保你也安装了桥接的协议,在“网络连接”可以看到有两个虚拟出来的网络:VMnet1、VMnet8

Step2-2

在“VMware Network Adapter VMnet1”属性中选择“VMware Bridge Protocol”协议

Step2-3

在虚拟机中的网络适配器(Network Adapter)中选择桥接(Bridged)的方式

到此虚拟机上的一些配置就完成了。下面开始配置 Ubuntu Server:

Step2-4 配置静态 IP 地址

首先在 Ubuntu 中的 /etc/network/interfaces 文件配置静态的 IP 地址,在使用桥接时,要把虚拟机中的 IP 地址配置成和主机在一个网段中,这样也就相当于占用了一个独立的 IP 地址。

1 $ sudo vim /etc/network/interfaces

重新载入设置:

1 $ sudo /etc/init.d/networking restart

Step2-5 配置DNS

打开/etc/resolv.conf

内容是一段警告:说这个文件是 resolvconf 程序动态创建的,不要直接手动编辑,修改将被覆盖。

果不其然,修改后重启就失效了,下面有两个解决方案:

方法一

通过修改:/etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)

在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4

如果有多个DNS就一行一个,修改好保存,然后执行:

1 $ resolvconf -u

再看/etc/resolv.conf,最下面就多了2行:

1 $ cat /etc/resolv.conf
2 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
3 #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
4 nameserver 8.8.8.8
5 nameserver 8.8.4.4

可以看到我们的设置已经加上了,然后再 ping 一个域名,当时就可以解析了,无需重启。

方法二

通过修改 /etc/network/interfaces,在它的最后增加一句:

dns-nameservers 8.8.8.8

8.8.8.8是 Google 提供的 DNS 服务,这里只是举一个例子,你也可以改成电信运营商的 DNS。重启后 DNS 就生效了,这时候再看 /etc/resolv.conf,最下面就多了一行:

1 $ cat /etc/resolv.conf
2 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
3 #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
4 nameserver 8.8.8.8 

>>Ubuntu下修改DNS重启也能用的方法

Step2-6 修改时区(中国上海)

默认安装的时区为美国东部时区EST

1 $ date
2 Mon Dec 10 23:18:16 EST 2012

修改为上海时区:

1 $ sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

重启OK

Fork me on GitHub