两个子网间网络互访的原理
之前我介绍过子网,子网掩码,网关等基本概念解析,可以参考:https://blog.niekun.net/archives/1885.html
在不同子网下的设备是不能直接访问的,因为他们在不同的网段内,比如:
- 路由 A 下有子网 192.168.1.0/24
- 路由 B 下有子网 192.168.3.0/24
- 设备 james:192.168.1.10/24 网关:192.168.1.1
- 设备 Johnny:192.168.3.10/24 网关:192.168.3.1
- 两个路由的 wan 网口在同一网段:192.168.2.0/24 下
正常情况下路由 A 下的设备无法访问路由 B 下的设备,因为他们在不同的子网网段下。
路由 A 有两个网段:192.168.1.0 和 192.168.2.0,所以它可以同时看见这两个网段的设备,但是它并不知道 192.168.3.0 这一网段的存在。同样的道理,路由 B 并不知道 192.168.1.0 这一网段的存在。
当你给一个设备添加一个路由表 route table,就可以告诉它有其他网段可以进行访问,同时需要告诉它一个可以访问到这个新网段的网关,这样就可以访问到其他网段了。
例如让路由 A 访问到路由 B 的子网 192.168.3.0 可以通过给路由 A 添加新的路由表来实现,使用 ip route 命令:
ip route add 192.168.3.0/24 via 192.168.2.2
以上命令的意义是添加路由 B 子网的路由表 192.168.3.0/24,网关地址是路由 B 的 wan 地址 192.168.2.2。
因为路由 B 可以访问到两个网络 192.168.2.0 和 192.168.3.0,而路由 A 和路由 B 通过 192.168.2.0 互访,所以通过给路由 A 添加以上路由表然后网关地址为路由 B 和外部通信的地址,这样路由 A 就可以访问到路由 B 的子网了。
现在路由 A 可以访问到路由 B 的子网了,那么路由 A 下的设备如何访问路由 B 的子网设备呢?原理是相同的,可以通过给设备添加路由 B 子网的路由表,然后由于路由 A 已经可以访问 路由 B 子网了,所以将网关地址设置为路由 A 地址即可:
ip route add 192.168.3.0/24 via 192.168.1.1
在路由 A 下的 James 执行以上命令后,就可以访问到路由 B 下的 Johnny 了。
同样的原理,在路由 B 上设置路由表及网关就可以实现子网互访了。
参考链接:
understand the 'ip route' command for cisco routers
标签:无
可以偷看你的手机内容了。