题记:windows
昨天在修改Linux网络配置时,碰见一个奇怪的状况。网络
具体状况以下:.net
windows本机VM8配置:rest
图1blog
Linux虚拟机ip配置:
ip
图2路由
利用上边对应的配置,能够ping www.baidu.com成功的。get
疑问点:虚拟机
在以前,我一直觉得咱们图2中的GATEWAY的取值,是和图1中的IP地址对应的。配置
可是,结合图一、图2,很显然,网关不是由图1中的IP 决定的。
既然这样,那么究竟默认网关是在哪儿设置的呢?
进入正题:
为了肯定对成功链接外网起做用的是图1仍是图2?!我分别采用如下两种方式进行排除。
一、修改图1的IP,修改成192.168.232.5
从新ping www.baidu.com, 仍然成功链接外网。
二、把图1的IP改回192.168.232.4,将图2 GATEWAY的值改成192.168.232.5
重启网卡:service network restart
从新ping www.baidu.com, 链接外网失败。
为了更具备说服力,继续修改图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 www.baidu.com,链接外网失败。
继续修改图4网关IP为232.7,重复刚刚的验证步骤,继续验证,结果仍然是链接外网失败。
从这儿能够基本证实GATEWAY的值,和图4网关IP对应。
为了更具备说服力。
继续验证:
保持如图4网关IP232.4不变,修改图2 GATEWAY值为232.8
重启网络:service network restart
ping www.baidu.com,链接外网失败。
重复刚刚的验证步骤,继续修改图2 GATEWAY值为232.9,结果仍然是链接外网失败。
修改图2 GATEWAY值为最初图2中的值232.4,重启网络,从新验证。结果是链接外网成功。
那么,从这儿咱们能够得出结论:
一、路由器的默认网关值就是在图4中设定的。
可是,应当注意的是:
二、由于咱们在上述网络链接中用的是NAT,手动链接方式。因此在Linux虚拟机网络配置中,网关具体值仍然以手工指定的网关值优先。
三、咱们在NAT、手动链接的状况下,route命令显示的网关值由图2中指定的网关值决定。
四、若是咱们在图2中的GATEWAY值和图4中的网关IP不相同的话,咱们链接外网就不成功。图2中GATEWAY的值由图4中网关IP决定。
总结:
Linux虚拟机中,NAT,手动链接方式下作网络配置,须要注意一下几个对应原则。
一、如图2中Linux IP配置中的GATEWAY,它的值由图4中网关IP决定。即:图2中GATEWAY 与图4网关IP对应相同。
二、Linux IP网络配置中的网关值由图4网关IP决定,与主机windows中vm8 IP值无关。即:图2中GATEWAY值与图1中IP无关联。
三、图1中IP网段必须和图4中子网IP在同一网段。即:图1 IP网段232与图4 子网IP中网段232对应相同。(具体状况能够结合《Linux 网络配置状况 整体梳理》理解)