出于某种原因“sudo ssh -w any -o Tunnel=ethernet root@remote”创建了tun设备而不是tap设备

jpo*_*234 3 linux ssh ssh-tunneling tap

要将多个隧道端点连接到一个公共网桥接口,我必须通过 ssh 创建一个第 2 层隧道。服务器是 Ubuntu 10.04,客户端是 Ubuntu 14.04。我已启用

PermitTunnel yes
PermitRootLogin yes
Run Code Online (Sandbox Code Playgroud)

在服务器 /etc/sshd_config.conf 中。当我连接时,sudo ssh -w any:any -o "Tunnel=ethernet" root@remote我得到一个 tun 设备而不是预期的 Tap 设备。如果我在服务器上将“ PermitTunnel yes”更改为“ PermitTunnel ethernet”,则会收到“通道 0:打开失败:管理禁止:打开失败”错误消息,并且根本没有隧道设备。

我不知所措,因为我确信这曾经在过去的某个时候工作过(使用不同的机器,可能还有 Linux 版本)。

dad*_*der 6

我也有同样的问题。根据我的测试,它与服务器无关,而是与客户端有关。要么ssh 构建和配置,要么是由于本地网络配置。

我已经能够在我的笔记本电脑和我所有的设备之间创建一个 tap 接口,但是当我尝试在设备之间建立隧道时,只创建了 tun 接口。

[编辑] 解决方法包括将“-o”放在“-w”之前,如下所示:

ssh -o Tunnel=ethernet -w any:any root@remote
Run Code Online (Sandbox Code Playgroud)

代替 :

ssh -w any:any -o Tunnel=ethernet root@remote
Run Code Online (Sandbox Code Playgroud)

我自己试过了,它有效,这是来源:https : //bugs.launchpad.net/ubuntu/+source/openssh/+bug/1316017