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 / 问题 / 1079008
Accepted
tFlolo
tFlolo
Asked: 2021-09-30 01:54:51 +0800 CST2021-09-30 01:54:51 +0800 CST 2021-09-30 01:54:51 +0800 CST

为什么 bgp OPEN 消息会获取 Connect Socket: Connection reset by peer when node is on a different subnet/gateway

  • 772

我的网络设置:

Kubernetes 网络设置

使用此设置,只有同一子网上的节点可以建立 bgp 连接。其他节点(执行完整的 3 路 tcp 握手),使用 [FIN, ACK] 然后 [RST] 响应 hte OPEN 消息,因此我的calicoctl node status<- 中的对等消息重置连接在控制器 3 上(10.0.3.100)

    IPv4 BGP status
+--------------+-------------------+-------+----------+--------------------------------+
| PEER ADDRESS |     PEER TYPE     | STATE |  SINCE   |              INFO              |
+--------------+-------------------+-------+----------+--------------------------------+
| 10.0.1.100   | node-to-node mesh | start | 07:12:01 | Connect Socket: Connection     |
|              |                   |       |          | closed                         |
| 10.0.2.100   | node-to-node mesh | start | 07:12:01 | Connect                        |
| 10.0.1.101   | node-to-node mesh | start | 07:12:01 | Connect Socket: Connection     |
|              |                   |       |          | reset by peer                  |
| 10.0.1.102   | node-to-node mesh | start | 07:12:01 | Connect Socket: Connection     |
|              |                   |       |          | reset by peer                  |
| 10.0.2.102   | node-to-node mesh | start | 07:12:01 | Connect Socket: Connection     |
|              |                   |       |          | reset by peer                  |
| 10.0.3.101   | node-to-node mesh | up    | 07:14:13 | Established                    |
| 10.0.3.102   | node-to-node mesh | up    | 07:12:02 | Established                    |
+--------------+-------------------+-------+----------+--------------------------------+

我从控制器 3 (10.0.3.100) 到 node4 (10.0.2.102) 的握手 + OPEN 消息的wireshark 转储

10.0.3.100 和 10.0.2.102 之间的
Wireshark bgp 跟踪 10.0.0.4(10.0.3.100) 和 10.0.2.102 之间的 Wireshark bgp 跟踪
也许问题是节点 4 看到的数据来自 10.0.0.4 而不是 10.0.3.100?

什么有效

  1. 从所有节点Ping到所有节点OK
  2. nc 端口 179 到所有节点成功
  3. Wireshark 显示从控制器 3 到节点 4 的完整 TCP 握手

设置

  1. Kubernetes 1.21.1(通过 kubespray 安装)
  2. Calico 3.9(kubespray 中的默认设置)
  3. 所有网关都是 pfSense 2.5.x,“主”网关具有通过 10.0.0.2 的 10.0.1.0/24、通过 10.0.0.3 的 10.0.2.0/24 和通过 10.0.0.4 的 10.0.3.0/24 的静态路由。
  4. 在 wan 和 lan 上的数据中心路由器上禁用防火墙 没有在任何 pfSense 盒子上启用 NAT。(ipsec vpn 的 NAT 在主网关的 wan 端口上)
  5. 据我所知,我在所有子网中的所有节点之间都有完整的 IP 连接
bgp kubernetes bare-metal calico
  • 1 1 个回答
  • 163 Views

1 个回答

  • Voted
  1. Best Answer
    tFlolo
    2021-10-01T11:49:03+08:002021-10-01T11:49:03+08:00

    我错误地认为 pfSense Auto NAT 仅适用于 IPsec 通道,当我禁用所有出站 NAT 规则生成时,它开始按预期工作。不了解我的 pfSense 路由器中的设置是我的错。

    • 0

相关问题

  • 使托管应用程序对 BGP 故障具有弹性

  • 镜子脚本

  • 使用traceroute -A时,ASN从哪里来?

  • 简单 Quagga BGP 路由器

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