使用两个非对称上行链路

使用两个非对称上行链路

我当前的网络拓扑是:

网络拓扑结构

事实上防火墙(我用 OPNsense 和 IPFire 进行了测试,但我愿意接受进一步的建议)和整个“ORANGE/DMZ”东西实际上是物理 LXD 服务器中的虚拟机/容器,不应该受到影响(但我当然可能是错的)。

我当前的设置(使用 IPFire ATM)功能齐全,它仅用于ISP_B 通讯。

我可以轻松切换使用ISP_A,而且它同样可以正常工作(当然有浮动 IP 限制)。

我尝试使用两者,但都失败了。

目标是:

  1. 用于ISP_A源自GREEN/LAN和 的所有传出流量ORANGE/DMZ
  2. 将所有网络流量(端口 80、81 和 443)重定向webserverORANGE/DMZ 并允许适当答复
  3. 将其他几个端口(非标准,但本质上是运动ssh/git 协议)重定向userverORANGE/DMZ 允许适当的反应
  4. 如果可能的话,我还希望能够ISP_B在发生故障时用于所有流量ISP_A,但我怀疑这是另一个问题。

我的尝试彻底失败了,因为如果我将来自的default gateway数据 包设置为经过NAT 处理,然后正确发送并重定向到(到目前为止一切顺利),但回复却发送到从未见过原始数据包的目的地,因此它无法预测将其发送到哪里,只能将其丢弃。ISP_AISP_BFirewallwebserverFirewallISP_A

我遗漏了一些东西,但我不明白是什么。

注 1:两个调制解调器/路由器均设置为防火墙的“DMZ 模式”(即完全端口重定向)(192.168.1.9)。

注 2:上面的分析是在 下进行的IPFire,但OPNsense行为类似。

注3:如果可能的话,我想了解在这种情况下应该做什么,而不仅仅是“如何解决”。

如果认为有用,我准备提供任何所需的信息,包括完整的配置。

更新:

以下是我从安装 OPNsense 到现在所做的所有操作的日志。

最后一部分(端口重定向)似乎不能正常工作,即使规则被触发并记录(见下文)。

OPNsense 设置日志

  • 在控制台上以 root 身份登录
  • 为所有三个网络设置设备:
    • 广域网:
      • 第二台设备(vtnet1)
      • 固定IP(192.168.1.9/24)
      • 默认网关(192.168.1.1)
      • 没有 DHCP 服务器
    • 局域网:
      • 第一个设备(vtnet0)
      • 固定IP(192.168.7.9/24)
      • 没有默认网关
      • 没有 DHCP 服务器(我们稍后会启用它)
    • 选择1:
      • 第三个设备(vtnet2)
      • 固定IP(192.168.9.9/24)
      • 没有默认网关
      • 没有 DHCP 服务器
  • 从 LAN 访问互联网应该可以按预期进行(例如:从cinderella)。
  • 从 OPT1 访问互联网(例如:从webserver才不是工作;DNS解析才不是也可以工作。
  • 打开 OPNsense 管理页面(https://192.168.7.9
  • 以 root/opnsense 身份登录
  • 按照安装向导更改root密码。
  • 功能不应该发生改变。
  • 启用 OPT1/DMZ 访问互联网:
    • 接口 -> [OPT1]
      • 勾选“防止删除接口”
      • “描述” -> DMZ
      • “IPv6 配置类型”->无
      • [Save][Apply changes]
    • 防火墙 -> 规则 -> DMZ:
      • 添加新规则[+]
      • “来源” ->DMZ net
      • “类别” ->dmz
      • “描述” ->Allow DMZ to access Internet
      • [Save][Apply changes]
  • 从 OPT1/DMZ 访问互联网(例如:从webserver作品;DNS 解析也有效
  • 所有主机(LAN+DMZ)都应使用默认网关(192.168.1.1)进行连接。
  • 保存配置至config-OPNsense.condarelli.it-01.xml
  • 添加第二个网关:
    • 系统 -> 网关 -> 单一
      • WAN_GW(活动)-> 编辑
        • “优先级” ->10
        • [Save]
      • 添加新网关[+]
        • “姓名” ->Backup
        • “描述” ->DSL backup connection (with fixed IP)
        • “界面” ->WAN
        • “IP 地址” ->192.168.1.2
        • “优先级” ->100
        • [Save]
      • [Apply changes]
  • 功能无变化
  • 保存配置至config-OPNsense.condarelli.it-02.xml
  • 强制使用 DMZBackup作为网关:
    • 防火墙 -> 规则 -> DMZ
      • 允许 DMZ 访问互联网 -> 编辑
        • “网关” ->Backup - 192.168.1.2
        • [Save]
      • 添加新规则[+]
        • “协议” ->TCP/UDP
        • “来源” ->DMZ net
        • “目的地” ->DMZ address
        • “目标端口范围” -> 从DNSDNS
        • “类别” ->dmz
        • “描述” ->Allow access to DNS server
        • [Save]
      • [Apply changes]
  • 功能应保持不变,但 DMZ 上的主机应使用Backup(192.168.1.2) 作为网关。可以使用以下命令进行检查traceroute
  • 保存配置至config-OPNsense.condarelli.it-03.xml
  • 创建从 Internet 到网关的端口webserver转发Backup
    • 防火墙 -> 类别
      • 添加新类别[+]
        • “姓名” ->web
        • “颜色” ->ff14ff
        • [Save]
  • 防火墙 -> 别名
    • 添加新别名[+]
      • “姓名” ->WEBports
      • “类型” ->Port(s)
      • “类别” ->web
      • “内容” ->80 81 443
      • “描述” ->Web standard ports
      • [Save]
    • 添加新别名[+]
      • “姓名” ->webserver
      • “类型” ->Host(s)
      • “类别” ->dmz web
      • “内容” ->192.168.9.8
      • “描述” ->Nginx web server and reverse proxy
      • [Save]
  • 防火墙 -> NAT -> 端口转发
    • 添加新规则[+]
    • “目的地” ->WAN address
    • “目标端口范围” ->WEBports
    • “重定向目标 IP” ->webserver
    • “类别” ->web dmz
    • “描述” ->Allow external access to Nginx Proxy Manager
      • [Save]
    • [Apply changes]

如果我尝试nginx使用指向外部地址的 DNS 条目访问我的服务器,ISP_B我可以在日志中看到:

重定向日志

注意:79.34.242.11是当前分配给调制解调器的(浮动)IP ISP_A

更新2:

抱歉,如果我说的不清楚,但我有两条DMZ规则:

DMZ 规则

第一个允许访问防火墙上的 DNS 服务器,第二个将其他所有内容重定向到 ISP_B。

我不确定为什么需要第一个,但是如果没有它,DNS 解析对于位于 DMZ 上的主机就不起作用。

连接到 DMZ 的主机实际上使用 ISP_B/Backup/192.168.1.2 来访问互联网;这一点是有效的。不是工作是在请求数据包(显然正确)重定向到 DMZ/web 服务器后获取答案。

端口转发规则如下:

在此处输入图片描述

并且显然按照上面的日志所表明的那样工作。

我无法理解为什么响应数据包似乎丢失了(以及我如何追踪它们以了解出了什么问题)。

不幸的是,我离成为网络(和 OPNsense)专家还差得很远。

关于如何克服问题(或进一步诊断)的具体说明如下非常欢迎。

答案1

您想要的基本上是基于策略的路由。

在 OpnSense(和 pfSense)中,您可以在防火墙规则中执行此操作: 防火墙

此处网关将用于匹配该规则的数据包。除了默认网关外,您还可以在系统 - 网关下添加其他网关。

您必须为不同的流量类型定义防火墙规则,并将它们分配给正确的网关。防火墙规则可以匹配所有常见内容 - 源 IP、源网络等,以根据您的意愿发送流量。

相关内容