• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] Einrichten einer Bridge

Mainframe

Newbie
Moin zusammen,

ich verweifele hier beim Einrichten einer Bridge mit einem tap link. Die Bridge soll ein Virtuelles System ( in diesem Fall ein z/OS unter Hercules ) via Layer 3
mit dem Gastgeber ( OpenSUSE 15.1 ) verbinden.

Setup des Netzes :

ip link set eth0 master br0
ip link set tap0 master br0
ip route delete default via 192.168.178.1 dev eth0
ip addr flush dev eth0
ip addr add 192.168.178.43/24 broadcast 192.168.178.255 dev tap0
ip link set dev br0 up
ip link set dev tap0 up
ip route add default via 192.168.178.1 dev tap0

ifcg-br0

BOOTPROTO='none'
BRIDGE='yes'
BRIDGE_FORWARDDELAY='0'
BRIDGE_PORTS=''
BRIDGE_STP='off'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME=''
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'

ifcfg-tap0

BOOTPROTO='static'
STARTMODE='auto'
TUNNEL='tap'
TUNNEL_SET_GROUP=''
TUNNEL_SET_OWNER=''
LINK_REQUIRED='no'

Aus irgendwelchen kühlen Gründen bekomme aber den tap0 Link nicht "UP"

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,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP mode DEFAULT group default qlen 1000
link/ether d4:3d:7e:d8:23:bf brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether 92:93:e5:48:12:43 brd ff:ff:ff:ff:ff:ff
4: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN mode DEFAULT group default qlen 1000
link/ether 92:93:e5:48:12:43 brd ff:ff:ff:ff:ff:ff

ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether d4:3d:7e:d8:23:bf brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 92:93:e5:48:12:43 brd ff:ff:ff:ff:ff:ff
4: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 1000
link/ether 92:93:e5:48:12:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.178.43/24 brd 192.168.178.255 scope global tap0
valid_lft forever preferred_lft forever

ip route
default via 192.168.178.1 dev tap0 linkdown
192.168.178.0/24 dev tap0 proto kernel scope link src 192.168.178.43 linkdown

Hat da jemand eine Idee ?
 

gehrke

Administrator
Teammitglied
Bitte zukünftig <code>-Tags verwenden - https://linux-club.de/forum/viewtopic.php?f=92&t=105750
TNX
 
Mainframe schrieb:
Aus irgendwelchen kühlen Gründen bekomme aber den tap0 Link nicht "UP"

tap ist dafür nicht geeignet, außerdem sind tap und tun sowieso obsolet.
Ein tap geht NUR dann UP wenn ein listener dranhängt! Den hast du nicht.
Nimm ein MACVLAN, auch das Patchkabel VETH sollte funktionieren.

Gruß
Gräfin Klara
 
OP
Mainframe

Mainframe

Newbie
Moin zusammen,

erstmal Danke für die Hinweise ;)

Nachdem ich noch einiges an Doc's gelesen habe ist das Problem gelöst.
Hercules ( das ist der Hardware Emulator ) nutzt immer eine tun Device. Normalerweise richtet der Emulator eine
Device ein und vergibt die IP-Adresse des Gastsystems ( z/OS ). Aus irgendwelchen kühlen Gründen gibt es da
ein Problem mit Suse.

Umgehung :

Sag Hercules ich mache das und schon wuppt es.

Code:
thomas@Big-Tux:~> ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether d4:3d:7e:d8:23:bf brd ff:ff:ff:ff:ff:ff
    inet 192.168.178.43/24 brd 192.168.178.255 scope global eth0
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 500
    link/none 
    inet 192.168.178.43 peer 192.168.179.200/24 scope global tun0
       valid_lft forever preferred_lft forever
thomas@Big-Tux:~> 

thomas@Big-Tux:~> ip route
default via 192.168.178.1 dev eth0 proto dhcp 
192.168.178.0/24 dev eth0 proto kernel scope link src 192.168.178.43 
192.168.179.0/24 dev tun0 proto kernel scope link src 192.168.178.43 
thomas@Big-Tux:~>

Da ich nicht der Netzwerker vor dem Herren bin noch eine Frage :

Wie route ich jetzt von tun0 in die weite Welt ?

Schönen Sonntag noch
 
Mainframe schrieb:
Nachdem ich noch einiges an Doc's gelesen habe ist das Problem gelöst.
Verstehe ich nicht.
Du hast vielversprechend mit einem TAP begonnen, nur ein listener hat gefehlt.
Nun hast du den listener Hercules, das virtuelle device geht UP, aber nun kommst du mit einem TUN daher.
Ein TUN kann nur die oberen 50% der Protokolle am Stack und ist deshalb für eine Bridge ungeeignet.
Das war ja deine eigentliche Frage, doch nun hängst du mit einem TUN, auch wenn UP, in der Luft.
Die Bridge will ethernet, dein eth0 will auch ethernet, dein TUN kann das nicht.
Was ist gelöst?

Mainframe schrieb:
Wie route ich jetzt von tun0 in die weite Welt ?
Wenn du Hercules (kenne ich nicht) auf der anderen Seite direkt an eth0 binden kannst, wie z.B. openVPN. dann mit einer default route auf tun0.
Wenn aber Hercules kein ethernet kann oder gar keine zweite Seite zum Tunneln "TUN" hat, dann gar nicht.

Gruß
Gräfin Klara
 
OP
Mainframe

Mainframe

Newbie
Hi,

Status "Gelöst" weil mein Problem ist (teilweise) gelöst.
Hercules Hyperion ist ein Emulator für IBM Mainframes. In diesem Emulator kann man das Betriebssystem z/OS
betreiben. Hercules ist eigentlich immer in der Entwicklung um den neuen HW-Anforderungen zu folgen.
OSA ( Open System Adapter ) ist eine "Netzwerkkarte" für den Mainframe der natürlich auch emuliert wird.
Um mit dem Gastgebersystem via IP zu reden nutzt Hercules eine tap oder in den aktuellen Versionen eine tun device.
So im Source-Code bei git zu lesen.

Hercules erzeugt beim start des Gastsystem ( z/OS ) eine tun device und versucht die IP-Addr des z/OS auf diese device zu mappen.
Suse hat damit wohl ein Problem.

Die Umgehungslösung ist die tun device selbst zu erzeugen .
Code:
ip tuntap add mode tun dev tun0
ip -4 addr add dev tun0 192.168.178.43 peer 192.178.179.200/24
ip link set dev tun0 mtu 1500
 
Oben