openwrt针对拨号上网与VPS建立动态反向ssh隧道实现NAT穿透
openwrt吧
全部回复
仅看楼主
level 1
fjh1997 楼主
#!/bin/sh
#检测是否建立反向隧道
icount=`ps -w|grep "ssh -Nfg"|grep -v grep|wc -l`
if [ $icount == 0 ];then
logger -t "ssh_remote" "ssh remote restart!"
#若没有,内网与114.114.114.114建立反向ssh隧道
ssh -Nfg -K 120 -R *:666:192.168.2.1:22 114.114.114.114 -p 26259 -l root
fi
echo 'starting....'
#读取当前客户端公网IP
Cip=`cat Cip.log | awk '{print $1;}' `
echo $Cip
#指定VPS公网IP
ip="114.114.114.114"
#返回内网路由公网IP
result=`ssh root@$ip -p 22 'echo $SSH_CLIENT' | awk '{print $1;}' `
echo $result
#比较当前IP与先前获取IP
if [ "$Cip" == "$result" ];then
echo "no kill"
else
echo "kill"
id=`ssh root@$ip -p 26259 "ps -w " | grep "ssh -Nfg" | grep -v grep | awk '{print $1;}' `
echo $id
#杀死隧道进程
ssh root@$ip -p 22 "kill "$id
#
echo "$result" > ./Cip.log
fi
echo 'finish....'
2018年08月09日 15点08分 1
level 1
fjh1997 楼主
放入crontab中每小时执行一次
2018年08月09日 15点08分 2
level 12
看不懂
2018年08月12日 00点08分 3
level 5
如何破解校园网的双层认证
2018年09月02日 03点09分 4
level 1
[真棒]
2019年09月11日 12点09分 5
1