AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 507526
Accepted
tudor -Reinstate Monica-
tudor -Reinstate Monica-
Asked: 2013-05-14 20:28:05 +0800 CST2013-05-14 20:28:05 +0800 CST 2013-05-14 20:28:05 +0800 CST

用于匹配源数据包和返回数据包的基于简单策略的路由

  • 772

我有两个 ADSL 调制解调器路由器和一个服务器,它们都在同一个静态分配的 IP 地址范围 (192.168.0.1/24) 中。

Internet 1 -- (1.1.1.1) Modem 1 (192.168.0.1) -- Switch -- (192.168.0.3) Server 
Internet 2 -- (2.2.2.2) Modem 2 (192.168.0.2) -----/

每个调制解调器将端口转发到服务器,例如 ssh。这适用于一个调制解调器,但不适用于另一个。如果我进行数据包跟踪,ssh 数据包到达服务器并通过默认网关返回,默认网关可能具有与来源不同的外部 IP。如果它与来源不匹配,则响应将被丢弃并且 ssh 连接超时。

例如,如果服务器中的默认网关是 192.168.0.1,则 ssh 数据包将采用以下路径:

Request:  SSH to 1.1.1.1 -> 192.168.0.1 -> 192.168.0.3
Response: 192.168.0.3 -> 192.168.0.1 -> 1.1.1.1
Result: WORKS! :-D

Request:  SSH to 2.2.2.2 -> 192.168.0.2 -> 192.168.0.3
Response: 192.168.0.3 -> 192.168.0.1 -> 1.1.1.1
Result: WRONG RESPONSE IP (2.2.2.2 != 1.1.1.1)

通过与 IRC ##networking 上的人聊天,我了解到我想要的是“基于源的路由”,一种基于策略的路由。

据我所知,PBR 看起来像:

access-list 1 permit 192.168.0.1
access-list 2 permit 192.168.0.2
!
interface async 1
 ip policy route-map equal-access
!
route-map equal-access permit 10
 match ip address 1
 set ip default next-hop 192.168.0.1
route-map equal-access permit 20
 match ip address 2
 set ip default next-hop 192.168.0.2
route-map equal-access permit 30
 set default interface null0

我花了很多时间查看这方面的教程和示例,但它们似乎并没有满足我的需求。具体来说,我似乎无法理解:

  1. 原始 IP 如何与响应 IP 匹配,
  2. 上面例子中'async'的含义,
  3. 如果上面的例子完全符合我的需要,并且
  4. 我应该把这个配置放在标准的 Ubuntu 服务器上的什么地方?
linux
  • 2 2 个回答
  • 760 Views

2 个回答

  • Voted
  1. Best Answer
    fukawi2
    2013-05-14T20:38:44+08:002013-05-14T20:38:44+08:00

    您需要向服务器添加一个额外的 IP(例如192.168.0.4)并将进入 ADSL 调制解调器 2 的流量 DNAT 到新地址。这样服务器将能够区分 2 个上游连接;目前它不能这样做,因为它看到的所有流量都注定192.168.0.3来自互联网上的任何源地址,而没有指示数据包遍历哪个 ADSL 调制解调器。

    通过额外的 IP 设置,在基于策略的路由中,您192.168.0.3可以使用使用默认路由到 ADSL 调制解调器 1 的路由表的标记连接任何流量,并将连接标记流量192.168.0.4使用带有 ADSL 调制解调器的路由表的标记2 作为默认网关。

    • 2
  2. dmourati
    2013-05-14T20:39:32+08:002013-05-14T20:39:32+08:00

    我过去使用Linux Advanced Routing and Traffic Control Howto中的策略路由来设置它。

    在您的情况下,您的配置似乎略有不同,中间有一个开关。您可以通过添加第二个 nic 来调整您的配置以适应建议。否则,您可能需要设置多个 VLAN 才能使用单个网卡完成您的目标。

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve