阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7部署FRP服务,实现内网穿透

168次阅读
没有评论

共计 1990 个字符,预计需要花费 5 分钟才能阅读完成。




frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

如果您用过类似花生壳的服务,对 FRP 这个名词可能不陌生,FRP 可实现公网穿透到内网,即使您内网机器不支持公网 IP 也可以实现。不过花生壳之类的服务通常是限制流量或者需要额外付费,并且存在一定安全风险。如果您自己有 VPS 也可以轻松搭建 FRP,此处分享的是一个来自 Github 上的开源项目,这篇文章以 CentOS 7 X64 为例。

前提说明

FRP 分服务端和客户端两部分组成,接下来我们这篇文章需要实现的目的就是穿透到内网来连接 Windows PC,在开始之前先看下 FRP 结构图。

安装 FRP Server

作者已经提供了编译好的二进制包,下载解压 – 然后修改配置文件即可。

# 下载 server 端
wget https://github.com/fatedier/frp/releases/download/v0.25.0/frp_0.25.0_linux_amd64.tar.gz
#解压
tar -zxvf frp_0.25.0_linux_amd64.tar.gz
#进入目录
cd frp_0.25.0_linux_amd64

解压后我们会看到里面有好几个文件,Server 端我们只需要下面 2 个

-rwxrwxr-x 1 mysql mysql 11026848 Mar 11 17:15 frps
-rw-rw-r-- 1 mysql mysql       26 Mar 11 17:19 frps.ini

继续编辑 frps.ini 这个文件,写入以下内容:

[common]
bind_port = 7000

[mstsc]
listen_port = 3389
auth_token = 123456
  • bind_port: 主服务需要监听的端口,这里使用 7000
  • listen_port : 需要转发的端口,这里使用 3389
  • auth_token: 相当于验证密码,这里使用 123456,也可以不填写

配置文件完成后输入命令./frps -c ./frps.ini 启动服务端,当然也别忘记在防火墙放行端口哦。如果需要服务在后台运行,可以将命令替换为:nohup ./frps -c ./frps.ini &

#iptables 放行端口
iptables -A INPUT -p tcp --dport 7000 -j ACCEPT
iptables -A INPUT -p tcp --dport 3389 -j ACCEPT
service iptables save
#firewalld 放行端口
firewall-cmd --zone=public --add-port=7000/tcp --permanent
firewall-cmd --zone=public --add-port=3389/tcp --permanent
firewall-cmd --reload

安装 Windows 客户端

上面已提到 FRP 分服务端和客户端,上面的步骤已经完成服务端安装,接下来我们在 Windows 上安装客户端。

解压之后我们需要下面 2 个文件

frpc.exe
frpc.ini

修改配置文件 frpc.ini 内容如下:

[common]
server_addr = 1.1.1.1
server_port = 7000

[mstsc]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 3389
auth_token = 123456
  • server_addr: 为服务器公网 IP
  • server_port: FRP 主服务监听的端口
  • local_ip:本地电脑 IP
  • local_port: 本地电脑监听的端口(Windows 远程桌面服务默认监听 3389)
  • remote_port: Server 端需要转发的端口
  • auth_token: 验证密码,上个步骤我们设置的 123456

cmd 窗口下进入 FRP 客户端目录,然后执行命令 frpc.exe -c frpc.ini,如果不报错,那么客户端也正常运行了。假如您服务器 IP 是1.1.1.1,当您连接1.1.1.1:3389 时,就可以映射到内网的127.0.0.1:3389,从而实现内网穿透。

总结

上面的方法适合本地申请不到公网 IP 的童鞋,如果本地已经有公网 IP,直接使用光猫或路由器的 端口映射 功能即可。上面的工作只是转发了 TCP 流量,FRP 的用途远不止这些,如果有兴趣可以自行深入研究。

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计1990字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中