SSH-Ethernet-Tunneling als normaler Benutzer

SSH-Ethernet-Tunneling als normaler Benutzer

Ich möchte 2 Tap-Geräte verbinden. Das Tap-Gerät auf dem Remote-Server gehört „Benutzer“. Dies ist mein Testbefehl:

# ssh -oTunnel=ethernet -w0:0 user@server

Aber es funktioniert nicht, ich erhalte diese Fehlermeldung:

channel 0: open failed: administratively prohibited: open failed

Auf dem Server werden die Tap-Geräte durch einen OpenSUSE-Mechanismus erstellt. Die Konfigurationsdateien sind /etc/sysconfig/network/ifcfg-tap[0-2]:

BOOTPROTO='static'
STARTMODE='auto'
TUNNEL='tap'
TUNNEL_SET_GROUP=''
TUNNEL_SET_OWNER='user'

und /etc/sysconfig/network/ifcfg-br0:

BOOTPROTO='static'
BRIDGE='yes'
BRIDGE_FORWARDDELAY='0'
BRIDGE_PORTS='tap0 tap1 tap2'
BRIDGE_STP='off'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='192.168.1.103/24'
MTU=''
NAME=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'

Wie könnte ich dieses Problem lösen?

Antwort1

Ich weiß nicht warum, aber das funktioniert (danke an AB):

1.) Entfernen Sie die entsprechenden Dateien in /etc/sysconfig/network

2.) systemctl restart network

3.) Erstellen Sie dasselbe Setup mit dem Tool „ip“:

ip tuntap add tap0 mode tap user user
ip tuntap add tap1 mode tap user user
ip tuntap add tap2 mode tap user user
ip link add name br0 type bridge
ip link set tap0 master br0
ip link set tap1 master br0
ip link set tap2 master br0
ip addr add dev br0 192.168.1.103/24
ip link set br0 up
ip link set tap0 up
ip link set tap1 up
ip link set tap2 up

Natürlich ist das nur ein Workaround. Eine bessere Lösung wäre, weiterhin den von openSUSE bereitgestellten Mechanismus zu verwenden.

verwandte Informationen