ssh ethernet tunneling als normaler benutzer

1

Ich möchte 2 Zapfgeräte anschließen. Das Tap-Gerät auf dem Remote-Server gehört "user". Das ist mein Test-Befehl:

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

Aber es funktioniert nicht, ich bekomme diesen Fehler:

channel 0: open failed: administratively prohibited: open failed

Auf dem Server werden die Tap-Geräte durch einen Mechanismus von opensuse 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?

Peter
quelle
1
Hallo. Welche Distribution und Lage?
Time4Tea
Ich bin etwas verwirrt. Ich wollte gerade "nicht" antworten, weil ich mich daran erinnere, dass in der Manpage einmal gesagt wurde, dass Sie Root-Rechte auf Ihrem Client benötigen, um ein Tun- oder Tap-Gerät zu erstellen, aber ich kann diese Bemerkung weder in Manpages sshnoch in ssh_configManpages finden. Ich glaube, ich habe keine Antwort für dich. :-(
Bananguin
1
Der Hahn ist bereits vorhanden und gehört dem Benutzer. ssh muss nur daran hängen. Als root gibt es kein Problem, aber ich bevorzuge die Verwendung eines normalen Benutzers.
Peter
Wie Sie sagen, ist es am einfachsten, auf beiden Seiten als Root zu arbeiten. Ich fühle mich auch nicht konfus dabei.
Rui F Ribeiro
@AB: natürlich PermitTunnel = yes. Auf dem Server scheint sich kein SELinux / Apparmor zu befinden. Es gibt kein solches Problem mit qemu, das hier problemlos an Tap-Geräte angeschlossen werden kann ... Ich vermute, dass das Problem spezifisch für sshd ist.
Peter

Antworten:

0

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

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

2.) Systemctl Netzwerk neu starten

3.) erstelle das gleiche setup mit dem "ip" tool:

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

Dies ist natürlich nur eine Problemumgehung. Eine bessere Antwort wäre, dass immer noch der von openSUSE bereitgestellte Mechanismus verwendet wird.

Peter
quelle