什么叫“内网穿透”?
加入我在局域网中有一台电脑,并且部署了一些web服务,希望所有人都能访问它。但这台电脑只有局域网ip,并没有公网ip。那么只有同一局域网内的设备才能通过ip找到这台电脑。而其他设备最多只能找到这台路由器,但却进不了你的局域网。
那么就需要内网穿透了。
https://www.zhihu.com/question/63098230
环境要求:VPS服务器(Linux CentOS 7) 、XShell(ssh工具)
服务器配置推荐:1个CPU核心(2.3-3.6GHz v3) 1G运行内存 带宽越大越好
1.连接服务器
打开XShell,在小黑窗里输入:ssh 你的服务器ip ,ssh的端口默认22,没改过端口的不用填写
样例:
ssh 123.123.123.123
出现这个页面输入登录名称,默认是root :
出现这个页面的时候输入密码,一般在买好的服务器的管理页面里:
完成的效果:
2.安装Frps
1.下载frp:
wget https://github.com/fatedier/frp/releases/download/v0.37.0/frp_0.37.0_linux_amd64.tar.gz
*一般服务器默认带有wget,没有wget使用:“apt -y install wget” 安装wget
2.解压压缩包:
tar -zxvf frp_0.37.0_linux_amd64.tar.gz
3.将解压好的文件移动
mv frp_0.37.0_linux_amd64 /usr/local/frp
4.进入刚才移动的文件所在的文件夹
cd /usr/local/frp/
5.修改Frps的配置文件
vim frps.ini
打开后的界面:
*没有上面的配置看下面
*按下i才能开启编辑,Ctrl+ins 才能粘贴(Xshell)
配置:
[common]
#Frp服务的端口:
bind_port = 7000
#Frp服务的验证方式(不用改,默认token就行)
authentication_method = token
#你的Token(密码)
token = abcd1234
#监听的ip(不用改)
dashboard_addr = 0.0.0.0
#管理面板端口(默认7500不用改)
dashboard_port = 7500
#管理面板用户名
dashboard_user = admin
#管理面板密码
dashboard_pwd = admin
#HTTP网页穿透的端口
vhost_http_port = 80
#HTTPS网页穿透的端口
vhost_https_port = 443
根据自己的情况改
改好了直接按下ESC,直接按下Shift+;、w、q 这三个键,退出编辑模式
6.启动Frps
nohup ./frps -c frps.ini & > /dev/null 2> /dev/null &
附:关闭Frps
ps -ef | grep frp
运行效果:
第二个数值就是PID:
关闭Frps:
kill -9 【PID】
示例:
kill -9 6305
3.配置客户端(本地)
1.从Github下载Frpc,下载后解压到文件夹里
https://github.com/fatedier/frp/releases
2.配置Frpc.ini
*避免选错,建议把所有frps的文件和exe都删除
可以根据Frpc_full.ini查看更多的配置
案例:
[common]
#服务器的IP
server_addr = 123.123.123
#服务器配置的端口
server_port = 7000
#服务器配置的Token(密码)
token = abcd1233
#这个案例是http网页的
[web]
#映射类型,详见frpc_full.ini
type = http
#需要映射的本地服务ip
local_ip = 192.168.1.6
#需要映射的本地服务端口
local_port = 80
#映射绑定的域名,没有域名可以直接写你的服务器IP
custom_domains = 123.123.123
3.在文件夹里打开cmd窗口启动frpc.exe
4.完成
恭喜你做到这里就已经全部完成了,上述内容有不对的欢迎在评论区指出~