分类: LINUX
2016-01-18 11:25:13
题记:
昨天在修改Linux网络配置时,遇见一个奇怪的情况。
具体情况如下:
windows本机VM8配置:
图1
Linux虚拟机ip配置:
图2
利用上边对应的配置,可以ping 成功的。
疑问点:
在之前,我一直以为我们图2中的GATEWAY的取值,是和图1中的IP地址对应的。
但是,结合图1、图2,很显然,网关不是由图1中的IP 决定的。
既然这样,那么究竟默认网关是在哪儿设置的呢?
进入正题:
为了确定对成功连接外网起作用的是图1还是图2?!我分别采用以下两种方式进行排除。
1、修改图1的IP,修改为192.168.232.5
重新ping , 仍然成功连接外网。
2、把图1的IP改回192.168.232.4,将图2 GATEWAY的值改为192.168.232.5
重启网卡:service network restart
重新ping , 连接外网失败。
为了更具有说服力,继续修改图2 GATEWAY的值,改为192.168.232.3,其它步骤和步骤2相同。
验证结果是,仍然连接外网失败。
那么,从以上排除法中可以确定,对连接外网成功与否起决定作用的应当是图2中GATEWAY的值。
我们可以通过route命令,查看网络配置的默认网关值:
图3
从图3可以看出,默认网关值为232.4
但是,问题接着又来了。为什么默认网关的值就是232.4呢?这个值是在哪儿设定的呢?
事实上,路由器的默认网关值是在下图中位置设定的:
图4
初步猜想:图2中GATEWAY值,和图4网关IP对应。
验证结论:
修改图4中网关IP为232.6,图2中GATEWAY等信息都不变,维持图2原状。
重启网卡:servie network restart
ping ,连接外网失败。
继续修改图4网关IP为232.7,重复刚刚的验证步骤,继续验证,结果仍然是连接外网失败。
从这儿可以基本证明GATEWAY的值,和图4网关IP对应。
为了更具有说服力。
继续验证:
保持如图4网关IP232.4不变,修改图2 GATEWAY值为232.8
重启网络:service network restart
ping ,连接外网失败。
重复刚刚的验证步骤,继续修改图2 GATEWAY值为232.9,结果仍然是连接外网失败。
修改图2 GATEWAY值为最初图2中的值232.4,重启网络,重新验证。结果是连接外网成功。
那么,从这儿我们可以得出结论:
1、路由器的默认网关值就是在图4中设定的。
但是,应当注意的是:
2、因为我们在上述网络连接中用的是NAT,手动连接方式。所以在Linux虚拟机网络配置中,网关具体值仍然以手工指定的网关值优先。
3、我们在NAT、手动连接的情况下,route命令显示的网关值由图2中指定的网关值决定。
4、如果我们在图2中的GATEWAY值和图4中的网关IP不相同的话,我们连接外网就不成功。图2中GATEWAY的值由图4中网关IP决定。
总结:
Linux虚拟机中,NAT,手动连接方式下做网络配置,需要注意一下几个对应原则。
1、如图2中Linux IP配置中的GATEWAY,它的值由图4中网关IP决定。即:图2中GATEWAY 与图4网关IP对应相同。
2、Linux IP网络配置中的网关值由图4网关IP决定,与主机windows中vm8 IP值无关。即:图2中GATEWAY值与图1中IP无关联。
3、图1中IP网段必须和图4中子网IP在同一网段。即:图1 IP网段232与图4 子网IP中网段232对应相同。(具体情况可以结合《Linux 网络配置情况 总体梳理》理解)