综合

vm中ifconfig修改ip地址

时间:2010-12-5 17:23:32  作者:综合   来源:探索  查看:  评论:0
内容摘要:在VMware的虚拟机里敲ifconfig改IP,十有八九会翻车。你以为改完重启就能生效?不,ifconfig命令本身就是临时的——它直接操作内核网络参数,不改任何配置文件。虚拟机一重启,一切回到解放

在VMware的中i址虚拟机里敲ifconfig改IP,十有八九会翻车。中i址你以为改完重启就能生效?中i址不,ifconfig命令本身就是中i址临时的——它直接操作内核网络参数,不改任何配置文件。中i址虚拟机一重启,中i址一切回到解放前。中i址

先说最直接的中i址场景:你正在调试服务,需要临时切换IP段。中i址比如宿主机在192.168.1.0网段,中i址虚拟机要临时跳到192.168.2.0去联调。中i址这时候,中i址sudo ifconfig ens33 192.168.2.100 netmask 255.255.255.0 up,中i址一条命令搞定。中i址注意网卡名别搞错,中i址CentOS 7以后是ens33,老系统才是eth0。输完命令,ip addr确认一下,地址立马生效,连网关都不用动——前提是你只改IP,不涉及路由。

但这里有个坑。很多人改完IP直接ping网关,发现不通。为啥?因为你只改了IP,没改网关。虚拟机的默认网关通常在/etc/sysconfig/network-scripts/ifcfg-ens33里写着,ifconfig根本不碰它。所以,如果你想临时换个网段通信,必须顺手加一条路由:sudo route add default gw 192.168.2.1。否则数据包发不出去,就像你换了新门牌号,但邮递员还按老地址送信。

更麻烦的是,虚拟机网卡经常用NAT模式。NAT模式下,VMware的虚拟网关(通常是192.168.xxx.2)负责地址转换。你手动ifconfig改成别的IP段,虚拟机自己倒是开心了,可宿主机和外部网络根本不知道你换了马甲——NAT只认虚拟网卡原有的MAC地址和DHCP租约。我试过把IP改成和宿主机同网段的静态地址,结果整个虚拟网络直接瘫痪,VMware的DHCP服务开始疯狂报错。最后只能恢复快照。

那什么时候用ifconfig改IP是靠谱的?桥接模式。桥接模式下虚拟机直接连物理网络,你改IP相当于物理机换IP,只要不跟局域网内其他设备冲突,立刻就能用。比如我在公司调试嵌入式板子,板子固定192.168.0.10,虚拟机临时改成192.168.0.11,ping通后直接SSH,完事儿再改回来。这个场景下ifconfig是救命的——不用重启网络服务,不影响正在跑的进程。

说个真实翻车案例。有次我图省事,在NAT模式下用ifconfig把IP从192.168.44.128改成192.168.1.88,想跟宿主机局域网内的打印机通信。改完ping宿主机——通!ping打印机——通!正高兴呢,SSH连接突然断了。原来我改IP的同时,把VMware的虚拟网卡DHCP租约搞乱了,虚拟机自己把自己踢出了NAT网络。重新连上控制台一看,route -n显示默认网关还是192.168.44.2,但IP已经变成192.168.1.88,数据包全往一个不存在的网段发。折腾半小时,最后service network restart才恢复。

所以我的建议是:ifconfig改IP只适合临时调试、且网络拓扑简单的场景。你要是想永久固定IP,老老实实编辑ifcfg-ens33文件,改完systemctl restart network。但如果你非要临时改,记住三件事:第一,确认网卡名;第二,桥接模式下随便浪;第三,NAT模式下改完赶紧检查路由表,发现网关不对立刻route del default再重新加。别问我怎么知道的——每个用ifconfig改过IP的运维,都有一段跟路由表搏斗的血泪史。

最近更新
热门排行
copyright © 2026 powered by 力不从心网   sitemap