现在的位置: 首页随笔>正文
利用ssh搭建vpn
发表于7年前 随笔 暂无评论 ⁄ 被围观 2,314 次+

 ssh-vpn

实验环境
A
192.168.5.68/24

B
192.168.1.25/24
公网地址:
tangyouisme.gicp.net

实现:
在A网段可直接连到B网段,反过来也一样

步骤:
一,先在A,B上分别做如下操作:
1,
sysctl -w net.ipv4.ip_forward=1
2,
更改/etc/ssh/sshd_config
AllowTcpForwarding yes
GatewayPorts yes
PermitTunnel yes
/etc/init.d/sshd reload

二,
在A上:
1,
ssh -C -o TCPKeepAlive=yes -w 4:4 tangyouisme.gicp.net
连上之后输入:
vmstat 10
或者:
while true ; do date ; sleep 10; done
防止ssh断开

2,另开一终端:
ifconfig tun4 10.0.0.1 pointopoint 10.0.0.2
route add -net 192.168.1.0/24 gw 10.0.0.1
iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -j MASQUERADE

在B上:
ifconfig tun4 10.0.0.2 pointopoint 10.0.0.1
route add -net 192.168.5.0/24 gw 10.0.0.1
route add -net 192.168.10.0/24 gw 10.0.0.1
iptables -t nat -A POSTROUTING -s 0/0 -d 0/0 -j MASQUERADE

这个样子在A能ping通192.168.1.25和10.0.0.2,B能ping通192.168.5.68和10.0.0.1,但是A网段中的其它机器与B网段之间还是不能通信的

在A网段其它机器上添加路由: route add -net 192.168.1.0/24 gw 192.168.5.68
在B网段其它机器上添加路由: route add -net 192.168.5.0/24 gw 192.168.1.25
route add -net 192.168.10.0/24 gw 192.168.1.25 (A网段和10网段是相通的,所以加上这条路由之后B网段和10网段之间也能连通了)

给我留言

留言无头像?