[实践OK]Vmware6.0在重装系统后出现通过重启网卡用DHCP不会变IP上不了外网的怪异解决办法。

jackxiang 2013-10-5 01:56 | |
复盘:就是DHCP的网关IP和DNS要找对,且DHCP服务是启动且是好的,防火墙不拦截也就能上网了。
I:IP配置网
1 编辑 > 虚拟网络编辑器
2 选中NAT模式的网卡(我的是VMnet8),点击 “NAT设置” 按钮
3 查出 子网IP,子网掩码和 网关IP
查出 子网IP,子网掩码和 网关IP 后接下来就好办了。

二、配置虚拟机 网络配置文件,重启网卡
1 进入 /etc/sysconfig/network-scripts
2 vim ifcfg-ens32,修改配置如下:
BOOTPROTO="none"  #DHCP去掉
ONBOOT="yes"
IPADDR="192.168.153.22"
PREFIX="24"
GATEWAY="192.168.153.2"
DNS1="192.168.153.2"
3. 退出 vim 编辑,重启网卡:
service network restart

systemctl restart network
DNS1设置后会启动网络后会自动配置DNS解析文件:
cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.153.2

II:DHCP服务网:
开始---设置--控制面板---管理工具---服务(运行:services.msc)
确保 VMware DHCPService 和VMware NAT Service 服务已经启动
启动之后重新在虚拟机中连接网络(一般是eth0)
DHCP service for virtual networks.
C:\WINDOWS\SysWOW64\vmnetdhcp.exe
Network address translation for virtual networks.
C:\WINDOWS\SysWOW64\vmnat.exe
启动类型:自动。


上网dig和ifconfig这个命令分别在:
yum install bind-utils net-tools -y

dig jackxiang.com @192.168.153.2 #成功解析。


预告:最后我安装了盗版的VMware8,升级了一下(会提示你卸载旧版本),也就没有下面一堆的乱七八糟的问题了,但那个192.168.137.1还是由那个注册表修改下,NAT方式Linux也就能上网了。
背景:重装系统后,配置Vmware后有可能里面的Linux无法上网。尽管IP一样的,但是就他妈的上不了外网,给升级Rpm包带来困难,路由如下:
root@192.168.137.128:~# traceroute baidu.com
traceroute to baidu.com (220.181.111.86), 30 hops max, 60 byte packets
1  192.168.137.2 (192.168.137.2)  0.348 ms  0.307 ms  0.295 ms
2  * * *
3  * * *
4  * * *
修改后是这样的:
root@192.168.137.128:~# traceroute baidu.com
traceroute to baidu.com (220.181.111.86), 30 hops max, 60 byte packets
1  192.168.137.1 (192.168.137.1)  0.188 ms * *
2  * * *
3  * * *
。。。。。。
29  * * *
30  * * *
也就是说还是没明确的路由,但Ping是通的,Curl是通的,能获取到数据就是Ok。

......
Is this ok [y/N]: y
Downloading Packages:
traceroute-2.0.14-2.el6.x86_64.rpm    
......
Running Transaction
  Installing : 3:traceroute-2.0.14-2.el6.x86_64    
  Verifying  : 3:traceroute-2.0.14-2.el6.x86_64    
Installed:
  traceroute.x86_64 3:2.0.14-2.el6      
Complete!
________________________________________________________________________________________________________
防火墙是要开启的,否则在共享时会返回null的问题:
1.services.msc
2.找到:Windows Firewall,启动类型:自动,启动:让服务状态为已启动。
——网上其实很多方法,都不行,我想可能是Vmware6.0和其下面的虚拟机的一个重装后的小Bug—————
解决办法:【第8条才是关键,特别注意。】
0)删除:修改 /etc/udev/rules.d/70-persistent-net.rules 文件
删除掉 关于 eth0 的信息。修改 第二条 eth1 的网卡的名字为 eth0. 重启服务器。
http://jackxiang.com/post/5651/
1)移动:下ifcfg-eth0到ifcfg-eth0.bak
2)关闭:ifconfig eth0 down
3)启动:ifconfig eth0 up
4)  重置:/etc/init.d/network reload
5)还原:ifcfg-eth0.bak -》ifcfg-eth0
6)重启:service network restart
7)把services.msc里的Vmware服务都全开了。
8)一系列都做了通过service network restart还是不能获取到新的DHC ip段:
VMware下->Edit->Virtue Network Settings...->DHCP->选 Vmware8(properties)->Start IP address(这块由:192.168.137.128修改最后一位:129),也就再service network restart 获取到129了,再修改回去就成(我估计这里之所以修改128成129是因为DHCP有缓存:192.168.157.128终于变为:192.168.137.128),呵呵,不容易,不知vmware的高版本有没有这个问题。
9)有时间win7要修改成:192.168.137.128 才能上网,而前面默认就是128,你得修改下vmware下的linux才能变IP第三位(由129变到128),而你修改的是最后一位128到129,于是你想还回去,可就又不行了,这也是vmware6.0的问题,这样就Ok了:
你再修改为更低:如:192.168.137.120 (128),再修改下注册表到另外的IP(192.168.138.0),再启动Vmware进行修改到:192.168.138.128。为此,你再关闭后修改注册表改回:192.168.137.0,启动vmware还回去(192.168.137.128)就可以了。
其实以上所有操作都是为了能让vmware下的linux能够获取到正确且能上网的ip:192.168.137.128。这个128是由dhcp确定的,必须修改,但修改后又有可能上不了外网。(这点也是奇怪的),也就只能这样折腾了,vmware6.0害人呐,呵呵。

最后,这个Vmware6.0下的虚拟Linux也就可以上网更新rpm了,NAT的Vmware6.0生成的Vmware8的访问类型:无法连接到Internet(其实也能访问),再就是防火墙要打开,否则共享会出现null的提示。
vi /etc/sysconfig/network-scripts/ifcfg-eth0  



vi /etc/resolv.conf //DHCP自动配置的
search localdomain          
nameserver 192.168.137.2    
而在tracerount时是192.168.137.1,前面配置Ok的就是这样的。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/6714/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2020-6-11 14:53
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]