通常のユーザーとして ssh イーサネット トンネリング

通常のユーザーとして ssh イーサネット トンネリング

2 つのタップ デバイスを接続したいと思います。リモート サーバー上のタップ デバイスの所有者は「ユーザー」です。テスト コマンドは次のとおりです。

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

しかし、動作せず、次のエラーが発生します:

channel 0: open failed: administratively prohibited: open failed

サーバー上では、tap デバイスは opensuse の何らかのメカニズムによって作成されます。設定ファイルは /etc/sysconfig/network/ifcfg-tap[0-2] です。

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

および /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'

この問題をどうすれば解決できるでしょうか?

答え1

理由は分かりませんが、これは機能します (AB に感謝します):

1.) /etc/sysconfig/network内の関連ファイルを削除します。

2.) systemctlネットワークを再起動します

3.) 「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

もちろん、これは単なる回避策です。より良い答えは、openSUSE が提供するメカニズムを引き続き使用することです。

関連情報