内网穿透可以让我们在外网访问校内网资源,相当于一个非官方的vpn
一.frp
1.需要一台外网服务器,可以购买阿里云,腾讯云,华为云等
安装设置
参考官方文件:
https://github.com/fatedier/frp/blob/master/README_zh.md
总之就是:
外网服务器运行:frps,设置frps.ini
内网服务器运行:frc,设置frpc.ini
多客户端设置frpc.ini
1 | [common] |
主要在于同一个内网机器的中括号名字不能一样;
不同内网机器:端口号remote_port需要不一样
run
提交到后台
1 | nohup ./frpc -c ./frpc.ini & |
访问ssh:命令登录或xshell访问
1 | ssh -oPort=[ssh port] username@ip |
RDP远程桌面
被远程电脑需要设置为可被远程
shadowsocks隧道设置
如果觉得每台机器都要分别设置太麻烦,可以使用shadowsocks进行统一接管;
1.同上,内网机器,安装frpc
frpc.ini
1 | ;开启SSH |
2内网机器安装shadowsocks服务端
1)windows版本
下载编译好的,如shadowsocks-libqss-v2.0.2-win64.7z
https://github.com/shadowsocks/libQtShadowsocks/releases
解压后,在目录下创建config.json:
server_port与frpc设置一样
1 | { |
目录下创建启动脚本start.bat:
1 | @echo off |
2)linux(centos)版本
C++版本:
1 | cd /etc/yum.repos.d/ |
修改配置文件:/etc/shadowsocks-libev/config.json
1 | { |
使用命令systemctl enable shadowsocks-libev将ss加入开机启动,
之后执行systemctl start shadowsocks-libev启动。
命令systemctl status shadowsocks-libev可以查看ss服务的状态。
参考:centOS上安装shadowsocks server
python版本:
pip install shadowsocks安装;
然后vi /etc/shadowsocks.json编辑ss配置文件
通过which ssserver查找ssserver位置,运行指令:
1 | ssserver -c /etc/shadowsocks.json |
运行如果报EVP_CIPHER_CTX_cleanup错误,则需要修改dist-packages/shadowsocks/crypto/openssl.py这个文件里的 cleanup 替换为reset.参考:shadowsocks2.8.2启动报未定义符号:EVP_CIPHER_CTX_cleanup错误
然后可以放到开机自启命令中,参考https://www.4spaces.org/install-shadowsocks-on-centos-7/
防火墙记得开放端口!
3.需要操作的电脑装shadowsocks客户端
ss客户端:
在CENTOS 7上建造Shadowsocks图文教程
ip填入frpc的公网IP地址,其它按照json配置填写。
ssr开启全局模式,同时如果要访问192.*,127.*这些网址,需要去掉ss规则里面:user.rule文件最后,删除对应行
同时,如果内网机器有其它代理软件也要去除绕过局域网的规则
clash客户端:
点击General的Genaral YML,编辑配置文件去除绕过局域网的规则
如果不想全局模式,则可以使用clash分流:
具体使用教程参考另外两篇博客:Clash各版本(win,mac,linux)使用教程(增加规则,搭配Proxy SwitchyOmega): http://honve.xyz/2019/11/28/clash%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B(%E6%90%AD%E9%85%8DProxy%20SwitchyOmega)/#more
使用xshell连接服务器,需要设置代理:
clash的socks5端口为7891
参考文章:https://github.com/shadowsocks/libQtShadowsocks/releases
与http://baijiahao.baidu.com/s?id=1657652322074739908
二.小米球ngrok
如果没有云服务器,那就用别人的了
官方的ngrok 服务器在国外,卡;小米球ngrok 在国内,速度比官方好点,可以用于做内网网站的演示
官方的https://ngrok.com/也很简单:解压–设置authtoken–运行
官网:http://ngrok.ciqiuwl.cn/
1. 注册得到token
2. 下载文件,填入token
3.运行
第一次运行查看分配的端口
1 | ./ngrok -config ngrok.conf -log=ngrok.log start sshtun httptun |
提交ngrok到后台:
** 使用nohup **
需要添加-log=stdout,这样屏幕才不会输入
1 | nohup ./ngrok -config=ngrok.conf -log=stdout start sshtun httptun & |
** 使用screen **
先输入
1 | sudo screen -S ngrok |
( -S后面的名字可以随便取)
然后输入
1 | ./ngrok -config ngrok.conf -log=ngrok.log start sshtun httptun |
最后按快捷键
ctrl+A+D