Ich spiele nur mit Apache und habe es zum Laufen gebracht , das heißt, ich kann eine Verbindung zum Server herstellen, indem ich zu IPv6 navigiere http://127.0.0.1
und http://192.168.1.5
es NICHT ausführe
Dies ist jedoch das Ergebnis von netstat
$ sudo service apache2 status
* apache2 is running
$ netstat -an | grep :80
tcp6 0 0 :::80 :::* LISTEN
$ wget 127.0.0.1
--2014-06-26 01:32:15-- http://127.0.0.1/
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 11510 (11K) [text/html]
Saving to: ‘index.html’
100%[=====================================================================================================>] 11,510 --.-K/s in 0s
2014-06-26 01:32:15 (161 MB/s) - ‘index.html’ saved [11510/11510]
Ich hatte erwartet, dass es auf einem normalen TCP zuhört, was es eindeutig tut!?
Bearbeiten:
$ netstat -a | grep LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:mysql *:* LISTEN
tcp6 0 0 ip6-localhost:ipp [::]:* LISTEN
tcp6 0 0 [::]:https [::]:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
Edit2: Warum die Abwahl? Was fehlt mir kann jemand ausarbeiten?
netstat -p
?Antworten:
TL; DR
Apache nicht erscheint in Ihrer
netstat
Ausgabe, und es wird ausgeführt. Deshalbwget
funktioniert Ihr Anruf. Es ist jedoch an Ihre IPv6-Adresse anstatt an Ihre IPv4-Adresse gebunden. Die Adresszuordnung übernimmt bei Bedarf die Übersetzung.Ich gehe nach den Dokumenten
Hier gibt es offensichtlich einen IPv6-IPv4-Fallback-Mechanismus. Tatsächlich verwende ich IPv6 in meinem lokalen Netzwerk noch nicht:
Es ist wichtig zu beachten, dass unabhängig davon, wie Sie Ihren Computer ansprechen, es sich am Ende immer noch um denselben Dienst und Port handelt. Der Rest hängt hauptsächlich von Ihrem Browser und den DNS-Auflösungsdiensten ab. Weitere Informationen dazu, wie Apache damit umgeht, finden Sie in der Dokumentation :
Grundsätzlich geht es darum, sowohl IPv4- als auch IPv6-Sockets so zu behandeln, dass die meisten Probleme im Zusammenhang mit der plattformübergreifenden Kompatibilität und der Socket-Behandlung vermieden werden. Wie Sie lesen können, wird dieses Problem auf Linux-Plattformen wie Ubuntu mithilfe von IPv4-zugeordneten IPv6-Adressen gelöst . In der Dokumentation heißt es außerdem:
Welches würde so etwas in der
ports.conf
Datei geben:Daraus resultiert einer der folgenden
netstat
Ausgänge ...Ein schöner, aber IPv6-nicht bereiter Hörer. Die obige Einstellung wird normalerweise in
/etc/apache2/ports.conf
(oder direkt inapache2.conf
für ältere Versionen) eingestellt. Der Standardwert istListen 80
, der eine automatische Bindung durchführt, dh den IPv6-Spezifikationen in der Dokumentation entspricht.quelle