当前位置: 代码迷 >> 综合 >> CentOS 7 搭建frp内网穿透
  详细解决方案

CentOS 7 搭建frp内网穿透

热度:67   发布时间:2023-09-05 18:30:46.0

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

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

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

frps中转服务器配置

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

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

CentOS 7 搭建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

 CentOS 7 搭建frp内网穿透

4、访问监控平台

http://公网IP:6443

输入帐户密码

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

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

CentOS 7 搭建frp内网穿透

内网服务器配置:

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

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

至此frpc被控主机配置完成

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

  相关解决方案