Почему сообщение bgp OPEN получает Connect Socket:Соединение сбрасывается узлом, когда узел находится в другой подсети/шлюзе

Настройка моей сети:

Настройка сети Kubernetes

При такой настройке только узлы в одной подсети могут установить bgp-соединение. Другие узлы (, которые выполняют полное трехстороннее рукопожатие tcp ), отвечают на сообщение hte OPEN с помощью [FIN, ACK], а затем [RST], следовательно, сброс соединения одноранговым сообщением в моем 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                    |
+--------------+-------------------+-------+----------+--------------------------------+

Мой дамп рукопожатия Wireshark + сообщение OPEN от контроллера 3 (10.0.3.100)на node4 (10.0.2.102)

Трассировка Wireshark bgp между 10.0.0. 3.100 и 10.0.2.102
Трассировка Wireshark bgp между 10.0.0.4(10.0.3.100)и 10.0.2.102
Возможно, проблема в том, что узел 4 видит данные, поступающие с 10.0.0.4, а не с 10.0. 3.100?

Что работает

  1. Ping от всех узлов ко всем узлам OK
  2. nc порт 179 ко всем узлам успешно выполнен
  3. Wireshark показывает полное TCP-рукопожатие от контроллера 3 до узла 4

Настройка

  1. Kubernetes 1.21.1 (устанавливается через kubespray)
  2. Calico 3.9 (по умолчанию в kubespray)
  3. Все шлюзы pfSense 2.5.x, "главный" шлюз имеет статический маршруты для 10.0.1.0/24 через 10.0.0.2, 10.0.2.0/24 через 10.0.0.3 и 10.0.3.0/24 через 10.0.0.4.
  4. Брандмауэры отключены на маршрутизаторах центра обработки данных как в глобальной, так и в локальной сети. NAT не включен ни на одном из блоков pfSense. (NAT для IPsec vpn находится на порту wan для главного шлюза)
  5. Насколько я могу судить, у меня есть полное IP-соединение между всеми узлами во всех подсетях
1
задан 29 September 2021 в 09:54
1 ответ

Я ошибочно предположил, что pfSense Auto NAT предназначен только для сквозной передачи IPsec, когда я отключил создание всех исходящих правил NAT, он начал работать, как предполагалось. Моя вина в том, что я не понимаю настройки моих роутеров pfSense.

0
ответ дан 30 September 2021 в 19:49

Теги

Похожие вопросы