技术积累
日进一寸

frp安装

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

2、服务端部署

#创建目录

mkdir -p /data/soft
mkdir -p /data/server

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

#解压
cd /data/soft
wget https://github.com/fatedier/frp/releases/download/v0.52.3/frp_0.52.3_linux_amd64.tar.gz
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
vhost_https_port = 7002
tcp_mux = true
authentication_method = token
token = 123456

: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  #远程服务器的代理端口
[http]
type = http #代理类型,包含 tcp, udp, http, https 等 
local_ip = 192.168.199.239 #要转发到的真实ip地址 
local_port = 7001 #要转发到的真实ip地址的端口 
custom_domains = zhangdaqi.duckdns.org #服务器域名或外网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搭建内网穿透服务器完成。

原文链接:https://www.osyunwei.com/archives/14110.html

赞(0)
未经允许不得转载:DongVPS » frp安装
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址