frp内网穿透是通过一个带有公网IP的服务器进行中转,对被控主机实现反向代理,用户通过访问frps(中转服务器)来实现对frpc(被控主机)的远程访问。

frp项目地址:https://github.com/fatedier/frp

本人环境以腾讯云服务器作为中转机,中转服务器使用Centos7.6 64位,被控主机使用Centos7.6 64位,用户使用Windows10。

frps中转服务器配置

登录你的腾讯云或阿里云服务器: 

1、下载frp 放到你的服务器根目录下面

在一台有公网IP且有域名的主机上配置frps,我这里以腾讯云Centos7.x主机为例,依次执行以下命令:

tar xf frp_0.29.1_linux_amd64.tar.gz
mv frp_0.29.1_linux_amd64 /usr/local
cd /usr/local/frp_0.29.1_linux_amd64
rm -f frpc*

2、配置frps,执行命令:

vi frps.ini

内容填入:(注意服务器上这些个端口都要放行否则不能工作)

[common]
bind_port = 5443 #控制通信端口
vhost_http_port = 8081 #web端口

dashboard_user = 用户名 #frp控制面板用户名
dashboard_pwd = 密码 #frp控制面板密码
dashboard_port = 6443 #frp控制面板端口

3、启动frps 执行命令:启动服务./frps -c ./frps.ini,这是前台启动,后台启动命令为nohup ./frps -c ./frps.ini

配置启动服务

vi /etc/systemd/system/frps.service

填入以下内容:

[Unit]
Description=frps daemon
After=syslog.target  network.target
Wants=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/frp_0.29.1_linux_amd64/frps -c /usr/local/frp_0.29.1_linux_amd64/frps.ini
 
[Install]
WantedBy=multi-user.target

 执行命令:


systemctl enable frps
systemctl start frps

重启命令:systemctl restart frps 

 

4、访问监控平台

http://公网IP:6443

输入帐户密码

如果访问不了,请使用ss -lnt命令检查端口是否启动,是否因为防火墙原因拦截。

至此frps中转服务器配置完成

内网服务器配置:

1、把刚才下载的frp安装包放到你的内网服务器根目录,并且登录你的内网服务器依次执行命令:

tar xf frp_0.29.1_linux_amd64.tar.gz
mv frp_0.29.1_linux_amd64 /usr/local
cd /usr/local/frp_0.29.1_linux_amd64
rm -f frps*

2、配置frpc 执行命令:

vi ./frpc.ini

输入以下内容:

[common]
server_addr = #你的外网服务器IP
server_port = 5443 #外网服务器的通信服务端口



[ssh]
type = tcp
local_ip = 192.168.2.61 #内网的服务器IP
local_port = 22 #内网的SSH端口
remote_port = 6000 #对应外网的SSH端口

[web]
type = http
local_ip = 192.168.2.61 #内网的服务器IP
local_port = 99 #内网的web端口
remote_port = 8081 #对应外网的WEB端口
custom_domains = #你的外网域名

启动服务:执行./frpc -c ./frpc.ini启动,这是前台启动,后台启动命令为nohup ./frpc -c ./frpc.ini,建议先运行该命令,只要运行过程中有错误,都会回显。

如果运行报错,需要重新修改配置文件,需要先停止FRP的运行:

#查询进程与结束进程命令:

ps -ef |grep frpc

kill -9 [进程号]

3、配置启动服务 执行命令:

vi /etc/systemd/system/frpc.service

填入以下内容:

[Unit]
Description=frpc daemon
After=syslog.target  network.target
Wants=network.target

[Service]
Type=simple
ExecStart=/usr/local/frp_0.29.1_linux_amd64/frpc -c /usr/local/frp_0.29.1_linux_amd64/frpc.ini

[Install]
WantedBy=multi-user.target

执行命令:

systemctl enable frpc
systemctl start frpc

重启命令:systemctl restart frpc  

至此frpc被控主机配置完成

此时可通过x.x.x.x:6000连接内网ssh,通过http://x.x.x.x:8081访问内网主机web

SSH访问的用户名和密码就是你内网服务器的root用户名和密码;

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐