最近在学习大数据,在学习的时候碰到了一个问题就是给CentOS虚拟机配置静态IP后,就无法访问网络了,这个问题纠结了我好长时间,现在终于找到解决方法了,赶紧记录下来,以备以后查询。注: 我这里说的方法适用于CentOS6版本
第一步:在网络连接下有VMnet1和VMnet8两个连接,其中VMnet1是本地模式,VMnet8是NAT模式(也就是网络模式),如下图所示
第二步:以管理员的身份运行VMware软件,在桌面VMware快捷图标上右键,选择“以管理员身份运行”,如下图所示。
第三步:VMware开启后,我们点击头部菜单中的“编辑”,在下拉菜单中点击“虚拟网络编辑器(N)...”,如下图所示。
第四步:点击上图的"虚拟网络编辑器(N)...”之后,我们会看到如下图所示的界面,我们先点击VMnet8那一行,然后把下面“使用本地DHCP服务将IP地址分配给虚拟机(D)”前面的勾选状态变为未勾选状态。初始状态VMnet8的子网IP不是这个地址的,我们参考VMnet1的IP,也以192.168开头,至于第三个,这里我使用的是156,第四个则是0(注意:下图的配置刚开始是最好是初始配置,如果你曾经乱配过,可能会有问题,如果想要恢复到初始化配置,则点击"还原默认设置(R)"按钮来恢复初始化的配置,然后重新开始),然后我们点击"NAT 设置(S)..."
我们点击上图的“NAT 设置(S)...”按钮后,会弹出如下图所示的界面,我们把网关IP(G)修改为"192.168.156.2",这个IP在后面的配置中会用到。记下这个IP后,点击“确定”按钮关闭当前界面,然后点击上图的“确定”按钮关闭父界面。
第五步:确认要启动的虚拟机的网络适配器类型是"NAT"模式,如下图所示。
当然,如果你的虚拟机当前不是“NAT”模式,那么需要点击“网络适配器”,会弹出如下图所示的界面,我们在右侧选择"NAT 模式(N):用于共享主机的IP地址",然后点击确定。
第六步:启动CentOS虚拟机,启动后,我们需要修改一个文件。每个文件修改完毕后,先按ESC,然后按Shift+连续两次Z保存退出(注意:下面<!-- 注释内容-->是为了说明写的,配置的时候不要写)
文件一:/etc/sysconfig/network-scripts/ifcfg-eth0
[root@itcast06 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static" <!--将原来的dhcp改成"static"-->
HWADDR="00:0C:29:83:7F:54"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes" <!--这儿要将"no"改成"yes"-->
TYPE="Ethernet"
UUID="aae85c0a-42db-4772-b940-0fc9c875afd2"
IPADDR=192.168.156.60 <!--IP地址大家配一个自己想要配的地址,但是必须是同VMnet8的子网IP在同一网段-->
GATEWAY=192.168.156.2 <!--网关,这个值与我们在第四步“NAT(设置S)...”设置的网关一样-->
NETMASK=255.255.255.0 <!--子网掩码-->
DNS1=192.168.156.2 <!--DNS的值也跟我们第四步“NAT(设置)...”设置的的网关一样-->
配置完毕之后,重启网卡
service network restart
这里需要说明一点的是,下面这个文件我们可以修改一下主机名,不用做其它多余配置
[root@itcast06 Desktop]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=itcast06
如果修改了主机名的话,还需要在/etc/hosts文件做IP与主机名的对应关系(不好意思,以前这儿写的与上面不一致了)
[root@itcast06 Desktop]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.156.60 itcast06
第七步:重启虚拟机
重启虚拟机所用的命令是reboot。
第八步:检查我们配置的虚拟机IP是否生效,是否能ping的通百度,Windows和虚拟机能否互相通信。
首先检查虚拟机的IP是否生效,如下图所示,发现已经是我们配置的IP地址了。
[root@itcast06 Desktop]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:0A:DF:B6
inet addr:192.168.156.60 Bcast:192.168.156.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe0a:dfb6/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:348 errors:0 dropped:0 overruns:0 frame:0
TX packets:214 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:30868 (30.1 KiB) TX bytes:17769 (17.3 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:960 (960.0 b) TX bytes:960 (960.0 b)
[root@itcast06 Desktop]#
接着我们检查是否能ping的通www.baidu.com,如下图所示,发现确实可以ping通。
[root@itcast06 Desktop]# ping www.baidu.com
PING www.a.shifen.com (220.181.111.188) 56(84) bytes of data.
64 bytes from 220.181.111.188: icmp_seq=1 ttl=128 time=76.0 ms
64 bytes from 220.181.111.188: icmp_seq=2 ttl=128 time=7.05 ms
64 bytes from 220.181.111.188: icmp_seq=3 ttl=128 time=7.57 ms
^C
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2946ms
rtt min/avg/max/mdev = 7.050/30.212/76.011/32.385 ms
[root@itcast06 Desktop]#
最后我们再检查虚拟机和Windows能否互相通信,发现Windows可以ping通虚拟机,如下图所示。
C:\Users\wanghaijie>ping 192.168.156.60
正在 Ping 192.168.156.60 具有 32 字节的数据:
来自 192.168.156.60 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.156.60 的回复: 字节=32 时间<1ms TTL=64
来自 192.168.156.60 的回复: 字节=32 时间=1ms TTL=64
来自 192.168.156.60 的回复: 字节=32 时间=4ms TTL=64
192.168.156.60 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 0ms,最长 = 4ms,平均 = 1ms
C:\Users\wanghaijie>
在从虚拟机ping Windows的IP前,先看看VMnet8的IP地址是多少,如下图所示,发现VMnet8现在的IP地址是192.168.156.100
VMnet8的IP地址是我自己配的,如下图所示,大家也可以配其它的IP,不过前192.168.156要一样,第四位可以自己定。
因此我们从虚拟机要ping Windows的话,需要ping 192.168.156.100,如下图所示,发现可以ping通!
[root@itcast06 Desktop]# ping 192.168.156.100
PING 192.168.156.100 (192.168.156.100) 56(84) bytes of data.
64 bytes from 192.168.156.100: icmp_seq=1 ttl=64 time=0.218 ms
64 bytes from 192.168.156.100: icmp_seq=2 ttl=64 time=0.587 ms
64 bytes from 192.168.156.100: icmp_seq=3 ttl=64 time=0.399 ms
64 bytes from 192.168.156.100: icmp_seq=4 ttl=64 time=0.605 ms
^C
--- 192.168.156.100 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3247ms
rtt min/avg/max/mdev = 0.218/0.452/0.605/0.158 ms
[root@itcast06 Desktop]#