Ich habe ein Problem. Zunächst möchte ich einen Server unter Ubuntu 14.04 einrichten. Ich habe 2 Schnittstellen: eth0 für DHCP-Server und eth1 für die Internetverbindung. Wenn ich jedoch gleichzeitig eine Verbindung zu zwei Netzwerken herstelle, gibt es auf dem PC kein Internet. Also muss ich mich zwischen Server und Internet entscheiden. Das ist schrecklich, kann mir jemand sagen, wie ich dieses Problem schließen kann?
/ etc / network / interfaces:
auto lo eth0 eth1
iface lo inet loopback
iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
broadcast 172.16.1.255
gateway 172.16.1.254
Sudo-Route-Ausgaben:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 1 0 0 eth1
UPD: ifconfig gibt aus:
eth0 Link encap:Ethernet HWaddr 90:e6:ba:46:1d:50
inet6 addr: fe80::92e6:baff:fe46:1d50/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:184287 (184.2 KB)
eth1 Link encap:Ethernet HWaddr 00:04:75:98:5f:da
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::204:75ff:fe98:5fda/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14498 errors:0 dropped:0 overruns:2 frame:0
TX packets:13096 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9710708 (9.7 MB) TX bytes:1840400 (1.8 MB)
Interrupt:18 Base address:0x4c00
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:4398 errors:0 dropped:0 overruns:0 frame:0
TX packets:4398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:527890 (527.8 KB) TX bytes:527890 (527.8 KB)
nmcli dev status
können Sie auchping 192.168.0.1
?Antworten:
Wenn Sie die Ausgabe
ifconfig
und die Kommentare zu meiner ersten Antwort konfigurieren, hängt das Problem meiner Meinung nach damit zusammen, wie Sie Ihre Netzwerkkarten konfigurieren/etc/network/interfaces
.Da Sie keine spezifische Konfiguration für eth1 in haben
/etc/network/interfaces
, gibt Ihr Modem Ihrem Server vermutlich die IP-Informationen über DHCP an.route
Gemäß der Ausgabe erhalten Sie Ihr Standard-Gateway, das auf das Modem und damit auf das Internet verweist.In Ihrer
/etc/network/interfaces
Datei für eth0 ist jedoch auch ein Standard-Gateway konfiguriert (Anweisunggateway 172.16.1.254
).Sie können nicht zwei Standard-Gateways auf einem System haben. Die Zuweisung des Standard-Gateways auf eth1 deaktiviert die statische Konfiguration von eth0 , weshalb in der Ausgabe keine IP für eth0 vorhanden ist
ifconfig
und warum das Internet funktioniert und das interne Netzwerk nicht mehr.Sie müssen die Leitung entfernen
gateway 172.16.1.254
und es erneut versuchen.Wenn Sie mehr als ein Subnetz im internen LAN haben, können Sie diese auf diese Weise natürlich nicht mehr erreichen. Es sei denn, Sie konfigurieren die statische Route zu all diesen Subnetzen auf Ihrem Server:
Sie können den
route
Befehl in ein Skript einfügen, das unter gespeichert ist/etc/network/if-up.d
, um jedes Mal ausgeführt zu werden, wenn eine Schnittstelle aufgerufen wird.quelle
Soweit ich von Ihrem Beitrag weiß , stellen Sie über eth1 eine Verbindung zum Internet und über eth0 zu Ihrem internen Netzwerk her . Ihr Server spielt dann die Rolle des DHCP-Servers und des Standard-Gateways für Ihre PCs, um ins Internet zu gehen.
Überprüfen Sie zunächst auf dem PC, ob alle DHCP-Einstellungen, einschließlich des Gateways, korrekt empfangen wurden. Von Ihrer Frage gehe ich davon aus, dass es 172.16.1.100 sein sollte
Stellen Sie zweitens sicher, dass Ihr eth1 gut mit dem Internet verbunden und gut konfiguriert ist. Dies hängt natürlich von Ihrem ISP ab.
Schließlich müssen Sie als wichtigste Operation die IP-Weiterleitung zwischen Ihren beiden Schnittstellen auf dem Server aktivieren. Ohne dies wird das Paket nicht zwischen Ihrem PC und dem Internet weitergeleitet:
Manuelle Einrichtung :
Damit das IP-Weiterleitungsflag beim Booten automatisch eingerichtet wird, kommentieren Sie die Zeile
#net.ipv4.ip_forward=1
aus/etc/sysctl.conf
Sie müssen außerdem sicherstellen, dass keine Firewall-Regeln für IPtables vorhanden sind, die den Datenverkehr blockieren. Machen :
um eine Liste der Regeln zu erhalten, falls vorhanden. Ich würde dieses Setup zuerst mit allen deaktivierten Firewall-Regeln versuchen:
quelle
ifconfig
zu Ihrer Frage hinzufügen . Geben Sie außerdem an, wie Sie mit dem Internet verbunden sind.Ich hatte ein ähnliches Problem, aber meine Schnittstellendatei war wie folgt leer:
Ich konnte das Problem beheben, indem ich die gefundene Kabelverbindungsdatei verschob / entfernte:
/etc/NetworkManager/system-connections/Wired connection 1
Nach dem Neustart konnte eine Verbindung zu beiden Netzwerken hergestellt werden.
quelle