Рейтинг:0

Отказ в подключении между двумя контейнерами виртуальных машин

флаг fr

На моем хосте Ubuntu 18.04 я запускаю два контейнера lxc, используя настройки по умолчанию. Контейнеры также используют Ubuntu 18.04. У меня есть приложение, работающее в контейнере 1, которое предлагает службу на основе https на https://localhost:3000/. Контейнер2 не может даже установить соединение с контейнером1.

Контейнер2 может пинговать контейнер1 и читать html сервера Apache2 по умолчанию, работающего на локальном хосте (для контейнера1). Тестируя с помощью netcat, я могу установить соединение с несколькими основными портами, однако получаю отказ в соединении для порта 3000.

root@c2:~# nc -zv c1 22
Подключение к порту c1 22 [tcp/ssh] выполнено успешно!
root@c2:~# nc -zv c1 80
Подключение к порту c1 80 [tcp/http] выполнено успешно!
root@c2:~# nc -zv c1 443
nc: не удалось подключиться к порту c1 443 (tcp): в соединении отказано
nc: не удалось подключиться к порту c1 443 (tcp): в соединении отказано
root@c2:~# nc -zv c1 3000
nc: не удалось подключиться к порту c1 3000 (tcp): в соединении отказано
nc: не удалось подключиться к порту c1 3000 (tcp): в соединении отказано

Такая же ситуация применяется между моим хостом и любым из моих контейнеров. По умолчанию доступны только порты 22 и 80. Пробовал включать ufw на всех контейнерах, но все равно не получается:

root@c1:~# статус ufw
Статус: активен

К действию от
-- ------ ----
OpenSSH РАЗРЕШИТЬ ВСЕГДА                  
22/tcp РАЗРЕШИТЬ ВСЕГДА                  
22 РАЗРЕШИТЬ ВСЕГДА                  
443 РАЗРЕШИТЬ ВСЕГДА                  
873 РАЗРЕШИТЬ ВСЕГДА                  
3000 РАЗРЕШИТЬ ВСЕГДА                  
Где угодно на eth0@if16 РАЗРЕШИТЬ ВСЕГДА                  
Apache РАЗРЕШИТЬ ВСЕГДА                  
80 РАЗРЕШИТЬ ВСЕГДА                  
20 РАЗРЕШИТЬ ВСЕГДА                  
OpenSSH (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
22/tcp (v6) РАЗРЕШИТЬ везде (v6)             
22 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
443 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
873 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
3000 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
Везде (v6) на eth0@if16 РАЗРЕШИТЬ Везде (v6)             
Apache (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
80 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
20 (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             

Везде РАЗРЕШИТЬ ВСЕГДА на eth0@if16     
Где угодно (v6) РАЗРЕШИТЬ ВСЕГДА (v6) на eth0@if16

Даже тестирование через curl ясно показывает мне, что соединение с портом закрыто, и в этом проблема:

root@c2:~# curl https://10.155.120.175:3000/
curl: (7) Не удалось подключиться к порту 10.155.120.175 3000: в соединении отказано

Я застрял в этой проблеме в течение недели, может ли кто-нибудь помочь мне решить эту проблему?

флаг in
Пожалуйста, покажите порты прослушивания. `отказ в соединении` обычно указывает, что это не проблема брандмауэра, а то, что на этом порту ничего не прослушивается. Возможно, ваше приложение привязано к неправильному порту или неправильному интерфейсу.

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

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