Puncte:0

Conexiune refuzată între 2 containere VM

drapel fr

Pe gazda mea Ubuntu 18.04 rulez două containere lxc folosind setări implicite. Containerele folosesc și Ubuntu 18.04. Am o aplicație care rulează pe container1 care oferă un serviciu bazat pe https pe https://localhost:3000/. Container2 nu poate stabili nici măcar o conexiune cu container1.

Container2 poate ping container1 și citi html-ul serverului Apache2 implicit care rulează pe localhost (pentru container1). Testând cu netcat, pot stabili conexiunea cu câteva porturi principale, totuși mi se refuză conexiunea pentru portul 3000.

root@c2:~# nc -zv c1 22
Conexiunea la portul c1 22 [tcp/ssh] a reușit!
root@c2:~# nc -zv c1 80
Conexiunea la portul c1 80 [tcp/http] a reușit!
root@c2:~# nc -zv c1 443
nc: conectarea la portul c1 443 (tcp) a eșuat: conexiune refuzată
nc: conectarea la portul c1 443 (tcp) a eșuat: conexiune refuzată
root@c2:~# nc -zv c1 3000
nc: conectarea la portul c1 3000 (tcp) a eșuat: conexiune refuzată
nc: conectarea la portul c1 3000 (tcp) a eșuat: conexiune refuzată

Aceeași situație se aplică și între gazda mea și oricare dintre containerele mele. Doar porturile 22 și 80 par a fi accesibile în mod implicit. Am încercat să activez ufw pe toate containerele, dar tot nu funcționează:

root@c1:~# stare ufw
Stare: activ

La Acțiune De la
-- ------ ----
OpenSSH ALLOW oriunde                  
22/tcp PERMITERE oriunde                  
22 PERMITERE oriunde                  
443 PERMITĂ Oriunde                  
873 PERMITERE oriunde                  
3000 PERMITĂ oriunde                  
Oriunde pe eth0@if16 ALLOW Oriunde                  
Apache ALLOW oriunde                  
80 PERMITĂ oriunde                  
20 PERMITERE oriunde                  
OpenSSH (v6) ALLOW Anywhere (v6)             
22/tcp (v6) PERMITERE oriunde (v6)             
22 (v6) PERMITERE oriunde (v6)             
443 (v6) PERMITERE oriunde (v6)             
873 (v6) PERMITERE oriunde (v6)             
3000 (v6) PERMITERE oriunde (v6)             
Oriunde (v6) pe eth0@if16 PERMITĂ Oriunde (v6)             
Apache (v6) ALLOW Anywhere (v6)             
80 (v6) PERMITERE oriunde (v6)             
20 (v6) PERMITERE oriunde (v6)             

Oriunde PERMITĂ Oriunde pe eth0@if16     
Oriunde (v6) PERMITERE Oriunde (v6) pe eth0@if16

Chiar și testarea prin curl îmi arată clar că conexiunea portului este închisă și aceasta este problema:

root@c2:~# curl https://10.155.120.175:3000/
curl: (7) Nu s-a putut conecta la portul 10.155.120.175 3000: Conexiunea a fost refuzată

Sunt blocat în această problemă de o săptămână, mă poate ajuta cineva să rezolv problema?

drapel in
Vă rugăm să afișați porturile de ascultare. `conexiune refuzată` indică de obicei că nu este o problemă de firewall, ci mai degrabă că nimic nu ascultă pe acel port. Poate că aplicația dvs. este legată la portul greșit sau la interfața greșită.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.