1. 什么是内网穿透
当你有一台可以连接互联网的机器需要远程搬砖(简称搬砖机),但是又没有公网ip地址,这时可以通过配置内网穿透来远程连接这台机器。原理是用一台具有公网ip的服务器来把命令转发到搬砖机。
2. 操作流程2.1 购买服务器
首先在各种云服务商买一台服务器,比如最近腾讯云有56元一年的轻量级服务器就可以。
2.2 下载frp工具
名词定义
- 服务端:具有公网ip地址的云服务器
- 客户端:想要连接的搬砖机
服务端,客户端都下载
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
2.3 服务端配置
frps.ini
[common]
# frp监听的端口,默认是7000,可以改成其他的
bind_port = 7000
# 授权码,请改成更复杂的
token = SET_A_TOKEN
# frp管理后台端口,请按自己需求更改
dashboard_port = 7500
# frp管理后台用户名和密码,请改成自己的
dashboard_user = admin
dashboard_pwd = admin
enable_prometheus = true
# frp日志配置
log_file = /var/log/frps.log
log_level = info
log_max_days = 3
systemctl设置开机自动启动
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps
服务器开防火墙 tcp 6000,6001,7000,7500
# 添加监听端口 sudo firewall-cmd --permanent --add-port=7000/tcp
# 添加管理后台端口
sudo firewall-cmd --permanent --add-port=7500/tcp
sudo firewall-cmd --permanent --add-port=6001/tcp
sudo firewall-cmd --permanent --add-port=6000/tcp
sudo firewall-cmd --reload
注意这里防火墙要开两次,一次在网页的控制台,一次在服务器的命令行。之后可以验证服务端是否工作正常,服务端dashboard在浏览器访问 http://{云服务器公网ip}:7500/
image出现类似这样的页面说明服务端OK。
2.4 客户端配置
类似的修改frpc.ini
[common]
server_addr = YOUR_REMOTE_IP
server_port = 7000
token = SET_A_TOKEN
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
如果要配置多个搬砖机,不同的client需要改名字(ssh2)和remote端口,server端口不变。因为连接的是同一个服务器。
[common]
server_addr = YOUR_REMOTE_IP
server_port = 7000
token = SET_A_TOKEN
[ssh2]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6001
客户端启动服务
sudo mkdir -p /etc/frp
sudo cp frpc.ini /etc/frp
sudo cp frpc /usr/bin
sudo cp systemd/frpc.service /usr/lib/systemd/system/
sudo systemctl enable frpc
sudo systemctl start frpc
2.5 大功告成!
现在你可以用ssh {server_ip}:{remote_port} 这种方式连接你的搬砖机愉快的干活啦!
image