天天看点

通过ssh建立点对点的隧道,实现两个子网通信

查看ssh帮助文档是发现有个-w的参数,说明如下:

可以建立“point-to-point”的隧道,类似于pptp的作用

假设现在有北京和上网两个组网,内外网IP如下:

通过ssh建立点对点的隧道,实现两个子网通信

 准备工作:

服务端需要开启隧道参数(上图中的上海节点)

登录北京的机器操作:

 TCPKeepAlive ServerAliveInterval 两个参数是为了保持连接,防止网络抖动是ssh隧道断掉

-f表示后台运行

-w 10:10 表示两边用于隧道通信的网卡名字为 tun10 ,如果0:0,那两边网卡就是tun0

注意:不要混淆了Linux下面名为tunl0的预设Tunnel界面,请用 ip addr show 命令检查。

执行完成这一步之后连边会同时增加一个tun10名的网卡

此时隧道已经建立,但是两边暂时还不能通信,需要制定两边网卡的ip和启动网卡

执行完成上面命令之后 两边已经可以相互ping通了,

如果需要两个子网通信需要指定路由和利用iptables做snat

例如上海访问北京:

 执行完成后在上海的子网 已经可以和北京的子网内其他机器通信了

如果需要北京子网也访问上海子网的话

根据上面修改即可;

ssh 隧道还有个有点就是只需要服务端有公网IP就行,客户端不需要有公网IP,只要可以访问服务端的公网IP即可

继续阅读