ip地址网段和网关地址可以不在同一个网段吗?
背景
工作中经常接触配置ip地址,发现网关的设置总是同网段的第一个或者第二个ip地址,于是就有一个疑问,ip地址的网段和网关地址的网段是否可以不在同一网段,百度搜索答案,有说不可以的,有说可以的,还有高傲的认为这么简单的问题就不要发出来问的。如此,便只能自己实践了。
搞个实验环境
说明:一个路由器接了两台笔记本,期望结果:PC5可以ping通PC6
开机后直接ping, 发现ping不通,这是什么情况呢
原因分析
-
对路由器连接PC6的接口ge0/0/1 进行抓包,发现端口根本没有收到任何包
-
对路由器连接PC5的接口ge0/0/0 进行抓包,这个端口先收到ARP包获取MAC地址,然后收到ICMP包做了连通确认,但是ICMP包没有响应(no response found),因为我们对ge0/0/1进行了抓包,发现没有收到任何端口包,说明路由器ge0/0/0端口并没有把包给到ge0/0/1。 (此刻我猜测是因为路由器没有到192.168.20.1/24的路由,所以端口ge0/0/0收到包后根本不知道要给哪个端口发送,配置路由应该能解决)
-
我想看一下PC6 ping 一下网关192.168.30.1 ,看是否能ping通,于是对ge0/0/1进行抓包,然后再PC6上执行ping 192.168.30.1 命令。发现也是ping不通,抓包情况显示,ARP包能发送到ge0/0/1 口 ,但是收不到回复的包。原因是路由器能接收到PC6的包,但是想给PC6回复信息的时候发现,不知道从哪个端口出(再一次印证我的猜测,路由器没有到192.168.20.1/24的路由)
-
查看路由器的路由表,发现有到10网段的路由,30网段的路由,但是没有到20网段的路由,有30/10网段的路由是因为我给路由器ge0/0/0,ge0/0/1 两个端口设置了这两个ip,所以路由表自动添加了到这两个网段的路由
-
添加一条20网段的路由,通过ge0/0/1端口走,发现此时PC5可以ping通PC6了
其他
在PC测的arp 缓存消失之后,就再也ping不通了,无法获得路由器的MAC地址,搞不懂为什么不能动态获取了,手动添加一条arp表项之后(arp -s 网关id 网关mac),可以正常ping通
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理