我对网络还只是个新手,所以如果有什么显而易见的事情我应该知道,请见谅。要把整个情况都说出来有点困难,但目前的情况是:
- 我有两个 ISP。其中一个将 ONU 配置为桥接器并连接到我使用的路由器。
- 我们将其称为 ISP1,它不在 CGNAT 后面。我无法配置 ONU,但路由器完全属于我。
- 另一家 ISP,ISP2 位于 CGNAT 后面。因此,他们的 ONU 目前配置为路由器,该配置受到限制,因为它已被提供商锁定。
- ISP1 有 192.168.1.0/24,ISP2 有 10.0.0.0/24。由于 ISP1 不在 CGNAT 后面,所以我的服务器连接到它。我的服务器正在运行 unRAID,托管我的 NAS、Web 服务器、Plex、游戏服务器和 pihole。
因此,我希望让 ISP2 网络下的设备能够看到 ISP1 网络上的服务器,以便使用 NAS,如果可能的话,还可以使用 pihole。如果可能的话,此配置的网络拓扑是什么?如果有帮助的话,我有一台非托管交换机。我不介意更改任何路由器上的 IP 范围。
答案1
至少有两种选择:
将子网合并为一个
可以将华硕路由器配置为 ISP2 子网中的第二个网关。然后 ISP1 子网将消失,所有主机将位于同一个 10.0.0.0/24 子网中,所有主机都使用 ISP2 的网关除了那些手动配置为使用华硕路由器作为网关的设备。由于本地子网通信根本不涉及网关,因此尽管被告知使用不同的网关,主机仍可以自由地直接相互通信。
(多个网关不冲突——多个DHCP 服务器做。)
去做这个:
禁用华硕路由器上的“DHCP 服务器”。如果路由器支持 UPnP,请确保也禁用该功能。
将华硕路由器的 LAN 接口配置为具有 ISP2 路由器范围内的地址。
直接连接两个路由器的 LAN(通过交换机也算“直接”)。
在需要使用ISP1的服务器上手动设置IP地址。
如果他们被告知使用华硕路由器作为“默认网关”,那么他们将使用 ISP1;如果他们通过 DHCP 获取地址/网关,那么他们将使用 ISP2。
不要忘记相应地调整华硕路由器上的“端口转发”规则。
保持两个独立的子网
有了两个路由器,如果一其中支持多个网络(例如,能够将其中一个端口专用于第二个 LAN)。TUF-AX5400 的硬件肯定能够做到这一点,因此遗憾的是固件没有公开此类功能。
因此你需要第三个路由器,能连接到多个网络。如果您的一台服务器至少有两个以太网端口(或一个用于新 NIC 的空闲 PCI Express 插槽),那么它就可以工作。
无法在其中一个 ISP 路由器上配置静态路由也是一件令人遗憾的事,尤其是当它位于需要启动连接的“客户端”一侧时(如果它位于被访问的一侧,问题会稍微少一些)。如果您无法在 ISP2 的路由器上配置正确的路由,则必须在每台计算机上单独配置。
去做这个:
使用其分离以太网端口。
(非管理型交换机仅在现有路由器之一没有可用端口时才有用,但它将不是如果新的服务器(即将成为路由器)只有一个以太网端口,则在这种情况下您需要一个支持 VLAN 的托管交换机。)
为两个接口配置适当的 IP 地址。(它需要一个稳定的每个接口的 IP 地址 – 如果 ISP 路由器能够正确记住在重启后要发出什么租约,则使用 DHCP 是可以的,否则最好使用手动 IP 地址。)
如果尚未启用,请在服务器操作系统中启用“IP 转发”。对于 Linux,可以通过 sysctl 完成:
net.ipv4.conf.all.forwarding = 1 net.ipv4.conf.default.forwarding = 1 net.ipv6.conf.all.forwarding = 1 net.ipv6.conf.default.forwarding = 1
通过服务器作为“网关”,为对方网络配置每侧的路由。例如,ISP2 侧的计算机需要通过 10.0.0.x(服务器在面向 ISP2 的 NIC 上具有的地址)路由到 192.168.1.0/24。