软件源码在https://github.com/fatedier/frp/releases上,根据系统类型,按需下载。
教程术语描述
A 是有固定IP的云服务器(这里以阿里云服务器为例) B 是公司内网服务器 C 是家里windowns系统
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
cd frp_0.45.0_linux_amd64/
[common]
bind_port = 7000
7000端口是供
内网服务器B
来监听 10000端口是供云服务器A
转发到内网服务器B
用的
apt install firewalld # 安装防火墙
firewall-cmd --permanent --zone=public --add-port=7000/tcp
firewall-cmd --permanent --zone=public --add-port=10000/tcp
systemctl reload firewalld
实例详情》配置安全组规则》配置规则 (协议TCP)
./frps -c frps.ini
# 成功运行如下
2022/12/10 11:59:30 [I] [root.go:206] frps uses config file: frps.ini
2022/12/10 11:59:31 [I] [service.go:196] frps tcp listen on 0.0.0.0:7000
2022/12/10 11:59:31 [I] [root.go:215] frps started successfully
wget https://github.com/fatedier/frp/releases/download/v0.45.0/frp_0.45.0_linux_amd64.tar.gz
tar -zxvf frp_0.45.0_linux_amd64.tar.gz
cd frp_0.45.0_linux_amd64/
[common]
server_addr = 8.134.210.33 # 服务器的公网IP
server_port = 7000
[ssh] #这个名字可以随便改
type = tcp
local_ip = 127.0.0.1 #一般不修改
local_port = 22 #外界连接本机的哪个端口
remote_port = 10000 #外界可以通过哪个端口访问进来
#外界通过 公网IP + remote_port ---访问---> local_ip + local_port
#如:访问8.134.210.33:10000 实质访问 127.0.0.1:22
./frpc -c frpc.ini
# 成功运行如下
2022/12/10 12:09:51 [I] [service.go:357] [bdd6a6b31aa4727a] login to server success, get run id [bdd6a6b31aa4727a], server udp port [0]
2022/12/10 12:09:51 [I] [proxy_manager.go:142] [bdd6a6b31aa4727a] proxy added: [ssh]
2022/12/10 12:09:51 [I] [control.go:177] [bdd6a6b31aa4727a] [ssh] start proxy success
通过公网IP+端口访问公司内网的服务器
ssh的IP是云服务器的公网IP 端口号是
内网服务器B
的对外开放端口(云服务器也需要开放这个端口)
ssh xj@8.134.210.33:10000
服务器端
nohup ./frps -c frps.ini >/dev/null 2>/dev/null &
客户端
nohup ./frpc -c frpc.ini >/dev/null 2>/dev/null &
sudo cp /lib/systemd/system/rc-local.service /etc/systemd/system
然后修改/etc/systemd/system/rc-local.service,在文件最下方添加如下两行
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
创建**sudo vi /etc/rc.local **,里边写自己想要运行的命令。例:
#!/bin/sh
echo "This is test(xj)" > /tmp/my.log
#自行修改为绝对路径
nohup /root/frp/frpc -c /root/frp/frpc.ini &
给/etc/rc.local加上可执行权限
sudo chmod +x /etc/rc.local
启动后可以发现:/tmp下已经有了my.log文件,里边内容为:"This is test"。
systemctl命令
启动服务
sudo systemctl start rc-local.service
查看服务状态
sudo systemctl status rc-local.service
好了,教程就到这里了