Моя настройка сети:
Настройка сети Kubernetes
При такой настройке только узлы в одной подсети могут устанавливать соединение bgp. Другие узлы (которые выполняют полное трехстороннее рукопожатие tcp) отвечают на сообщение hte OPEN с помощью [FIN, ACK], а затем [RST], следовательно, соединение сбрасывается одноранговым сообщением в моем статус узла calicoctl
<- находится на контроллере 3 (10.0.3.100)
Статус IPv4 BGP
+--------------+-------------------+-------+------ ----+--------------------------------+
| АДРЕС УЧАСТНИКА | ТИП ОДИНАКОВ | СОСТОЯНИЕ | С | ИНФО |
+--------------+-------------------+-------+------ ----+--------------------------------+
| 10.0.1.100 | сетка между узлами | начать | 07:12:01 | Подключить сокет: Соединение |
| | | | | закрытый |
| 10.0.2.100 | сетка между узлами | начать | 07:12:01 | Подключить |
| 10.0.1.101 | сетка между узлами | начать | 07:12:01 | Подключить сокет: Соединение |
| | | | | сброс по пиру |
| 10.0.1.102 | сетка между узлами | начать | 07:12:01 | Подключить сокет: Соединение |
| | | | | сброс по пиру |
| 10.0.2.102 | сетка между узлами | начать | 07:12:01 | Подключить сокет: Соединение |
| | | | | сброс по пиру |
| 10.0.3.101 | сетка между узлами | вверх | 07:14:13 | Установлен |
| 10.0.3.102 | сетка между узлами | вверх | 07:12:02 | Установлен |
+--------------+-------------------+-------+------ ----+--------------------------------+
Мой дамп рукопожатия + сообщение OPEN от контроллера 3 (10.0.3.100) к node4 (10.0.2.102)
Трассировка Wireshark bgp между 10.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?
Что работает
- Пинг со всех узлов на все узлы в порядке
- nc порт 179 для всех узлов успешно
- Wireshark показывает полное рукопожатие TCP от контроллера 3 до узла 4.
Настраивать
- Kubernetes 1.21.1 (устанавливается через kubespray)
- Calico 3.9 (по умолчанию в kubespray)
- Все шлюзы - 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.
- Брандмауэры отключены на маршрутизаторах центра обработки данных как в глобальной, так и в локальной сети. NAT не включен ни на одном из блоков pfSense. (NAT для ipsec
vpn находится на wan-порту для главного шлюза)
- Насколько я могу судить, у меня есть полное IP-соединение между всеми узлами во всех подсетях.