![隧道设备问题(OpenSSH 7.3)](https://linux22.com/image/1511070/%E9%9A%A7%E9%81%93%E8%AE%BE%E5%A4%87%E9%97%AE%E9%A2%98%EF%BC%88OpenSSH%207.3%EF%BC%89.png)
我在使用带有新版 OpenSSH 的隧道设备时遇到了一个奇怪的问题。我有最新的 OpenSSH 7.3p1 (Debian) 客户端和服务器端,它们运行着最新的 Linux 内核 (4.7.0),也是来自 Debian 存储库。
我可以使用带有隧道设备的 ssh 服务器,这些隧道设备来自使用较旧 OpenSSH 和较旧 Linux 内核版本的客户端。从最近的客户端,我也可以使用带有较旧 ssh 服务器的隧道设备。
我的问题是,如果我尝试从最新的客户端程序连接到最新的服务器,那么在配置隧道设备后,我会收到(使用-vvv)以下错误消息
# ifconfig tun1 10.1.1.1 pointtopoint 10.1.1.2
debug2: channel 0: write failed
debug2: channel 0: close_write
debug2: channel 0: chan_shutdown_write: shutdown() failed for fd 5: Socket operation on non-socket
debug2: channel 0: output open -> closed
隧道不工作,这意味着,数据包可以从客户端使用 tcpdump 服务器端查看,但没有一个数据包从服务器发送回客户端。由于服务器可以从较旧的客户端使用(带有内核 4.4.0 的 OpenSSH 7.1p2 可以工作;带有内核 4.5.0 的 OpenSSH 7.2p2 也不工作),因此它与服务器无关。否则它也可能不是客户端,因为使用较旧的服务器版本它也可以正常工作。有什么提示可以解决这些奇怪的问题吗?没有阻止流量的 iptables。