更多信息

更多信息

TL;DR 我有两个路由器和一个交换机,并且已将80两个路由器上的端口转发到交换机,但取决于哪个路由器为交换机提供其 IP,它会将其作为其默认网关,而我无法通过另一个路由器访问它。

我觉得我需要 NAT 或 Mangle 或路由规则?

我尝试将另一个路由器添加为默认网关,突然间端口转发可以通过该路由器工作,但现在它在第一个路由器上不起作用。

我看过使用两个路由器进行端口转发但是解决方案真的是创建 VRRP10.0.19.3/24并手动访问所有服务器,并将其设置为其默认网关吗?

更多信息

我可以看到防火墙规则增加了数据包数量,所以我知道我遇到了这些数据包,而且我可以监听交换机上的数据包,发现它正在接收流量,但没有发送任何回信。可能是因为缺少路由,它不知道将数据包发送到哪里?

详细设置

网络图

路由器 A1.2.3.4在 eth1 (WAN) 上有一个公共 IP,并在桥上与其余 8 个端口(7 个 Ge,1 个 SFP)组成桥接网络10.0.19.1/24。它为 运行 DHCP 服务器10.0.19.32/27

路由器 B5.6.7.8在 eth1 (WAN) 上有一个公共 IP,并在桥上与其余 8 个端口(7 个 Ge,1 个 SFP)组成桥接网络10.0.19.2/24。它为 运行 DHCP 服务器10.0.19.64/27

ether9路由器通过 SFP+ 电缆连接。

交换机连接到ether2两个路由器,并具有10.0.19.20/24来自路由器 A 的静态 IP。它还有一个动态 IP 10.0.19.90/24。(在绑定路由器和交换机上的接口并在路由器 B 上添加静态 IP 后,此问题应该会消失。)

当我检查交换机上的路由时,它

DST-Address   Gateway
0.0.0.0/0     10.0.19.2
10.0.19.0/24  bridge

我在两个路由器上的传入端口添加了 dstnat 规则,80并带有操作dstnat、到10.0.19.20和端口。80

当我访问时,http://1.2.3.4什么也没有得到。当我访问时,http://5.6.7.8我得到了切换 UI。

现在,当我在交换机上手动添加路由时。

DST-Address   Gateway
0.0.0.0/0     10.0.19.1

行为发生了变化,当我访问时,http://1.2.3.4我得到了切换 UI。当我访问时,http://5.6.7.8我什么也没有得到。

显然这也不是我想要的。但现在我知道我可以影响“开关知道要响应谁”。

理想情况下,它会响应请求的来源,而不管默认网关是什么。

我尝试srcnat使用路由器 DHCP 范围或整个10.0.19.0/24网络作为源地址和操作来创建规则masquerade,但它并没有改变任何东西。

arp交换机上的表显示了两个路由器及其各自的 IP 和 MAC 。

其他事情

硬件是两个RB5009UG+S+IN路由器和一个CRS354-48P-4S+2Q+RM交换机。

我已经配置了 VRRP vIP 9.10.11.12。我将在一些服务器上使用它,这些服务器将位于两个路由器后面,因此我需要两个路由器都能够正确地来回转发流量。

我尝试过谷歌搜索很多内容,但是我能找到的所有“一个网络上的两个路由器/网关”和“端口转发”线程都是关于将它们菊花链连接到不同的子网,但实际上我在同一个网络上有两个路由器和 dhcp 服务器。

此外,这不是一个网络上可以有多个 DHCP 服务器吗?

我并不怀疑是否可以在同一个网络上拥有两个 DHCP 服务器。我有。我怀疑如何配置两者的下游路由。

谢谢。

答案1

正如@HBruijn所建议的,我遗漏了..

源 NAT(使用明确的 SNAT 映射到路由器内部 IP 或自动使用 MASQUERADE 规则)。

我的问题是我没有正确配置destination address

在 Mikrotiks RouterOS 上,规则如下所示(您可以使用任一项..):

chain=srcnat action=masquerade to-addresses=10.0.19.0/24 protocol=tcp dst-address=10.0.19.0/24

chain=srcnat action=src-nat to-addresses=10.0.19.1 protocol=tcp dst-address=10.0.19.0/24

10.0.19.1如果您选择-action,则应该在哪里更新第二个路由器src-nat

相关内容