|
路由内网口和外网口同一个网段, 为什么终端能上网?
为什么我们又不推荐呢?
来看一个案例。
路由的WAN口, DHCP动态获取地址上网方式。 WAN从上一级路由获取了192.168.1.105的地址。子网掩码是255.255.255.0
内网口, LAN, 使用了默认地址192.168.1.1。 子网掩码也是255.255.255.0. 路由内网口开启DHCP服务器, 下发的DNS指向114.114.114.114(假定没有指向路由本身,后面会详述)
妥妥的冲突。
但下挂的终端竟然能上网?
来看看路由表:
可以看到默认网关是192.168.1.254
而LAN口的直连路由的跃点数是0, WAN口的直连路由的跃点数是1, 因此内网口LAN口直连路由的优先级比WAN口的高。 当从外网发来的包, 寻找到192.168.1.0/24子网的路由时, 会优先使用内网口LAN的直连路由。 所以, 从外网回来的包能正常发到内网终端。
那内网终端发到外网或者访问互联网的数据包为啥又能从WAN口出去呢?
当数据包的目的IP为互联网IP地址, 路由转发引擎查会查路由表, 但并无可用的直连路由, 那只能用外网口WAN的默认路由, 其默认网关是192.168.1.254, 其出接口是WAN口, 于是数据包被【快递】到WAN口, 经由WAN口发到互联网。
所以, 去往互联网的数据包能正常转发。
而内网的DHCP服务器下发的DNS指向公网的DNS服务器114.114.114.114, 内网终端的DNS也能正常解析。
所以内网终端能够正常上网。 一切都显得完美。
此时是不是可以高呼, 从此再也不怕同网段冲突了?
且慢。
我们先来看一个可能的DNS解析不了的问题。
再来看另一个上网不了的可能性。
如果外网口WAN口是配置的固定IP上网(配置192.168.1.105/255.255.255.0)。 我们来看会发生什么。
在系统重启时, LAN和WAN口会谁先初始化? 谁先, 谁的直连路由就优先。 假定WAN口先初始化, 那WAN口的192.168.1.0/24的直连路由优先, 那外网往内网的数据包就会再从WAN口发出, 也就是说无法正常转发到内网。
再来看第三种情况。
当路由当做二级路由(比如某公司的某部门的二级路由, 连接到公司内网), 二级路由的WAN口和LAN口同一网段, 那会导致二级路由下面的终端无法正常访问一级路由的终端。
因此, 莫急着欢呼, 内网网段和外网网段还是不要冲突为好。
|
|