学校的教务系统位于学校的内网中,想要访问必须在机房里登录或者连上校园 Wifi,但是寝室中的网络,网关设备通过 VPN 拨入了学校内网,因此在寝室中可以正常访问教务系统,在路由器上设置 SSH Tunnel 方便在外网访问教务系统。
2019 年 9 月 12 日更新:这个方法不优雅,其实直接在路由器上设置端口转发即可实现,将源区域及目标区域均设置为 wan 即可。
设置 SSH Tunnel
OpenWrt 系统并没有使用 OpenSSH 实现 SSH 服务,而是使用 dropbear 替代。OpenWrt 中 SSH 命令同样是由 dropbear 实现,如果要使用密钥的方式登录 SSH,必须使用 dropbear 私有的格式生成密钥对。执行命令后私钥自动保存到文件中,而公钥则打印在控制台当中。
1
dropbearkey -t rsa -s 2048 /root/.ssh/id_dropbear
在 LuCI 中保存 SSH 公钥,设置好 SSH 服务后,启用 SSH 隧道。
1
2
3
4
5
6
7ssh -f -N -g -y -L 8015:10.1.1.15:80 root@192.168.9.254/8022 -i
# -f 在后台启动SSH
# -N 不打开远端Shell
# -g 允许端口转发
# -y 不经过询问
# -L 监听端口及转发端口
# -i 私钥文件,不跟路径则默认为~/.ssh/id_dropbear
启动 SSH 隧道后,发现已经监听了 8015 端口。
最后打开防火墙的 8015 端口
自动启动 SSH Tunnel
1
2
3
4
5
6
7#!/bin/sh
[ "$INTERFACE" = wan1 ] || exit 0
if [ "$ACTION" = ifup ];then
/etc/init.d/dropbear restart /usr/bin/ssh -f -N -g -y -L 8015:10.1.1.15:80 root@192.168.9.254/8022 -i
else
/usr/bin/pgrep ssh | /usr/bin/xargs kill -s 9
fi
保存到 /etc/hotplug.d/iface/99-user 下,即可实现 WAN 联机时自动启动 SSH Tunnel。
本文链接:https://www.kinber.cn/post/4149.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: