Puncte:1

Guacamole ascultă numai pe IPv6 localhost

drapel ru

Am instalat recent Apache Guacamole pe Ubuntu 20.04 și am testat, de asemenea, cu același rezultat pe 21.10. Funcționează totul, dar a trebuit să fac câteva soluții de soluționare din cauza acestei probleme.

Aici este ghid Am creat după ce am terminat instalarea și mi-am dat seama de toate problemele.

Întrebarea mea este dacă știe cineva o modalitate de a face guacd să asculte atât pe IPv4, cât și pe v6? Munca mea a fost inițial să dezactivez IPv6 pe server, dar asta trebuie să fie rulat la fiecare pornire. Apoi am descoperit că aș putea schimba adresa de ascultare la 127.0.0.1 și ar asculta pe IPv4 în loc de v6. Știu că aceasta este probabil soluția, dar nu înțeleg de ce nu pot face guacd să asculte pe ambele.

John Mahowald avatar
drapel cn
Conform acelui link, „A trebuit să setez guacd-hostname la 127.0.0.1 pentru că altfel ar asculta numai pe IPv6 și nu ar funcționa.” Care este mai exact problema? „Eșuat să funcționeze” nu este o descriere utilă a problemei. De ce ai nevoie de dual stack? Doar ::1 este în regulă pentru localhost. De asemenea, vă rugăm să nu vă bazați pe linkuri externe pentru detaliile întrebării dvs., copiați detaliile relevante în întrebarea dvs.
drapel ru
Dacă ascultă pe ::1, trebuie să setați manual parametrii proxy Guacamole pentru fiecare conexiune pe care o creați să trimită către ::1. Dacă îl ascultați pe 127.0.0.1, nu aveți nevoie de nicio modificare a acelei părți a configurației, deoarece este implicit. Nu înțeleg de ce nu poate asculta universal pe localhost și include ipv4 și v6.
Puncte:0
drapel cn

Deoarece nu cereți o soluție de soluție, ci un fundal complet:

  1. Verificați la ce adrese se rezolvă bind_host (de exemplu, „localhost”):
$ python3 -c "socket de import
print(set([a[4][0] pentru un în socket.getaddrinfo('localhost', 4822)]))"

{'127.0.0.1', '::1'}
  1. Este posibil să deschideți o nouă problemă pentru guacd pentru a implementa în mod corespunzător suportul pentru IPv4/IPv6 dual-stack și pentru a permite specificarea unui bind_host care are mai multe adrese diferite.

Am lucrat la remedierea suportului numai pentru IPv6 în guacd https://issues.apache.org/jira/browse/GUACAMOLE-1190 ceea ce a fost suficient pentru scopurile mele.

Susținerea stivă duală IPv6 adecvată în orice server TCP, permițând, de asemenea, utilizatorului să restricționeze legarea la anumite adrese înseamnă:

  • Creați mai multe prize
  • lega() la toate adresele returnate de getaddrinfo() (127.0.0.1 și ::1 pentru „localhost”)
  • asculta() pe toate prizele legate cu succes
  • Utilizare Selectați() sau sondaj() pentru a reacționa la clienții care sosesc pe toate soclulurile legate simultan
  • Apel Accept() pentru a accepta o conexiune client după Selectați() returnează fără eroare pentru un anumit soclu din set

Pentru referință, consultați aceste răspunsuri/site-uri:

Semantica :: și 0.0.0.0 în sistemele de operare dual-stack

Cum să suportați atât conexiunile IPv4, cât și IPv6

select - multiplexare I/O sincronă

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.