Рейтинг:0

iptables REDIRECT на Kubernetes NodePort вызывает зависание запроса

флаг us

Я пытаюсь направить клиентский трафик на кластер NodePort kubernetes, прослушивающий 192.168.1.100.30000 (порт https).

Клиенту нужно сделать запрос на 192.168.1.100.8000, поэтому я добавил следующее правило REDIRECT в iptables:

iptables -t nat -I PREROUTING -p tcp --dst 192.168.1.100 --dport 8000 -j ПЕРЕНАПРАВЛЕНИЕ --на порт 30000
iptables -t nat -I ВЫВОД -d 192.168.1.100 -p tcp --dport 8000 -j ПЕРЕНАПРАВЛЕНИЕ --на порт 30000

Однако я получаю следующую ошибку:

# curl -vk https://192.168.1.100:8000/v1/api
* О подключении() к порту 192.168.1.100 8000 (#0)
* Попытка 192.168.1.100...
* Подключено к порту 192.168.1.100 (192.168.1.100) 8000 (#0)
* Инициализация NSS с помощью certpath: sql:/etc/pki/nssdb
* Ошибка NSS -12263 (SSL_ERROR_RX_RECORD_TOO_LONG)
* SSL получил запись, длина которой превышает максимально допустимую.
* Закрытие соединения 0
curl: (35) SSL получил запись, длина которой превышает максимально допустимую.

также пытался настроить удаленную систему, указанную в это ответить и сделать запрос к той же конечной точке и получить следующую ошибку:

# ip netns exec remotesystem curl -vk https://192.168.1.100:8000/v1/api
* О подключении() к порту 192.168.1.100 8000 (#0)
* Попытка 192.168.1.100...
* Время соединения истекло
* Не удалось подключиться к 192.168.1.100:8000; Время соединения истекло
* Закрытие соединения 0
curl: (7) Не удалось подключиться к 192.168.1.100:8000; Время соединения истекло

Я знаю, что кластер kubernetes имеет сетевые политики, применяемые с помощью calico crds, однако я добавил в сетевую политику параметр по умолчанию, разрешающий все, и трафик, похоже, все еще зависает.

Я также проверил журналы входного контроллера, чтобы увидеть, был ли запрос отправлен туда, но не видел никаких выходных журналов при выполнении запроса.

Странная вещь напрямую скручивает порт узла https://192.168.1.100.30000/v1/api работает, и я получаю успешный ответ.

Вопрос в том, почему керлинг https://192.168.1.100:8000/v1/api (с правилом ПЕРЕНАПРАВЛЕНИЯ на 30000) вызвать зависание запроса?

A.B avatar
флаг cl
A.B
См. также мой комментарий: https://serverfault.com/questions/1097421/tcpdump-showing- Different-redirection-port-after-adding-redirect-rule-in-iptable?noredirect=1#comment1432056_1097435

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.