ОС: Ubuntu 18.04.6 Тип брандмауэра: IPtables. UFW отключен.
У меня есть кластер Kubernetes с 3 узлами, которые предоставляют сервисы controlplane и etcd, названные cp01, cp02 и cp03.
я вижу это etcd
трафик от каждого из узлов Controlplane/etcd работает нормально. Приложение etcd, кажется, работает, хотя я заметил, что не могу делать некоторые вещи, например etcdctl elect
новый лидер.
Я заметил, что иногда обратный трафик блокируется. Вот пример сообщения журнала, показывающего блок:
May 23 09:34:55 cp02 kernel: [1245818.175864] DROP-INPUT: IN=eth2 OUT= MAC=00:50:AA:BB:CC:DD:00:50:AA:BB:CC:11:08:00 SRC=192.168.101.188 DST=192.168.101.189 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=2380 DPT=36532 WINDOW=0 RES=0x00 RST URGP=0
Я не понимаю, почему эти пакеты теряются. В IPtables есть правило принимать все RELATED,ESTABLISHED
движение. Иногда кажется, что этого не происходит, и пакеты действительно отбрасываются.
Вот соответствующий раздел IPtables. Обратите внимание на следующее:
- Строки 1-3 вставлены Kubernetes.
- Строки 4-7 — это стандартные правила (я так думаю).
- Строки 22 и 23 будут регистрировать, а затем отбрасывать все пакеты, которые не соответствуют существующему правилу.
- Строка 7 принимает весь СВЯЗАННЫЙ, УСТАНОВЛЕННЫЙ трафик, то есть, если трафик прошел через этот хост, он может вернуться на этот хост, поскольку он помечен как связанный или установленный трафик. Однако приведенное выше сообщение журнала предполагает, что этого не происходит.
cp03:~ # iptables -t filter -L INPUT --line-numbers -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 2763 407K cali-INPUT all -- any any anywhere anywhere /* cali:Cz_abcdefghijklm */
2 2763 407K KUBE-FIREWALL all -- any any anywhere anywhere
3 32 6559 KUBE-EXTERNAL-SERVICES all -- any any anywhere anywhere ctstate NEW /* kubernetes externally-visible service portals */
4 1 84 ACCEPT icmp -- any any anywhere anywhere /* 000 accept all icmp */
5 773 112K ACCEPT all -- lo any anywhere anywhere /* 001 accept all to lo interface */
6 0 0 REJECT all -- !lo any anywhere localhost/8 /* 002 reject local traffic not on loopback interface */ reject-with icmp-port-unreachable
7 1958 288K ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED /* 003 accept related established rules */
8 0 0 ACCEPT tcp -- any any admin.example.org anywhere multiport dports ssh /* 101 Allow SSH from management servers from 192.168.100.16 */
9 0 0 ACCEPT udp -- any any cp01.example.org anywhere multiport dports 8472 /* 101 Canal/Flannel VXLAN overlay networking from 192.168.101.188 */
10 0 0 ACCEPT udp -- any any cp02.example.org anywhere multiport dports 8472 /* 101 Canal/Flannel VXLAN overlay networking from 192.168.101.189 */
11 0 0 ACCEPT udp -- any any cp03.example.org anywhere multiport dports 8472 /* 101 Canal/Flannel VXLAN overlay networking from 192.168.101.190 */
12 0 0 ACCEPT tcp -- any any cp01.example.org anywhere multiport dports 6443 /* 101 Kubernetes apiserver from 192.168.101.188 */
13 0 0 ACCEPT tcp -- any any cp02.example.org anywhere multiport dports 6443 /* 101 Kubernetes apiserver from 192.168.101.189 */
14 0 0 ACCEPT tcp -- any any cp03.example.org anywhere multiport dports 6443 /* 101 Kubernetes apiserver from 192.168.101.190 */
15 4 220 ACCEPT tcp -- any any cp01.example.org anywhere multiport dports 2379:2380 /* 101 etcd client requests from 192.168.101.188 */
16 4 220 ACCEPT tcp -- any any cp02.example.org anywhere multiport dports 2379:2380 /* 101 etcd client requests from 192.168.101.189 */
17 0 0 ACCEPT tcp -- any any cp03.example.org anywhere multiport dports 2379:2380 /* 101 etcd client requests from 192.168.101.190 */
18 0 0 ACCEPT tcp -- any any cp01.example.org anywhere multiport dports 10250 /* 101 kubelet API from 192.168.101.188 */
19 0 0 ACCEPT tcp -- any any cp02.example.org anywhere multiport dports 10250 /* 101 kubelet API from 192.168.101.189 */
20 0 0 ACCEPT tcp -- any any cp03.example.org anywhere multiport dports 10250 /* 101 kubelet API from 192.168.101.190 */
21 1 40 LOG all -- any any anywhere anywhere limit: avg 3/min burst 5 /* 998 Log all drops */ LOG level warning prefix "DROP-INPUT: "
22 1 40 DROP all -- any any anywhere anywhere /* 999 drop all other requests */
ubuntu iptables и т. д.
Стефан Ласевски