it-swarm.com.de

Es können nicht zwei Netzwerkschnittstellen gleichzeitig verwendet werden

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, ist auf dem PC kein Internet verfügbar. Also muss ich mich zwischen Server und Internet entscheiden. Kann mir jemand sagen, wie ich dieses Problem lösen 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-Routenausgaben:

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)
9
Andreikkaa

Bei der Konfiguration der Ausgabe von ifconfig und der Kommentare zu meiner ersten Antwort habe ich den Eindruck, dass das Problem damit zusammenhängt, wie Sie Ihre Netzwerkkarten in /etc/network/interfaces konfigurieren.

Da Sie keine spezifische Konfiguration für eth1 in /etc/network/interfaces haben, nehme ich an, dass Ihr Modem Ihrem Server die IP-Informationen über DHCP übermittelt. Gemäß der Ausgabe von route erhalten Sie Ihr Standard-Gateway, das auf das Modem und damit auf das Internet verweist.

Aber in Ihrer /etc/network/interfaces -Datei für eth ist auch ein Standard-Gateway konfiguriert (Anweisung gateway 172.16.1.254).

Sie können nicht zwei Standardgateways auf einem System haben. Die Zuweisung des Standard-Gateways auf eth1 deaktiviert die statische Konfiguration von eth, aus welchem ​​Grund es in der Ausgabe von ifconfig keine IP für eth gibt und warum Internet funktioniert und das interne Netzwerk nicht mehr.

Sie müssen die Zeile gateway 172.16.1.254 entfernen und es erneut versuchen.

Auf diese Weise können Sie natürlich nicht mehr auf mehrere Subnetze im internen LAN zugreifen. Es sei denn, Sie konfigurieren eine statische Route zu all diesen Subnetzen auf Ihrem Server:

Sudo route add -net A.B.C.D gw 172.16.1.254

sie können den Befehl route in ein Skript einfügen, das unter /etc/network/if-up.d gespeichert ist und bei jedem Aufruf einer Schnittstelle ausgeführt wird.

4
Benoit

Soweit ich von Ihrem Beitrag verstehe, verbinden Sie sich mit dem Internet über eth1 und mit Ihrem internen Netzwerk über eth. Ihr Server fungiert dann als DHCP-Server und als Standard-Gateway für den Internetzugang Ihres PCs.

Überprüfen Sie zunächst auf dem PC, ob alle DHCP-Einstellungen korrekt empfangen wurden, einschließlich des Gateways. Aus Ihrer Frage gehe ich davon aus, dass es 172.16.1.100 sein sollte

Zweitens: Stellen Sie sicher, dass Ihr eth1 eine gute Verbindung zum Internet hat und gut konfiguriert ist. Dies hängt natürlich von Ihrem ISP ab.

Schließlich, die wichtigste Operation, müssen Sie die IP-Weiterleitung zwischen Ihren beiden Schnittstellen auf dem Server aktivieren. Ohne diese Option wird das Paket nicht zwischen Ihrem PC und dem Internet weitergeleitet:

Manuelle Einrichtung :

Sudo-Echo 1>/proc/sys/net/ipv4/ip_forward

Damit das IP-Weiterleitungsflag beim Booten automatisch eingerichtet wird, entfernen Sie das Kommentarzeichen in der Zeile #net.ipv4.ip_forward=1 in /etc/sysctl.conf.

Sie müssen auch sicherstellen, dass es keine IPtables-Firewallregeln gibt, die den Datenverkehr blockieren. Machen :

iptables -L -n

um eine Liste der Regeln zu erhalten. Ich würde dieses Setup zuerst mit deaktivierten Firewall-Regeln versuchen:

iptables -F

3
Benoit

Ich hatte ein ähnliches Problem, aber meine Interface-Datei war wie folgt leer:

# The loopback network interface
auto lo
iface lo inet loopback

Es ist mir gelungen, das Problem durch Verschieben/Entfernen der gefundenen Kabelverbindungsdatei zu beheben: /etc/NetworkManager/system-connections/Wired connection 1

Nach dem Neustart konnte eine Verbindung zu beiden Netzwerken hergestellt werden.

2
Maksim Luzik