上次写了学校登录VPN后访问不了内网, 这段时间一直没有想到解决方法, 昨晚突发奇想想修改默认路由表, 于是就在远程主机操作了一下 , 由于提示default 重复 , 于是很自然的想删除重建, 于是 无脑行为开始了.
1. 当时我看到的路由表是这样的
sudo route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.108.112.1 0.0.0.0 UG 100 0 0 eno1
2. 我无脑的删除了这条记录
sudo route del default
于是 我的ssh 断了…
假设这有个瞠目结舌的表情包
3. 开始想解决方法(我并不知道这个服务器在哪里)
3.1 . 首先想到arp
sudo ARP
==此处已知mac地址==
3.2 . 想到ssh 能否用mac地址来连接
google 发现
有人这样
sudo arp -s 192.168.1.200 00:35:cf:56:b2:2g temp && ssh root@192.168.1.200 使用mac地址ssh
测试后ssh 无动于衷
==失败==
3.3 . 想到用 ipv6 扫描
看了下nmap 支持ipv6 于是 想着扫描, 结果ipv6 是2的64 个扫描域
==失败==
3.4 . Google中发现有 邻居发现协议NDP(救命稻草)
linux 下
sudo ip neigh show
fe80::5639:dfff:fece:e9e7 dev eno1 lladdr 54:39:df:ce:e9:e7 router STALE
发现没有我要的 mac地址
如果这个邻居发现不能广播询问周围的ipv6 伙伴 , 那这个就是无意义的
查看ip neigh 命令
发现有个发现 ip neigh show proxy
执行后什么没什么动静
想到可能会像ipv4 那样广播询问who is xxx
于是wireshark 抓包
过滤条件 ipv6
发现许多邻居返回ICMPVv6的arp包
再过滤
eth.addr == 00:00:5e:00:53:00
发现服务器返回了ipv6 地址
==胜利的曙光已经不远==
4. 最后的最后
ssh 链接上 ipv6 的服务器
添加默认路由表
sudo route add default 10.108.112.1
==完美解决==
5. 参考
- http://www.2cto.com/net/201204/126259.html
- https://www.cellstream.com/intranet/faq/132-neighbor-discovery-nd-table-in-ipv6-windows-machines.html
- https://www.systutorials.com/docs/linux/man/8-ip-neighbour/
- http://www.it165.net/network/html/201309/1183.html
- http://qubaoquan.blog.51cto.com/1246748/292546
- http://www.packetlevel.ch/html/scapy/scapyipv6.html