我有以下网络设置:
我向一位经验丰富的网络工程师同事展示了这个设置,他说我当前的设置不是最佳的。
经过反复讨论,我们终于找到了问题的根源(我认为):
当家庭网络的客户端向“服务器”网络发出请求时,响应不是来自原始路由器(ASUS),而是来自 TP-Link 网关路由器。
他说这是因为路由路径的度量(即跳过了华硕路由器)。
现在我可以理解这显然会产生一些问题,而且我确实有一些事情不要工作起来就像我无法使用来自服务器网络的 IP 从“家庭”网络进行跟踪路由(例如,traceroute 10.0.0.100
2 次跳后“挂起”)。
此外,从家庭网络到服务器网络的 ping 操作不断显示“重定向主机(新地址:某物)”。
然而我可以从家庭网络访问(没有问题)暴露的 Web 服务器(即10.0.0.100:9090
在家庭网络上的浏览器中访问有效)
示例输出 traceroute/ping
traceroute/ping [服务器] ---> [主页]:有效
$ traceroute 192.168.0.153
traceroute to 192.168.0.153 (192.168.0.153), 64 hops max, 52 byte packets
1 10.0.0.1 (10.0.0.1) 1.939 ms 0.876 ms 0.782 ms
2 192.168.0.1 (192.168.0.1) 1.529 ms 1.473 ms 1.343 ms
3 192.168.0.153 (192.168.0.153) 48.924 ms 4.720 ms 4.706 ms
$ ping 192.168.0.153
PING 192.168.0.153 (192.168.0.153): 56 data bytes
64 bytes from 192.168.0.153: icmp_seq=0 ttl=62 time=33.799 ms
64 bytes from 192.168.0.153: icmp_seq=1 ttl=62 time=52.068 ms
64 bytes from 192.168.0.153: icmp_seq=2 ttl=62 time=71.773 ms
64 bytes from 192.168.0.153: icmp_seq=3 ttl=62 time=92.071 ms
^C
traceroute/ping [home] ---> [server]:有问题
$ traceroute 10.0.0.100
traceroute to 10.0.0.100 (10.0.0.100), 64 hops max, 52 byte packets
1 rt-ax89x-fb80 (192.168.0.1) 2.688 ms 1.131 ms 0.952 ms
2 192.168.0.67 (192.168.0.67) 2.493 ms 1.880 ms 1.994 ms
3 * * *
4 * * *
5 * * * [and so on ...]
$ ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100): 56 data bytes
Request timeout for icmp_seq 0
92 bytes from rt-ax89x-fb80 (192.168.0.1): Redirect Host(New addr: 192.168.0.67)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 fd53 0 0000 3f 01 b2b0 192.168.0.153 10.0.0.100
Request timeout for icmp_seq 1
92 bytes from rt-ax89x-fb80 (192.168.0.1): Redirect Host(New addr: 192.168.0.67)
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 0054 c4a2 0 0000 3f 01 eb61 192.168.0.153 10.0.0.100
^C
现在这不是一个“问题”,因为我正在寻找一个完整的解决方案 - 我的同事已经向我展示了一种我将要实施的更好的设置方法(棍棒上的路由器)。
然而,我想把这当作一次学习练习,并尝试了解到底出了什么问题以及如何解决这个问题。
我一直尝试从两端(服务器和家庭)使用 Wireshark 查看流量,但这并没有真正帮助我。
我的具体问题是:
• 为什么我的网络会出现这种情况?
• 如何使用图中的拓扑结构使其工作?/ 我需要进行哪些更改才能使用我现有的设备使其工作。
为了完整性:
TP-Link网关路由器是ER605。
华硕路由器是RT-AX89X。
如果有人想知道我为什么一开始就选择这种设置,那是因为我不想触及我们家庭网络中已经存在的任何东西。我基本上想用另一个路由器 (ER605)“添加”我的服务器网络。我不打算让我的家庭和服务器网络使用同一个子网。
附加信息(根据要求)
路由表“服务器”(10.0.0.100):
$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 10.0.0.1 UGScg bridge1
10/24 link#32 UCS bridge1 !
10.0.0.1/32 link#32 UCS bridge1 !
10.0.0.1 30.de.4b.5d.67.66 UHLWIir bridge1 1185
10.0.0.100/32 link#32 UCS bridge1 !
10.0.0.100 48.65.ee.12.e8.c5 UHLWI lo0
10.0.0.255 ff.ff.ff.ff.ff.ff UHLWbI bridge1 !
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#32 UCS bridge1 !
224.0.0/4 link#32 UmCS bridge1 !
255.255.255.255/32 link#32 UCS bridge1 !
路由表“华硕路由器”(192.168.0.1):
(exported via web interface)
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.99.1 0.0.0.0 UG 0 0 0 eth3
1.1.1.1 192.168.99.1 255.255.255.255 UGH 0 0 0 eth3
8.8.8.8 192.168.99.1 255.255.255.255 UGH 0 0 0 eth3
10.0.0.0 192.168.0.67 255.255.255.0 UG 0 0 0 br0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
192.168.99.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth3
路由表“TP-Link 网关”(192.168.0.67/10.0.0.1):
Unable to extract (yet)
路由表“客户端”(192.168.0.153):
$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Netif Expire
default 192.168.0.1 UGScg en0
127 127.0.0.1 UCS lo0
127.0.0.1 127.0.0.1 UH lo0
169.254 link#5 UCS en0 !
192.168.0 link#5 UCS en0 !
192.168.0.1/32 link#5 UCS en0 !
192.168.0.1 f0:2f:74:c4:fb:85 UHLWIir en0 1167
192.168.0.31 ba:74:92:62:d5:89 UHLWIi en0 1179
192.168.0.46 ce:d5:3e:13:3e:47 UHLWI en0 1187
192.168.0.153/32 link#5 UCS en0 !
224.0.0/4 link#5 UmCS en0 !
224.0.0.251 1:0:5e:0:0:fb UHmLWI en0
255.255.255.255/32 link#5 UCS en0 !
答案1
ping
根据拓扑和信息,路由本身似乎没有问题,因为 10.0.0.100 是可访问的。/traceroute
失败的可能原因是 10.0.0.100 配置为丢弃 ICMP 数据包(这两个工具都依赖于 ICMP 回显)。
华硕路由器被指定为 192.168.0.0/24 网络的网关。然而,在此拓扑中,它仅充当 192.168.0.0/24 网络和互联网之间的路由器。它与 10.0.0.0/24 网络之间的流量在 TP-Link 中进行交换和路由。
虽然这种设置没有什么问题,但它不必要地复杂。华硕路由器是一款普通的现成 SoHo Wi-Fi 路由器,而 TP-Link 是一款功能更强大的设备。我实现这一点的方法是:
- 将 TP-Link 配置为两个内部网络的默认网关
- 删除现在多余的 ASUS WAN 链接
然后,TP-link 将执行 LAN 段之间以及 LAN 和 WAN 之间的所有路由。它还可以为 10.0.0.0/24 网络提供 DHCP 服务。
ASUS 将充当 LAN 交换机和 Wi-Fi AP。它还可以为 192.168.0.0/24 网络提供 DHCP 服务。
由于 TP-Link 支持 VLAN,我理想情况下会将其配置为两个子网的 DHCP 服务器。不幸的是,模拟器根本不显示 DHCP,并且手动的没有提到每个 VLAN DHCP,所以我只能假设它只有一个可用池。