我注意到路由表有很多我不明白的条目。
路线表为:
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.0.254 UGSc 28 0 en1
10.8.0.1/32 10.8.0.5 UGSc 1 2 tun0
10.8.0.5 10.8.0.6 UH 2 3 tun0
127 localhost UCS 0 284 lo0
localhost localhost UH 10 3663 lo0
169.254 link#5 UCS 0 0 en1
192.168.0 link#5 UCS 4 0 en1
192.168.0.25 localhost UHS 0 0 lo0
192.168.100 10.8.0.5 UGSc 0 7 tun0
我相信这条路线说的是:
- 192.168.100.* 中的所有流量都应路由到 10.8.0.5(!?)
- 所有到 10.8.0.5 的流量都应路由到 10.8.0.6(!?)
- 所有到 10.8.0.1/32 的流量都应路由到 10.8.0.5(!?)
为什么192.168.100不去10.8.0.1,而是去10.8.0.5,然后从5到6,然后我猜1/32应该匹配6,好像有一个循环。
我无法 ping 10.8.0.5,但我认为那是我在 vnetwork 上的 ip。我无法 ping 10.8.0.6,但我认为那是被屏蔽的,我得到了一些输出“过滤器禁止通信”
ifconfig 显示:
tun0: flags=8851<UP,POINTOPOINT,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 10.8.0.6 --> 10.8.0.5 netmask 0xffffffff
open (pid 1307)
而且又是 6 -> 5!
注意:从这里开始只是具体内容,以防您需要更多信息来了解路线。
我的设置是: - 笔记本电脑在本地网络(192.168.0..)上,带有路由器(192.168.0.254) - 通过网络(10.8.0...)上的虚拟路由器(10.8.0.1)连接到网络(192.168.100...)上,带有路由器(192.168.100.1) - 192.168.100.200 是远程网络上的服务器
现在,当我“traceroute 192.168.100.200”时,我期望
10.8.0.1(另一端的 VPN 路由器) 192.168.100.1(另一端物理网络上的路由器) 192.168.100.200(主机已到达。)
相反,我只得到一串无尽的*
这与这个问题,但我找不到答案,所以谢谢!
答案1
您读取的路线信息只是部分正确。
tun0 是用于 VPN 的虚拟接口,它使用(用于其自身内部目的)从 10.8.0.6(VPNGW 您这边)到 10.8.0.5(VPNGW 远程那边)的点对点链接。这与“ifconfig tun0”告诉您的内容相同。您不应直接访问这两个地址。
因此,通过 GW 10.8.0.5 路由的任何流量都将进入 VPN 隧道(通过接口 tun0),并在另一端退出 VPN 隧道(当然,假设 VPN 隧道已建立并正常运行,由 pid 1307 运行的 VPN 进程)。
10.8.0.1/32 10.8.0.5 UGSc 1 2 tun0
这意味着发送到主机 10.8.0.1 (/32) 的任何内容都是跨域路由表示法,意思是“仅此一个主机”)将通过 10.8.0.5 的网关进行路由(也就是说,它将进入 VPN 隧道)。
因此,当您 ping 10.8.0.1 时,只有 VPN 隧道正常工作时,它才会工作。这就是它在这里的原因(这样您就可以验证隧道是否正常工作,即使另一端的计算机都没有启动)。
192.168.100 10.8.0.5 UGSc 0 7 tun0
与上文相同,但针对的是整个 C 类网络 192.168.100.*(在 CIDR 中也可以写成“192.168.100.0/24”,而不是更短的“192.168.100”)。这是您设置隧道的主要目的 - 因此您可以通过 VPN 在远程端访问此地址范围。
10.8.0.5 10.8.0.6 UH 2 3 tun0
这一项您搞错了,请注意标志“UH” - 缺少“G”表示这是直接连接的点对点链路,而不是您可以路由数据的网关。因此,这并不意味着 10.8.0.5 的流量将通过 10.8.0.6 发送,而只是意味着 10.8.0.5 在使用 tun0 接口的这台计算机(其 IP 为 10.8.0.6)上是直接可见的。
为什么192.168.100不去10.8.0.1,而是去10.8.0.5,然后从5到6,然后我猜1/32应该匹配6,好像有一个循环。
希望以上信息可以消除这些误解。
我无法 ping 10.8.0.5,但我认为那是我在 vnetwork 上的 ip。我无法 ping 10.8.0.6,但我认为那是被屏蔽的,我得到了一些输出“过滤器禁止通信”
是的,这两个地址由 tun0 接口内部使用,您不应该关心它们(除非您在网络之间运行流量分析器等) - 它们不会像常规地址那样工作。