ubuntuusers.de

switch-interfaces /etc/network/interfaces

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

frank-w

Anmeldungsdatum:
30. September 2008

Beiträge: 419

Hallo,

ich habe in meinem Rechner (Bananapi R2) einen Switch integriert, und sehe über den DSA-Treiber die 4 Ports als nicht-NIC-Interfaces.

prinzipiell sind die 4 Ports HW-mäßig über eth0 angebunden

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
root@bpi-iot-ros-ai:~# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3e:3a:36:55:76:4c brd ff:ff:ff:ff:ff:ff
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
4: wan@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3e:3a:36:55:76:4c brd ff:ff:ff:ff:ff:ff
5: lan0@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3e:3a:36:55:76:4c brd ff:ff:ff:ff:ff:ff
6: lan1@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3e:3a:36:55:76:4c brd ff:ff:ff:ff:ff:ff
7: lan2@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3e:3a:36:55:76:4c brd ff:ff:ff:ff:ff:ff
8: lan3@eth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 3e:3a:36:55:76:4c brd ff:ff:ff:ff:ff:ff

mir geht es um lan0-lan3

manuell bekomme ich die so zum laufen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
root@bpi-iot-ros-ai:~# ifconfig eth0 up
root@bpi-iot-ros-ai:~# ifconfig lan0 192.168.0.10/24
root@bpi-iot-ros-ai:~# ifconfig lan0 up
root@bpi-iot-ros-ai:~# ping 192.168.0.5
PING 192.168.0.5 (192.168.0.5) 56(84) bytes of data.
64 bytes from 192.168.0.5: icmp_seq=1 ttl=64 time=0.878 ms
64 bytes from 192.168.0.5: icmp_seq=2 ttl=64 time=0.441 ms
^C
--- 192.168.0.5 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 0.441/0.659/0.878/0.220 ms

so nun versuche ich das irgendwie in die /etc/network/interfaces zu bekommen

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
auto eth0
    iface eth0 inet manual
    pre-up ifconfig $IFACE up  #nur damit kommt eth0 erstmal up
    post-down ifconfig $IFACE down

auto lan0
    iface eth0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.5

so nun kommt eth0 up, lan0 nicht und eth0 bekommt die IP von lan0

es muss aber so sein, wie oben angegeben, eth0 nur up, und ip darf nur lan0 bekommen

habe schon ne Weile rumgegoogled...aber diese DSA-Geschichte ist halt recht selten (vermutlich nur bei bestimmten arm-SOCs/Boards) gibt es da einen Trick?

Gruß Frank

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

frank-w schrieb:

[…] Switch integriert, und sehe über den DSA-Treiber die 4 Ports als nicht-NIC-Interfaces.

Du redest über Netzwerk-Schnittstellen (NIC: network interface card/controller). Was meinst Du in diesem Kontext mit „nicht-NIC“?

[…] /etc/network/interfaces […]

auto eth0
    iface eth0 inet manual
    pre-up ifconfig $IFACE up  #nur damit kommt eth0 erstmal up
    post-down ifconfig $IFACE down

auto lan0
    iface eth0 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.5
  • Zeilenendkommentare gehören nicht in die Datei /etc/network/interfaces, da sie leicht zur Fehlfunktion führen.

  • Wenn Du lan0 konfigurieren möchtest, erstelle eine Konfiguration für diese Schnittstelle und nicht eine weitere für eth0!

NB: ifconfig ist bei Linux veraltet. Vermeide es. ip aus iproute2 ist bei Linux das universelle Programm zur Einstellung von Netzwerkschnittstellen.

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

hallo, mit nicht NIC meine ich die Switch-Ports, die keine richtigen NICs sind...der SOC hat nur 2 Ethernet-Lines (NICs), an einem (eth0) hängt der Switch-Chip (mt7530). über den DSA-Treiber werden für diese 4 Ports eigene Interfaces erzeugt (gleiche MAC-Adresse). Es sind also keine eigenständigen Ethernet-Karten

der Kommentar ist bei mir nicht in der Interfaces...habe ich nur hier im forum hinzugefügt ☺

ah...da ist ein Schreibfehler (bzw. copy&paste), der ist mir nicht aufgefallen...könnte natürlich die Ursache sein ☺

wie würde die manuelle config mit ip aussehen? "ip addr add x.x.x.x" ?

Danke dir, ich teste das mal

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

frank-w schrieb:

[…] manuelle config mit ip

  • Einschalten der Schnittstelle eth0:

    sudo ip link set eth0 up 

    Entsprechend Ausschalten mit down.

  • IP-Adresse zuweisen:

    sudo ip addr add 192.168.0.10/24 dev eth0 
  • Route setzen, hier default-route:

    sudo ip route add 0.0.0.0/0 via 192.168.0.5 

    Dabei muss das gateway 192.168.0.5 bereits erreichbar sein.

  • Schlau machen:

    ip help
    ip link help
    ip addr help
    man ip
    man ip-link

    u.s.w.

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

hallo,

also es scheint, als wird die IP jetzt schonmal richtig gesetzt..

1
2
3
4
5
6
7
8
ip a
...
5: lan0@eth0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default
 qlen 1000
    link/ether 08:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global lan0
       valid_lft forever preferred_lft forever
...

wenn ich noch ein

ip link set lan0 up

hinterherwerfe (sollte das die /etc/network/interfaces nicht selbst machen, bzw. der dienst, der diese Datei liest), sehe ich das interface auch bei ifconfig

1
2
3
4
5
6
7
8
lan0      Link encap:Ethernet  HWaddr 08:00:00:00:00:00  
          inet addr:192.168.0.10  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:ff:fe00:0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:46 (46.0 B)  TX bytes:516 (516.0 B)

muss ich da wie bei eth0 noch ein "pre-up ifconfig $IFACE up" reinmachen?

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
auto eth0

iface eth0 inet manual
        pre-up ifconfig $IFACE up
        post-down ifconfig $IFACE down

auto lan0

iface lan0 inet static
        address 192.168.0.10
        netmask 255.255.255.0
        gateway 192.168.0.5

auto lan1

iface lan1 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        #gateway 192.168.0.5

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9615

Wohnort: Münster

frank-w schrieb:

[…] wenn ich noch ein

ip link set lan0 up

hinterherwerfe (sollte das die /etc/network/interfaces nicht selbst machen, bzw. der dienst, der diese Datei liest)

Ja, Methode static inkludiert eigentlich ein ip link set $IFACE up. Liegt vielleicht am DSA-Treiber, dass es hier nicht erfolgt.

[…] muss ich da wie bei eth0 noch ein "pre-up ifconfig $IFACE up" reinmachen?

Besser: pre-up ip link set $IFACE up. Wirf ifconfig weg.

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

da hat sich noch ein "altes" ifconfig versteckt...habs jetzt so:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
auto eth0
iface eth0 inet manual
  pre-up ip link set $IFACE up
  post-down ip link set $IFACE down

auto lan0
iface lan0 inet static
  hwaddress ether 08:00:00:00:00:00 # if you want to set MAC manually
  address 192.168.0.10
  netmask 255.255.255.0
  gateway 192.168.0.5
  pre-up ip link set $IFACE up
  post-down ip link set $IFACE down

auto lan1
iface lan1 inet static
  hwaddress ether 08:00:00:00:00:01 # if you want to set MAC manually
  address 192.168.1.10
  netmask 255.255.255.0
  pre-up ip link set $IFACE up
  post-down ip link set $IFACE down

so kommen alle 3 Interfaces automatisch hoch und funktionieren

Danke dir *closed*

Antworten |