红联Linux门户
Linux帮助

利用ssh隧道让不同子网互联

发布时间:2017-02-04 14:58:57来源:linux网站作者:cikenerd
假设我们的网络拓扑如下图所示,B能够直连A,B想要直连与A同一子网的其它机器。
利用ssh隧道让不同子网互联
 
1.在A上执行
#打开IP转发
$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward  
 
2.修改A的/etc/ssh/sshd_config文件,允许root登入,允许隧道转发
PermitRootLogin yes  
PermitTunnel yes  
 
3.在B上执行
#通过A创建SSH隧道  
$ sudo ssh -NTCf -w 0:0 1.2.3.4
如果没有错误发生的话,在A和B上执行
$ ip addr show tun0  
会有如下字段
tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1510 qdisc pfifo_fast state UNKNOWN qlen 500
link/none 
 
4.创建点对点通信链路
在A上执行
ip link set tun0 up  
ip addr add 10.0.0.100/32 peer 10.0.0.200 dev tun0
在B上执行
ip link set tun0 up  
ip addr add 10.0.0.200/32 peer 10.0.0.100 dev tun0
此时AB已经能够通过虚拟IP互相ping通了
 
5.添加路由
在B上执行
route add -net 192.168.1.0/24 gw 10.0.0.100
此时B能够直连与A机器同一子网的其它机器了。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/28135.html