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 / 问题 / 1074118
Accepted
Jose Javier Gonzalez Ortiz
Jose Javier Gonzalez Ortiz
Asked: 2021-08-11 08:58:12 +0800 CST2021-08-11 08:58:12 +0800 CST 2021-08-11 08:58:12 +0800 CST

在 linux 服务器中配置多个以太网连接

  • 772

我有以下拓扑

                                                                                        .───────────────.        
   ┌──────────────────┐                                                             _.─'                 `──.    
   │                  │                                                          ,─'                         '─. 
   │    ISP Router    │ Dynamic IP                                              ;                               :
   │     with NAT     ├─────────────────────────────────────────────────────────:           Internet            ;
   │                  │                                                          ╲                             ╱ 
   └─────────┬────────┘                                                           '─.                       ,─'  
             │                                                                       `──.               _.─'     
             │  10.0.0.1                                                                 `──────┬──────'         
             │                                                                                  │                
      .──────┴────.                                                                       .─────┴─────.          
   ,─'             '─.                   ┌─────────────────────────┐                   ,─'             '─.       
 ,'                   `.                 │                         │                 ,'                   `.     
;          LAN          :  Static DHCP┌──┴───┐                  ┌──┴───┐ Static IP  ;      Public Net       :    
:                       ;─────────────┤ eth1 │     My Server    │ eth0 ├────────────:                       ;    
 ╲     10.0.0.0/24     ╱     10.0.0.5 └──┬───┘                  └──┬───┘  1.2.3.5    ╲     1.2.3.4/20      ╱     
  `.                 ,'                  │       Debian Buster     │    mydomain.com  `.                 ,'      
    '─.           ,─'                    │                         │                    '─.           ,─'        
       `─────────'                       └─────────────────────────┘                       `─────────'

由于历史原因,我的 ISP 使用单独的网络提供静态 IP。这意味着我必须将我的服务器直接连接到一个直接暴露在互联网上的特殊连接(在图中这是eth0使用 IP 1.2.3.5)。

但是,我在家里使用这台服务器作为 NAS,因为那是一个完全独立的网络,所以我使用不同的接口连接它,eth1并使用 address 创建一个静态 DHCP 分配10.0.0.5。这样,家庭网络中的其他设备可以找到它并访问网络挂载。

最后,我的域有一个 DNS 记录,在这个例子mydomain.com中,指向1.2.3.5.

我遇到了几个问题:

  • 当我尝试mydomain.com从我的局域网访问时,它不起作用。我相信这是因为服务器正在从接口获取数据包,eth0然后通过回复eth1,而另一个设备正在丢弃响应,因为它来自不同的 IP。
  • 在启动时,服务器应该选择1.2.3.4作为网络来引导互联网流量,以便外部访问可以通过mydomain.com。但是,由于两者eth0都eth1可以通过各自的网关访问 Internet,因此有时会启动并选择10.0.0.1默认网关,然后访问mydomain.com不起作用。我相信这是一个与交通进入eth0但离开的类似问题eth1。

虽然我熟悉基本的网络知识,但我没有像这样将服务器同时连接到多个网络的经验。理想情况下,我想配置服务器,以便:

  • 所有互联网流量都通过eth0
  • 所有进入eth0的流量都通过回复eth0
  • 所有进入eth1的流量都通过回复eth1

我的服务器运行 Debian,我将不胜感激。

编辑:所以在禁用 eth1 网关并玩了一下之后,tcpdump我能够确认流量是从 eth0 进入并离开 eth1。问题是 ISP 没有对流向端点的流量进行 NAT 1.2.3.5,然后服务器将10.0.0.X地址识别为位于 interface 上eth1。

routing networking linux-networking static-ip
  • 3 3 个回答
  • 577 Views

3 个回答

  • Voted
  1. Falstone
    2021-08-12T07:31:19+08:002021-08-12T07:31:19+08:00

    这是一个路由问题,可以通过基于源的路由或策略路由来解决。这涉及两个路由表,每个源地址一个:

    有关详细信息,请参阅http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html 。

    • 1
  2. Doug
    2021-08-11T16:27:49+08:002021-08-11T16:27:49+08:00

    我相信这是因为服务器从接口 eth0 获取数据包,然后通过 eth1 回复。

    不。带有 NAT 的 ISP 路由器会将您的客户端 10.0.0.0 地址 NAT 到 ISP 动态地址,因此您的服务器将回复该地址而不是内部地址。有一些例外,例如 FTP,不一定与 NAT 兼容,因为它们会将您的内部 IP 地址传递到连接的另一端,但是在一般情况下,您的 NAT 流量将保留在 eth0 上。

    检查您的日志以确认客户端出站到 1.2.3.4 并且服务器正在从 NATed 地址 ip.ip.ip.ip 获取连接。

    在启动时,服务器应该选择 1.2.3.4 作为网络来引导 Internet 流量,以便通过 mydomain.com 进行外部访问。但是,由于 eth0 和 eth1 都可以通过各自的网关访问 Internet

    不要那样做。在多宿主配置中拥有多个默认网关很少能像人们想要的那样工作。仅当两条路径都提供对相同网络的访问时,才应使用非常粗略的多个默认网关,例如企业设置中的路由器冗余/高可用性。由于您连接到 Internet 的 ISP 路由器和您与公共网络的直接连接不同,因此您应该删除它。eth0 应该有一个默认路由,eth1 应该有一个到 10.xxx 的路由。您仍然可以使用 DHCP 执行此操作,但是我会将其作为 10.0.0.5 的保留/排除来处理,并手动配置服务器 IP。

    除了无关的默认路由,您描述的是正常的默认操作。一定要寻找上面没有描述的其他问题:

    • 与 DNS 不同的主机文件(您是否尝试让客户端连接到 10.0.0.5 而不是 1.2.3.4?我喜欢在内部使用技术名称,例如 webserver1.internalfqdn.com 和外部友好名称,例如www.externalfqdn.com )
    • 上面没有反映的手动路由表(您是否尝试将 10.0.0.x 快捷方式通过 10.0.0.5 连接到 1.2.3.4 作为路由器? - 这可以工作,但需要额外配置)
    • 路由协议(例如 RIP)(实际上是上述的一个变体,但如果您启用了 RIP 或其他路由发布,您可能发布了错误的路由
    • 0
  3. Best Answer
    Jose Javier Gonzalez Ortiz
    2021-08-15T09:44:01+08:002021-08-15T09:44:01+08:00

    我最终通过使用拆分 DNS方法解决了这个问题,在我的主机上部署了一个 DNS 服务器,并使整个 LAN 将其用作默认 DNS 服务器。在那里,我添加了自定义 DNS 重写规则mydomain.com以重定向到10.0.0.5而不是公共地址。这样,局域网中的主机将我的域解析为内部 IP,局域网外的主机将其解析为面向公众的 IP,这样本地流量就不必像以前那样通过 ISP 网络退出。

    我认为应该能够解决此问题的另一种选择是发夹路由。但是,我的 ISP 提供的路由器似乎不支持这一点。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 将路由永久添加到 Solaris 10

  • Quagga 套件中的 ./configure --disable-zebra 代表什么?

  • 使用特定接口进行出站连接(Ubuntu 9.04)

  • Linux TC/策略路由工具

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