zendara
Goto Top

Kein Zugriff auf Ubuntu mit mehreren Netzwerkkarten

Hallo,

Ich habe einen Rechner installiert mit 3 Netzwerkkarten der mir meine Internetverbindungen überwachen soll. Als Betriebssystem benutze ich Ubuntu Desktop 12.04

Über eth0 überprüfe ich die Verbindung von unserer Glasfaserleitung. Das funktioniert
Über eth1 überprüfe ich die Verbindung über ADSL. Und das auch.

Nun möchte ich über eth2 welches im lokalen Netzwerk hängt daraus zugreifen.

Für den test benutze ich 2 sh/bash Dateien. ( keine Ahnung wie man Batch Dateien unter Linux bezeichnet.)

Die erste Batch Datei startet die zweite mit sudo

#!/bin/bash
sudo /home/conus/Dokumente/batch.sh
Die zweite deaktiviert eth1 und pingt über eth0 auf Google.
Danach wird eth0 deaktiviert, eth1 aktiviert und wieder auf Google gepingt.
Dazwischen gibt es immer wieder pausen damit beim aktivieren und deaktivieren genug zeit dazwischen ist.
Das geht endlos dahin und funktioniert auch wunderbar.

#!/bin/bash

extern='www.google.at'  
intern='192.168.1.2'  

echo -e "\e[31meth1 off... 10 sec.\e[0m"  
ifconfig eth1 down
sleep 10
echo -e "\e[92meth0 on Test start 10 sec.\e[0m"  
ifconfig eth0 up
sleep 10

echo =======================
echo Ping $extern
echo =======================
ping -I eth0 $extern -c 4
sleep 2

echo -e "\e[31meth0 off... 10 sec.\e[0m"  
ifconfig eth0 down
sleep 10
echo -e "\e[92meth1 on Test start 10 sec.\e[0m"  
ifconfig eth1 up
sleep 10

echo =======================
echo Ping $extern
echo =======================
ping -I eth1 $extern -c 4
sleep 2

/home/conus/Dokumente/batch.sh

Jetzt zu meinem eigentlichen Problem.

Mit eth2 welches im lokalen Netzwerk hängt möchte ich über VNC zugreifen.
Das funktioniert aber nur zeitweise für ein paar Sekunden.

So… also Plan mit VNC vorrübergehend verworfen und einen Ping auf den Ubuntu Rechner gestartet.
Man sieht, dass die Verbindung immer wieder unterbrochen wird.
Und zwar, so nehme ich an bekomme ich nur in dem Zeitraum eine Antwort wenn eth0 und eth1 gerade deaktiviert sind bzw. noch nicht verbunden sind.

Wenn eine Verbindung mit eht0 oder eth1 aufgebaut ist geht die Ping-antwort von eth2 über eine andere Schnittstelle raus oder wird verworfen, keine Ahnung.

conus@Connecttest:~$ ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:23:54:8e:0b:3f  
          inet Adresse:85.XXX.XXX.226  Bcast:85.XXX.XXX.231  Maske:255.255.255.248
          inet6-Adresse: fe80::223:54ff:fe8e:b3f/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:50192 errors:0 dropped:695 overruns:0 frame:0
          TX packets:104356 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:22496779 (22.4 MB)  TX-Bytes:15675708 (15.6 MB)

eth1      Link encap:Ethernet  Hardware Adresse 00:40:f4:b0:97:47  
          inet Adresse:10.0.0.5  Bcast:10.0.0.255  Maske:255.255.255.0
          inet6-Adresse: fe80::240:f4ff:feb0:9747/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:57217 errors:0 dropped:0 overruns:0 frame:0
          TX packets:107607 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:34803552 (34.8 MB)  TX-Bytes:15188227 (15.1 MB)

eth2      Link encap:Ethernet  Hardware Adresse 00:40:f4:96:ab:e3  
          inet Adresse:192.168.8.199  Bcast:192.168.8.255  Maske:255.255.255.0
          inet6-Adresse: fe80::240:f4ff:fe96:abe3/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:76577 errors:0 dropped:0 overruns:0 frame:0
          TX packets:60337 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX-Bytes:7225072 (7.2 MB)  TX-Bytes:5850773 (5.8 MB)

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX packets:128675 errors:0 dropped:0 overruns:0 frame:0
          TX packets:128675 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX-Bytes:11790692 (11.7 MB)  TX-Bytes:11790692 (11.7 MB)

conus@Connecttest:~$ route -n
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
0.0.0.0         85.XXX.XXX.225    0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     1      0        0 eth1
85.XXX.XXX.224    0.0.0.0         255.255.255.248 U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.8.0     0.0.0.0         255.255.255.0   U     1      0        0 eth2



Hat jemand eine Ahnung was da genau passiert und wie man es lösen kann.?
Habe ich routing Probleme oder liegt der Fehler ganz wo anders?

Bin für jeden Tip dankbar

lg
Zendara

Content-ID: 220802

Url: https://administrator.de/contentid/220802

Ausgedruckt am: 08.11.2024 um 05:11 Uhr

Lochkartenstanzer
Lochkartenstanzer 30.10.2013 um 15:08:39 Uhr
Goto Top
Zitat von @Zendara:
Hallo,

Als Betriebssystem benutze ich Ubuntu Desktop 12.04

mit oder ohne den defat-netowrkmanager?

hast Du die netzwerkeinstellugen über /etc/network/interfaces oder üerb den Netorkmanager gemacht.

Der Network-Manager ist großer Mist, udn pfuscht einem ständig dazwischen, wenn man manuelle Änderugne an den Schnittsteleineinstellungen machen will.


Über eth0 überprüfe ich die Verbindung von unserer Glasfaserleitung. Das funktioniert
Über eth1 überprüfe ich die Verbindung über ADSL. Und das auch.

was heißt "das funktioniert"?

Für den test benutze ich 2 sh/bash Dateien. ( keine Ahnung wie man Batch Dateien unter Linux bezeichnet.)

shell-skripte.

Die erste Batch Datei startet die zweite mit sudo

> #!/bin/bash
> sudo /home/conus/Dokumente/batch.sh
> 

Unter unixoiden Betriebssystemn packt man user-spezifische skripte und kommandos üblicher weise unter "~/bin".

Die zweite deaktiviert eth1 und pingt über eth0 auf Google.
Danach wird eth0 deaktiviert, eth1 aktiviert und wieder auf Google gepingt.
Dazwischen gibt es immer wieder pausen damit beim aktivieren und deaktivieren genug zeit dazwischen ist.
Das geht endlos dahin und funktioniert auch wunderbar.

Und was machst Du mit der default route zwischendurch?


Jetzt zu meinem eigentlichen Problem.

Mit eth2 welches im lokalen Netzwerk hängt möchte ich über VNC zugreifen.
Das funktioniert aber nur zeitweise für ein paar Sekunden.



So… also Plan mit VNC vorrübergehend verworfen und einen Ping auf den Ubuntu Rechner gestartet.
Man sieht, dass die Verbindung immer wieder unterbrochen wird.
Und zwar, so nehme ich an bekomme ich nur in dem Zeitraum eine Antwort wenn eth0 und eth1 gerade deaktiviert sind bzw. noch nicht
verbunden sind.

Meine Kristallkugel sagt, Dein netzwerk-manager ist schuld. Wirf den runter und stell mal alles in /etc/network/interfaces ein.


Grüße,

lks
Zendara
Zendara 30.10.2013 aktualisiert um 15:51:59 Uhr
Goto Top
Hallo Iks,

danke für die Antwort und nützlichen Infos face-smile

mit oder ohne den defat-netowrkmanager?

hast Du die netzwerkeinstellugen über /etc/network/interfaces oder üerb den Netorkmanager gemacht.

Falls du folgendes meinst dann ist der Networkmanager deaktiviert.

sudo nano /etc/NetworkManager/NetworkManager.conf

main]
plugins=ifupdown,keyfile
dns=dnsmasq

no-auto-default=00:23:54:8E:0B:3F,00:40:F4:B0:97:47,00:40:F4:96:AB:E3,

[ifupdown]
managed=false

was heißt "das funktioniert"?

wenn zb. eth0 aktiviert ist, eth1 deaktiviert ist pinge ich über eth0 auf www.google.at und bekomme auch eine antwort.

Und was machst Du mit der default route zwischendurch?

Ich mach gar nicht. Das shell-skripte läuft einfach durch und aktiviert/deaktiviert und pingt nur.

Wirf den runter und stell mal alles in /etc/network/interfaces ein.

Der sieht so aus:

auto lo
iface lo inet loopback

Die Netzwerkeinstallungen habe ich über das GUI gemacht eth0, eth1 sind statisch und eth2 bekommt die IP von DHCP Server.

Hoffe das war die richtige Antwort auf deine Frage.

LG
Zendara
Lochkartenstanzer
Lochkartenstanzer 30.10.2013 um 15:55:19 Uhr
Goto Top
Zitat von @Zendara:
> Wirf den runter und stell mal alles in /etc/network/interfaces ein.

Der so aus:

> auto lo
> iface lo inet loopback
> 

Das ist die Minimalkonfiguration. wie ich befürchtet habe. Stell mal die ganz Netzwerkkonfiguration hier ein.

Die Netzwerkeinstallungen habe ich über das GUI gemacht eth0, eth1 sind statisch und eth2 bekommt die IP von DHCP Server.

Das ist der Fehler. Der Netzwerkmanager (die GUI) ist nur für simple Fälle gedacht, daß immer nur ein Interface aktiv ist (zumidnest habe ich den Eidnruck, daß der Programmierer deies Tools nichts andres kennt).

Wenn Du dann mit skripten an der netzwerkkonfiguration z.B. mit ifconfig , herumfummelst, funkt der Dir dauernd dazwischen. Stell also in der o.g. Konfigurationsdatei die Interfaces ein udn dann soltle es funktionieren.

Hoffe das war die richtige Antwort auf deine Frage.

Ja.

lks
Zendara
Zendara 30.10.2013 um 16:15:49 Uhr
Goto Top
Bevor ich jetzt abspeichere noch eine Frage.

Soll das Ergebnis so aussehen?

[main]
plugins=ifupdown,keyfile
dns=dnsmasq

no-auto-default=00:23:54:8E:0B:3F,00:40:F4:B0:97:47,00:40:F4:96:AB:E3,

[ifupdown]
managed=false

auto eth0
iface eth0 inet static
address 85.XXX.XXX.226
netmask 255.255.255.248
gateway 85.XXX.XXX.225

auto eth1
iface eth1 inet static
address 10.0.0.5
netmask 255.255.255.0
gateway 10.0.0.138

auto eth2
iface eth2 inet dhcp

oder müssen die Einträger die standardmäßig drin sind entfernt werden?

danke und lg
Zendara
Zendara
Zendara 30.10.2013 um 16:32:36 Uhr
Goto Top
Jetzt bin ich grad noch am suchen und rätzeln...
Im Netz finde ich jetzt Beispiele wo zischen address und der eigentlichen IP ein = ist und bei anderen Beispielen wieder nur ein Abstand.
Ist es egal ob man = oder Abstand benutzt?

zB.
address 10.0.0.5
netmask 255.255.255.0

address=10.0.0.5
netmask=255.255.255.0


LG
aqui
aqui 30.10.2013 aktualisiert um 16:55:33 Uhr
Goto Top
http://www.duden.de/suchen/dudenonline/rätseln

Spannend wäre noch zu wissen ob du Masquerading (NAT) machst am eth0, denn dort ist eine öffentliche IP und die mit RFC 1918 IPs zusammenzubringen ist ja nicht so der Hit bzw. der Provider wird das nicht so gerne haben.
Fraglich was auch die gegenseite Aktivierung und Deaktivierung soll. (Du benutzt da ein "Shellscript")
Mit einmaligem Umbigen der Route oder ein paar anderen Shell kniffen ist das überflüssig.
Was die Adress Definitionen der Interface anbetrifft ist Ubuntu zu Bebian identisch und dann kannst du dir das hier abgucken:
Netzwerk Management Server mit Raspberry Pi
Zendara
Zendara 31.10.2013 um 15:55:35 Uhr
Goto Top
Hallo,

danke für die Antwort.
Nun ist dieses Rätsel auch geklärt.

eth0 hat eine öffentliche IP und diese ist nur auf diesem Rechner vergeben.

Die Aktivierung und Deaktivierung hat einen ganz einfachen Grund. Der Rechner hängt mit eth2 im Firmennetzwerk und könnte somit unsere Firewall aushebeln. Aktiviere ich die Netzwerkkarten nur für den Zeitraum des Verbindungstests wird natürlich ein eindringen über diesen Rechner so gut wie unmöglich gemacht. Wenn dann alles so funktioniert wie ich das gerne möchte, soll am Schluss das Skript nur 2 mal am Tag durchlaufen und nicht so schnell wie jetzt.
Ob diese Lösung schön ist oder nicht lässt sich natürlich streiten.
In der /etc/network/interfaces steht nun folgendes

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
hwaddress 00:23:54:8E:0B:3F
address 85.XXX.XXX.226
netmask 255.255.255.248
network 85.XXX.XXX.224
broadcast 85.XXX.XXX.231
gateway 85.XXX.XXX.225
dns-nameserver 80.XXX.XXX.1

auto eth1
iface eth1 inet static
hwaddress 00:40:F4:B0:97:47
address 10.0.0.5
netmask 255.255.255.0
network 10.0.0.0
broadcast 192.168.1.255
gateway 10.0.0.138
dnsnameserver 10.0.0.138

auto eth2
iface eth2 inet dhcp

In /etc/NetworkManager/NetworkManager.conf steht:
[main]
plugins=ifupdown,keyfile
dns=dnsmasq

no-auto-default=00:23:54:8E:0B:3F,00:40:F4:B0:97:47,00:40:F4:96:AB:E3,

[ifupdown]
managed=false

Jetzt versuche ich schon den ganzen Tag das ganze zum Laufen zu bekommen.
Leider ohne Erfolg.
Eth0 kann auf 85.XXX.XXX.225 pingen
Eth1 kann auf 10.0.0.138 pingen
Eth2 kann auf 192.168.8.1 pingen (die Firewall)
Keine der Schnittstellen kann auf www.google.at pingen und auch nicht wenn ich die IP angebe.
Network is unrechable.

Die Firewall trennt unser Netzwerk in 2 Netze. 192.168.8.0 und 192.168.0.0
Seit ich das umgestellt habe, kann ich von 192.168.0.0 keinen ping mehr an 198.168.8.199 (vom DHCP Server die zugewiesene IP für eth2) schicken.
Zugriff von 192.168.8.0 auf 192.168.8.199 geht mit Ping und VNC.

Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
10.0.0.0        *               255.255.255.0   U     0      0        0 eth1
85.XXX.XXX.224    *               255.255.255.248 U     0      0        0 eth0
192.168.8.0     *               255.255.255.0   U     0      0        0 eth2

/etc/resolv.conf
nameserver 80.XXX.XXX.1
nameserver 10.0.0.138
nameserver 192.168.8.1

search bla

Jetzt habe einfach keine Ahnung mehr nach was ich noch suchen soll bzw. was ich noch posten könnte was zu einer Lösung meines Problems führen könnte.

Danke LG
Zendara
Lochkartenstanzer
Lochkartenstanzer 31.10.2013 aktualisiert um 18:29:43 Uhr
Goto Top
Zitat von @Zendara:
Die Aktivierung und Deaktivierung hat einen ganz einfachen Grund. Der Rechner hängt mit eth2 im Firmennetzwerk und
könnte somit unsere Firewall aushebeln.

Dann ist das ein nogo

In diesem Falle mußt Du die Kiste "außen" hinstellen udn durch passende FW-Regeln den Zugriff von innen auf diese Kiste erlauben. Alles andere ist grob fahrlässig. (Und wäre ich der FW-Admin, würde ich an Dir mein neuestes LART ausprbieren).

lks
Zendara
Zendara 01.11.2013 um 19:30:37 Uhr
Goto Top
OK hast recht. Ich werde den Rechner vor die Firewall stellen. Dadurch ändert sich aber leider nichts an der Funktion der Netzwerkkarten.