ServerA
ServerB
VirtualBox에서 실행되는 로컬 Linux Mint 18.3 VM(" ")과 다른 위치에서 실행되는 원격 Ubuntu 18.04 서버(" ") 사이에 GRE 터널을 생성하려고 합니다 . ServerA
중간 에 22번 포트만 허용하는 방화벽이 있습니다 ServerB
. 또한 ServerA
NAT 인터페이스는 VirtualBox에서 사용되므로 로컬 IP는 속 ServerA
하지만 10.0.2.15
단순화를 위해 호스트의 IP에 NAT됩니다 1.1.1.1/24
. SSH로 연결할 수 있으므로 ServerA
options 을 사용하여 GRE 터널을 설정할 수 있을 것 같지만 ServerB
설정 방법을 완전히 이해하지 못합니다. 이것은 내가 시도한 많은 것 중 하나입니다. 단순화를 위해 IP는 .ssh
-w
ServerB
2.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
연결할 수 있었으면 좋겠습니다 . 그러나 이 작업을 수행하려고 하면 다음과 같은 결과가 나타납니다.tun0
tun0
# 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와 어떻게 다른지, 내 지원서에 적합한지 확인하면 됩니다.