ssh 设置gre隧道

ssh 设置gre隧道

ServerA我正在尝试在 VirtualBox 中运行的本地 Linux Mint 18.3 VM (" ") 和ServerB在另一个位置运行的远程 Ubuntu 18.04 服务器 (" ")之间创建 GRE 隧道。中间有防火墙,只允许 22 端口从ServerAServerB。另外,ServerA在 VirtualBox 中使用 NAT 接口;因此,本地 IP 属于ServerA10.0.2.15但它被 NAT 到主机的 IP,为简单起见,为1.1.1.1/24。我能够从 sshServerA到,所以我想我也许可以使用的选项ServerB设置 GRE 隧道,但我不完全理解如何设置它。这是我尝试过的许多事情之一。为简单起见,的 IP为。ssh-wServerB2.2.2.2/24

ServerA> sudo ip tunnel add tun0 mode gre local 1.1.1.1 remote 2.2.2.2 ttl 255
ServerA> sudo ip addr add 10.10.10.1/30 dev tun0
ServerA> sudo ip link set tun0 up

ServerB> sudo ip tunnel add tun0 mode gre local 2.2.2.2 remote 1.1.1.1 ttl 255
ServerB> sudo ip addr add 10.10.10.2/30 dev tun0
ServerB> sudo ip link set tun0 up

ServerA> ssh -Nf -w 0:0 [email protected]

我希望这-w 0:0能够将本地虚拟机的接口与远程服务器的接口ssh联系起来。但是,当我尝试这样做时,我得到以下结果:tun0tun0

# ssh -w 0:0 [email protected] 
[email protected]'s password: 
Tunnel device open failed.
Could not request tunnel forwarding.

我究竟做错了什么?

编辑-潜在的解决方案

我发现了另一个线程(但丢失了链接),其中采取了略有不同的方法。如果成功的话,我可能会稍后将其作为答案发布,但到目前为止,它看起来正在工作。它不是创建一个接口,而是tunnel创建一个taptun接口。

ServerA> sudo ip taptun add tun0 mode tun
ServerA> sudo ip addr add 10.10.10.1/30 dev tun0
ServerA> sudo ip link set tun0 up

ServerB> sudo ip taptun add tun0 mode tun
ServerB> sudo ip addr add 10.10.10.2/30 dev tun0
ServerB> sudo ip link set tun0 up

ServerA> ssh -Nf -w 0:0 [email protected]

这样就可以建立隧道了。我只需要看看它与 GRE 有什么不同,以及它是否适合我的申请。

相关内容