CentOS 7部署frp穿透内网服务器

centos7安装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这个文件,写入以下内容: 注释:bind_port=700 开启7000作为本地服务 vhost_http_port = 7002 开启7002作为穿透内网链接的服务器 dashboard_port = 7001 公网后台页面端口 dashboard_user 公网后台用户名 dashboard_pwd 公网后台密码 token 密钥 log_file 日志 ** subdomain_host 公网能访问的域名解析**

[common]
bind_port = 7000
vhost_http_port = 7002
subdomain_host = test.test.com
dashboard_port = 7001
dashboard_user = admin
dashboard_pwd = abc123456
token = frp
max_pool_count = 10
log_file = ./frps.log
log_level = info
log_max_days = 3

Bash

Copy

配置文件完成后输入命令./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 7001 -j ACCEPT iptables -A INPUT -p tcp --dport 7002 -j ACCEPT service iptables save

#firewalld放行端口 firewall-cmd --zone=public --add-port=7000/tcp --permanent firewall-cmd --zone=public --add-port=7001/tcp --permanent firewall-cmd --zone=public --add-port=7002/tcp --permanent firewall-cmd --reload

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

Windows 客户端下载地址:frp_0.25.0_windows_amd64.zip 解压之后我们需要下面2个文件

可以配置多个web服务 

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

[common]
server_addr = 公网ip
server_port = 7000
token = frp
user = admin

[web]
type = http
local_ip = 127.0.0.1 (本地服务器ip)
local_port = 80 (本地端口)
custom_domains = test.test.com (域名)
http_user = dahai (域名访问设置用户)
http_pwd = 123456 (域名访问设置密码)

[web]
type = http
local_ip = 127.0.0.1 (本地服务器ip)
local_port = 81 (本地端口)
custom_domains = test1.test.com (域名)
http_user = dahai (域名访问设置用户)
http_pwd = 123456 (域名访问设置密码)

Bash

Copy

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:7002时,就可以映射到内网的127.0.0.1:7002,从而实现内网穿透。

linux centos服务器机子记得编辑的是frpc.ini 配置一样即可这里就不复制了,记得修改你需要知道的域名端口即可 如果不用账号密码访问配置文件中删掉即可 启动./frpc -c ./frpc.ini & 后台启动 ./frpc -c ./frpc.ini &

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

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

最新版服务端/客户端下载:https://github.com/fatedier/frp/releases

个人参考配置
服务器端:
[common]
bind_addr = 0.0.0.0             //绑定地址
bind_port = 8888                //TCP绑定端口
bind_udp_port = 8888            //UDP绑定端口
kcp_bind_port = 8888            //KCP绑定端口
vhost_http_port = 80            //HTTP代理端口
vhost_https_port = 443          //HTTPS代理端口
dashboard_addr = 0.0.0.0        //仪表盘地址
dashboard_port = 10000          //仪表盘端口
dashboard_user = admin          //仪表盘用户名
dashboard_pwd = admin           //仪表盘密码
token = 123456                  //连接密码
subdomain_host = test.com       //子域名使用的主机名
客户端:
[common]
server_addr = 172.16.100.100    //服务器地址
server_port = 8888              //服务器绑定端口
token = 123456                  //特权模式密码

[web]                           //服务名称(自定义)
local_ip = 192.168.10.50        //本机ip
type = http                      //链路类型
local_port = 80                 //本机端口
subdomain = web                 //服务端为test.com,故此处子域名为web.test.com
custom_domains = demo.com       //自定义访问域名,多个使用,分割
use_compression = true          //使用压缩
use_encryption = true           //使用加密

[ssh]                           //服务名称(自定义)
local_ip = 192.168.10.50        //本机ip
type = tcp                      //链路类型
local_port = 22                 //本机端口
remote_port = 9000              //远程访问端口
use_compression = true          //使用压缩
use_encryption = true           //使用加密

 

本问来自大海技术博客 http://www.ypyunedu.com/article/96

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章