事情起因:
本来已经很久没有用到过模拟器了,这天突发奇想想拿出来玩玩,也是看看有没有什么需要更新的部分,打开模拟器后随便搭了个简单的拓扑想找找以前刚学习时候的感觉,结果上来就翻车了.......
搭了个静态路由的小实验,实验拓扑如下
是吧,非常之简单的拓扑图,学习过的小伙伴们一眼就能看出只需要在路由器R1和R2之间用到静态路由就可以使pc1和pc2通信
然后就是各个设备配置IP地址这种简单的操作了
路由器R1配置示例
<Huawei>sys
[Huawei]sysname R1
[R1]int GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[R1-GigabitEthernet0/0/0]int e0/0/0
[R1-Ethernet0/0/0]ip address 1.1.1.2 24
路由器R2配置示例
<Huawei>sys
[Huawei]sysname R2
[R2]int GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.1.1.2 24
[R2-GigabitEthernet0/0/0]int e0/0/0
[R2-Ethernet0/0/0]ip address 1.1.2.2 24
PC1的IP地址配置
PC2的IP地址配置
做完这些,基本上实验的条件就已经搭建好了,现在正式开始静态路由的实验
实验之前我们可以看到此时的路由表中只有直连路由,直连路由由接口自动获取,只要接口配置了IP地址后就会生成
在R1路由器上添加静态路由
参考命令
[R1]ip route-static 1.1.2.1 24 10.1.1.2
可以看到路由表中已经出现了我们所添加的静态路由表项,而此时只完成了路由的发送表项,对端R2路由器也需要写一条返程的静态路由,R2实例如下
可以看到,两个路由器此时已经有了对方网段的路由条目,此时使用pc1去访问pc2的地址理论上是可以通信的,但此时,我翻车了......
可以看到pc1访问pc2失败
我以为是路由写错了,于是重新查看了两台路由器的路由表,并没有发现啥不对劲的地方,于是通过路由器R1直接访问pc2的地址
在这一刻,我开始怀疑我的专业性了,我仔细的思考了一下,为什么在有路由表项的情况下,路由不通,很明显pc和路由器之间的线路是连通度,端口是开启的,地址的正确的,路由条目是有的....
那为什么不通????????
细心的小伙伴可能已经发现了,谜底就在谜面上
我忽略了一个很重要的东西,我们都知道,IP跨网段通信时,需要将数据包交给网关,由网关进行IP选路和转发,那如果没有网关是否能够通信呢?在某些特定的情况下是可以的,比如两台pc在同一交换机下,并且IP地址是同一段地址,此时交换机会根据mac地址表项进行二层转发.很明显拓扑中是情况是跨网段通信.但是两台pc都没有设置网关地址.于是加上网关地址后,实验成功.