CentOs localhost funktioniert nur, wenn eine Verbindung zum Internet besteht

CentOs localhost funktioniert nur, wenn eine Verbindung zum Internet besteht

Ich versuche seit drei Monaten (mit Unterbrechungen), dieses Problem zu lösen, aber ich kriege es immer noch nicht zum Laufen und verstehe noch nicht einmal, warum es auftritt.

DAS SZENARIO:

Ich habe eine VirtualBox auf meinem {HP 32bit, Windows 7}Laptop installiert

In diesem VB habe ich CentOs 6.5 minimal, Nginx und PHP-FPM ohne Probleme installiert.

Kurz gesagt, alles funktioniert gut.

Das Problem

Das Problem ist, dass ich nur zugreifen kann, locahostwenn ich mit dem Internet verbunden bin.

Wenn ich mit dem Internet verbunden bin, http://192.168.1.100/funktioniert alles und ich kann meine Dateien problemlos sehen index.html. Sobald ich jedoch offline gehe, geschieht nichts, so als ob ich versucht hätte, auf Google zuzugreifen, ohne mit dem Internet verbunden zu sein.

Dies ist ein Screenshot meiner Vbox-Einstellungen:

Bildbeschreibung hier eingeben

Hier ist auch die Konfiguration für/etc/sysconfig/network-scripts/ifcfg-eth0:

Bildbeschreibung hier eingeben

Ich habe Folgendes mehrmals gemacht.

Versucht mit iptablesdeaktiviert/aktiviert
Versucht mit Host Only, NAT Bridged Adapters
Versucht mit Static IP und DHCP..
Netzwerke mehrmals aktualisiert

Ich bin sicher, dass die Antwort irgendwo zu finden ist, denn ich habe immer noch nicht die perfekten Setup-Konfigurationen, vermische aber viele Dinge, während ich arbeite, und kriege es deshalb immer noch nicht zum Laufen.

Antwort1

In den VirtualBox-Netzwerkeinstellungen haben Sie die CentOS-Maschine mit einer statischen IP-Adresse in Ihr WLAN-Netzwerk „eingebunden“.

Ihr Laptop hat bei seiner WLAN-Verbindung keine feste IP-Adresse. Wenn Sie nicht mit dem WLAN verbunden sind, hat Windows keine Netzwerkverbindung und weiß nicht, wie es zum CentOS-Server gelangen soll. Wenn Sie eine Verbindung zum WLAN herstellen, gibt Ihr Router Windows eine Adresse im selben Netzwerk und kann dann zum CentOS-Server gelangen.

Sie laufen auf demselben Computer, sind aber getrennt und können nicht automatisch miteinander kommunizieren. Die Lösung besteht darin, die Netzwerkkonfiguration irgendwie zu ändern. Wie Sie dies tun, hängt davon ab, was Sie tun möchten.

Am einfachsten ist es, in der Windows-Systemsteuerung auf Netzwerkverbindungen zu gehen und dann denverdrahtetNetzwerkadapter (vorausgesetzt, Ihr Laptop hat einen und Sie verwenden ihn nicht), gehen Sie zu den Eigenschaften und legen Sie eine TCP/IP-Netzwerkadresse von 192.168.1.101, eine Subnetzmaske von 255.255.255.0 und kein Gateway fest.

Dadurch wird so getan, als wäre Ihr Computer immer im selben Netzwerk wie die CentOS-Maschine und könnte immer darauf zugreifen. Dennoch sollte die WLAN-Verbindung die Kontrolle übernehmen und Ihre Internetverbindung sein, wenn Sie sie verwenden. CentOS sollte weiterhin auf das Internet zugreifen können, wenn eine WLAN-Verbindung besteht. Andere Computer könnten sich weiterhin mit CentOS verbinden und Ihr Computer könnte weiterhin in anderen WLAN-Netzwerken funktionieren. Ihre kabelgebundene Verbindung funktioniert dadurch jedoch nicht mehr so ​​oft.

Sie könnten auch andere Ansätze verfolgen, doch alle wirken sich auf einen oder mehrere dieser Anwendungsfälle aus und erfordern im Nachhinein mehr Arbeit zur Behebung.

[Bearbeiten: Ich ignoriere die Stelle, an der Sie „Kein Zugriff möglich localhost“ sagen. Das könnte wichtig sein. Sie sollten Ihren Test genau beschreiben – welchen Computer verwenden Sie, welche Software laden Sie, wo geben Sie „localhost“ ein?]

Bearbeiten: Neue vorgeschlagene Konfiguration

Dabei handelt es sich um ein separates Netzwerk aus zwei Computern, über das nur Windows mit CentOS kommunizieren kann.

  1. In Windows, in dem Bild, das Sie hier gezeigt habenhttps://i.stack.imgur.com/a3CIZ.jpg- Gehen Sie zu den Eigenschaften des VirtualBox Host-Only-Netzwerkadapters, in die Eigenschaften des Internetprotokolls TCP/IP v4, und legen Sie eine IP-Adresse von 192.168.250.1 und eine Subnetzmaske von 255.255.255.0 fest, lassen Sie die anderen Einstellungen leer und beenden Sie das Ganze mit OK.

  2. Gehen Sie in den Einstellungen der virtuellen CentOS-Maschine (bei ausgeschalteter Maschine) zu den Netzwerkeinstellungen und stellen Sie Adapter 1 auf „Host Only Adapter“ ein.

  3. Schalten Sie die CentOS-Maschine ein. Bearbeiten Sie die /etc/sysconfig/network-scripts/ifcfg-eth0IP-Adresse 192.168.250.2 und die Subnetzmaske 255.255.255.0 und legen Sie sie fest. Es gibt kein Gateway und keine DNS-Server. Starten Sie das Netzwerk neu oder starten Sie die CentOS-Maschine neu.

Sie sollten jetzt dieses neue, separate Netzwerk von 192.168.250.1 -- 192.168.250.2 haben, um miteinander zu kommunizieren. Führen Sie Ihr NGinX aus, damit es auf der Adresse 192.168.250.2 lauscht, und besuchen Sie es http://192.168.250.2/in Windows, um darauf zuzugreifen.

Dies sollte mit oder ohne WLAN funktionieren. Das einzige Problem ist, dass CentOS keinen Internetzugang hat, um Updates oder Installationen durchzuführen. Wenn dies ein Problem ist:

  1. Schalten Sie die CentOS-Maschine aus und gehen Sie zu den VirtualBox-Einstellungen im Netzwerk. Wählen Sie die Registerkarte Adapter 2, aktivieren Sie sie und stellen Sie sie auf Bridged Adapter ein.

  2. Schalten Sie die CentOS-Maschine ein und konfigurieren Sie eine eth1-Schnittstelle. Konfigurieren Sie diese, um eine IP-Adresse dynamisch/per DHCP zu erhalten. Ich verwende es, system-config-network-tuimusste es aber installieren. Möglicherweise können Sie kopieren /etc/sysconfig/network-scripts/ifcfg-eth0 to /etc/sysconfig/network-scripts/ifcfg-eth1. Starten Sie das Netzwerk neu und stellen Sie sicher, dass es angezeigt wird.

Es sollte eine Netzwerkverbindung zu Ihrem WLAN bestehen, wie die ursprüngliche, die nur funktioniert, wenn das WLAN verbunden ist, aber CentOS kann sie verwenden, um auf das Internet zuzugreifen.

verwandte Informationen