技术交流QQ群:①185473046   ②190706903   ③203744115   网站地图
登录

下次自动登录
现在的位置: 首页Linux>正文
Linux下使用frp搭建内网穿透服务器
2023年12月08日 Linux 暂无评论 ⁄ 被围观 3,128次+

frp是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

官方网站:https://gofrp.org/zh-cn/

具体实现:

1、需要一个公网ip地址,用来安装部署frp服务端frps

2、需要在内网环境中部署一台frp客户端frpc,当做代理服务器

3、用户访问公网ip地址,会先连接到frp客户端,再根据相应的规则去匹配转发,把请求发送到内网中其他主机上

4、在服务端需要开启相应的端口(7000,7001,7002,7003等)

安装部署:

1、下载frps

frp压缩包同时包含了 frps(frp 服务端)和frpc(frp 客户端)

下载地址:https://github.com/fatedier/frp/releases

https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz

2、服务端部署

#创建目录

mkdir -p /data/soft

mkdir -p /data/server

上传安装包frp_0.52.3_linux_amd64.tar.gz到/data/soft目录下面

#解压

cd /data/soft

tar zxvf frp_0.52.3_linux_amd64.tar.gz

mv /data/soft/frp_0.52.3_linux_amd64 /data/server/frp

#修改服务端配置文件

cp /data/server/frp/frps.toml /data/server/frp/frps.toml.bak

vi /data/server/frp/frps.toml

[common]

bind_addr = 0.0.0.0  #监听服务器所有地址

bind_port = 7000 #监听的端口

vhost_http_port = 7001,6001,5001 #http代理端口,可以代理多个http端口

vhost_https_port = 7002 #https代理端口

tcp_mux = true #优化传输

[authentication]

method = token #身份验证方式

token = 123456 #token设置密码,用于通过身份验证创建连接

:wq! #保持退出

#后台启动

nohup /data/server/frp/frps -c /data/server/frp/frps.toml > /dev/null 2>&1 &

#添加服务端开机启动

vi /usr/lib/systemd/system/frps.service

[Unit]

Description=frps

StartLimitIntervalSec=0

[Service]

Type=simple

Restart=always

RestartSec=1

User=root

WorkingDirectory=/data/server/frp

ExecStart=/usr/bin/env ./frps -c ./frps.toml

[Install]

WantedBy=multi-user.target

:wq! #保持退出

#重新加载 systemd 配置

systemctl daemon-reload

#启动frp

systemctl start frps

#停止frp

systemctl stop frps

#重启frp

systemctl restart frps

#查看frp状态

systemctl status frps

#服务在系统开机启动时自动启动

systemctl enable frps

3、客户端部署

#创建目录

mkdir -p /data/soft

mkdir -p /data/server

上传安装包frp_0.52.3_linux_amd64.tar.gz到/data/soft目录下面

#解压

cd /data/soft

tar zxvf frp_0.52.3_linux_amd64.tar.gz

mv /data/soft/frp_0.52.3_linux_amd64 /data/server/frp

#修改客户端配置文件

cp /data/server/frp/frpc.toml /data/server/frp/frpc.toml.bak

vi /data/server/frp/frpc.toml #编辑配置文件

[common]

server_addr = 1.2.3.4 #服务端的ip地址

server_port = 7000 #服务端的端口

tcp_mux = true #优化传输,和服务端必须一致

[authentication]

method = token #身份验证方式,和服务端必须一致

token = 123456 #token设置密码,用于通过身份验证创建连接,和服务端必须一致

[[tcp]]

type = tcp #代理类型,包含 tcp, udp, http, https 等

local_ip = 192.168.128.198 #要转发到的真实ip地址

local_port = 3389 #要转发到的真实ip地址的端口

remote_port = 7003  #远程服务器的代理端口

[[https]]

type = https #代理类型,包含 tcp, udp, http, https 等

local_ip = 192.168.131.235 #要转发到的真实ip地址

local_port = 443 #要转发到的真实ip地址的端口

custom_domains = www.domain.com #服务器域名或外网ip

:wq! #保持退出

#后台启动客户端

nohup /data/server/frp/frpc -c /data/server/frp/frpc.toml > /dev/null 2>&1 &

#添加客户端开机启动服务

vi /usr/lib/systemd/system/frpc.service

[Unit]

Description=frpc

StartLimitIntervalSec=0

[Service]

Type=simple

Restart=always

RestartSec=1

User=root

WorkingDirectory=/data/server/frp

ExecStart=/usr/bin/env ./frpc -c ./frpc.toml

[Install]

WantedBy=multi-user.target

:wq! #保持退出

#重新加载 systemd 配置

systemctl daemon-reload

#启动frp

systemctl start frpc

#停止frp

systemctl stop frpc

#重启frp

systemctl restart frpc

#查看frp状态

systemctl status frpc

#服务在系统开机启动时自动启动

systemctl enable frpc

4、验证

现在可以通过外网ip+端口来访问内网的服务器了。

内网端口暴露在公网上,请务必设置强密码,不要使用弱口令,很容易被攻击!

至此,Linux下使用frp搭建内网穿透服务器完成。

     

  系统运维技术交流QQ群:①185473046 系统运维技术交流□Ⅰ ②190706903 系统运维技术交流™Ⅱ ③203744115 系统运维技术交流™Ⅲ

给我留言

您必须 [ 登录 ] 才能发表留言!



Copyright© 2011-2024 系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接
陕ICP备11001040号-3