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 / 问题 / 788376
Accepted
Bob Ortiz
Bob Ortiz
Asked: 2016-07-07 16:34:23 +0800 CST2016-07-07 16:34:23 +0800 CST 2016-07-07 16:34:23 +0800 CST

如何使用另一个 IP 地址进行传出流量?

  • 772

背景

我运行具有两个外部 IPv4 地址的服务器。IP 地址 A (IP-A) 和 IP 地址 B (IP-B)。

目标

我只想通过 HTTPS 端口 443 和 SSH 端口 22 访问 IP-A。IP-B 不应监听任何传入流量。

然后我希望服务器仅对所有传出流量使用 IP-B。或者至少告诉服务器将 IP-B 用于仅针对特定命令的传出流量。

伪代码示例:

1: I connect to the server over IP-A and call `ping example.com`
2: The server executes it and sends the ping requests outgoing from IP-B to example.com.
3: I can read the output of the command on my connection with IP-A

我为什么要这个?

因为我将使用的管理控制台位于 IP-A 上。我希望 IP-A 与 IP-B 不直接相关(至少对于外界而言)。相反,我希望 example.com 看到“我收到了来自 IP-B 的 ping 请求。”。当有人连接到 IP-B 时,该 IP 地址不会监听任何内容。虽然 IP-A 不在他们的日志中。

最终,我想添加更多地址并能够告诉 IP-A:

  1. 使用 IP-B 执行此命令
  2. 使用 IP-C 执行此命令
  3. 对这个命令使用 IP-D
  4. ...

关于如何配置上述场景的任何想法?我目前正在使用 Ubuntu,但我对其他 Linux 发行版的建议持开放态度。

networking ip-address infrastructure network-design ip-routing
  • 1 1 个回答
  • 1563 Views

1 个回答

  • Voted
  1. Best Answer
    ZaphodB
    2016-07-07T18:29:53+08:002016-07-07T18:29:53+08:00

    大多数与网络相关的工具(如 ping)都有一个选项来选择它们将用于传出连接的源 IP,因此例如使用 ping 您可以使用ping -I IP-B.

    对于使用 IP-B 的所有流量,您需要将默认路由指向的接口的主要/第一个 IP 调整为 IP-B。Linux 所做的是为您的目的地查找路由,例如 8.8.8.8,查看默认路由是在这种情况下采用的路由,然后如果未指定数据包的来源,即 0.0.0.0,它将用指向该目标的接口的主 IP。

    但是,如果您最终想要实现的是对源自服务器的任何流量的源 IP 进行更细粒度的控制,您将需要阅读Linux 高级路由和流量控制HOWTO 并寻找如何将其与 netfilter/ 结合的示例iptables fwmark 以根据防火墙规则操作要查看的路由表,这将允许您通过将 B IP 设置为源的默认路由将流量类别 B 路由出去,依此类推。

    此处要搜索的关键字是基于策略的路由 (PBR)。

    • 4

相关问题

  • 谁能指出我的 802.11n 范围扩展器?

  • 我怎样才能得到一个网站的IP地址?

  • 在一个 LAN 中使用两台 DHCP 服务器

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

  • 为本地网络中的名称解析添加自定义 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