centos7下frp内网穿透搭建及frp自启配置
一、配置frp内网穿透
1、准备工作
1.1、外网可访问服务器一台。
1.2、外网可访问域名。
1.3、本地电脑一台或多台。
1.4、frp内网穿透安装包,frp下载路径 https://github.com/fatedier/frp/releases
2、配置服务端内网穿透。
2.1、在服务器上找到frp的安装包打开frps.ini,如下配置。
[common]
bind_port = 7000
vhost_http_port=10000
3、配置客户端
3.1、在客户端上找到frp的安装包打开frpc.ini,如下配置
[common]
server_addr = 12.51.21.16 #这是你远端服务器的IP
server_port = 7000
[web]
type = http
custom_domains = xxx.com
local_port = 10000
二、启动frp内网穿透
1、启动服务器端frp
1.1、进入服务器frp的安装包文件夹,执行命令
./frps -c ./frps.ini
2、启动客户端frp
1.1、进入客户端frp的安装包文件夹,执行命令
./frpc.exe -c ./frpc.ini
三、访问域名加端口,如xxx.com:10000
四、centos7 服务端后台运行frp
1.1、使用systemctl来控制启动
vi /lib/systemd/system/frps.service
1.2、在frps.service上配置后台运行,写入以下代码。
[Unit]
Description=frps service
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple
#启动服务的命令(此处写你的frps的实际安装目录)
ExecStart=/opt/frp/frps -c /opt/frp/frps.ini
[Install]
WantedBy=multi-user.target
1.3、frps配置后的相关指令
启动frps
systemctl start frps
开启开机自启动
systemctl enable frps
关闭开机自启动
systemctl disable frps
重启frps服务
systemctl restart frps
停止frps服务
systemctl stop frps
查看frps服务状态
systemctl status frps
执行如下命令即可
执行后按提示完成安装
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
执行以上命令即可
处理完后 在 frps.ini 文件添加 参数 (路径:/usr/local/frps)
subdomain_host = 域名(不带http)
处理完后 在 frps.ini 文件添加 参数 (路径:/usr/local/frps)
subdomain_host = 域名(不带http)
有一定基础的 直接看上面即可 下面是分步的 详细教程 这种一键方式是方法一, 如果失败请看后面的方法二
本处高能:因Frp作者更换新的模块,导致Frp v0.18.0与之前的版本不兼容,如果升级请服务器端同步升级。升级命令:
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
bash install-frps.sh update
复制代码
首先感谢@sadoneli S大的帮助完成了frp插件web页面的制作。
WARNING:请仔细阅读完本教程1楼和2楼后再动手安装!
frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
*因为frp是go语言写的,所以在路由器上使用的时候,请使用虚拟内存,请使用虚拟内存,请使用虚拟内存。
脚本是业余爱好,英文属于文盲,写的不好,欢迎您批评指正。
安装平台:CentOS、Debian、Ubuntu。
已测试过的平台:
CentOS 6 32/64bit
CentOS 7 32/64bit
Debian 6 32/64bit
Debian 7 32/64bit
Debian 8 32/64bit
Ubuntu 14 32/64bit
一、安装命令这个命令是在你自己的服务器上运行的!是在你自己的服务器上运行的!是在你自己的服务器上运行的!不是在路由器里运行的!不是在路由器里运行的!不是在路由器里运行的!
wget --no-check-certificate https://raw.githubusercontent.com/clangcn/onekey-install-shell/master/frps/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
复制代码
二、安装步骤
Loading network version for frps, please wait...
frps Latest release file frp_0.8.1_linux_amd64.tar.gz #此步骤会自动获取frp最新版本,自动操作,无需理会
Loading You Server IP, please wait...
You Server IP:12.12.12.12 #自动获取你服务器的IP地址
Please input your server setting:
Please input frps bind_port [1-65535](Default Server Port: 5443): #输入frp提供服务的端口,用于服务器端和客户端通信
Please input frps dashboard_port [1-65535](Default dashboard_port: 6443): #输入frp的控制台服务端口,用于查看frp工作状态
Please input frps vhost_http_port [1-65535](Default vhost_http_port: 80): #输入frp进行http穿透的http服务端口
Please input frps vhost_https_port [1-65535](Default vhost_https_port: 443): #输入frp进行https穿透的https服务端口
Please input privilege_token (Default: WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq): #输入frp服务器和客户端通信的密码,默认是随机生成的
Please input frps max_pool_count [1-200](Default max_pool_count: 50): #设置每个代理可以创建的连接池上限,默认50
##### Please select log_level #####
1: info
2: warn
3: error
4: debug
#####################################################
Enter your choice (1, 2, 3, 4 or exit. default [1]): #设置日志等级,4个选项,默认是info
Please input frps log_max_days [1-30]
(Default log_max_days: 3 day): #设置日志保留天数,范围是1到30天,默认保留3天。
##### Please select log_file #####
1: enable
2: disable
#####################################################
Enter your choice (1, 2 or exit. default [1]): #设置是否开启日志记录,默认开启,开启后日志等级及保留天数生效,否则等级和保留天数无效
设置完成后检查你的输入,如果没有问题按任意键继续安装
============== Check your input ==============
You Server IP : 12.12.12.12
Bind port : 5443
Dashboard port : 6443
vhost http port : 80
vhost https port: 443
Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable
==============================================
安装结束后显示:
Congratulations, frps install completed!
==============================================
You Server IP : 12.12.12.12
Bind port : 5443
Dashboard port : 6443
vhost http port : 80
vhost https port: 443
Privilege token : WEWLRgwRjIJVPx2kuqzkGnvuftPLQniq
Max Pool count : 50
Log level : info
Log max days : 3
Log file : enable # 将上面信息添加到你的路由器frp穿透插件中吧
==============================================
frps Dashboard: http://12.12.12.12:6443/ # 这个是frp控制台访问地址
==============================================
三、更新命令
四、卸载命令
./install-frps.sh uninstall
复制代码
五、服务器端管理命令
/etc/init.d/frps start
/etc/init.d/frps stop
/etc/init.d/frps restart
/etc/init.d/frps status
/etc/init.d/frps config
/etc/init.d/frps version
复制代码
六、路由器端配置:
七、更多帮助请移步官方帮助文件
https://github.com/fatedier/frp/blob/master/README_zh.md
================================分割线================================
有一些牛逼的坛友家里的路由器具备公网IP地址,想用路由器来运行frp的服务器,根据需求,简单的弄了个frp服务器版,请一定开启虚拟内存,能不能挺住我不知道,自己测试吧。两种安装方式:
请注意,这个是ARM版本的frps,这个是ARM版本的frps,这个是ARM版本的frps
一、路由器固件7.0以上版本
通过软件中心-离线安装 进行安装插件
方法二 服务端配置说明
先去官方代码库下载最新版本 https://github.com/fatedier/frp/releases
然后解压放到centos服务器上,的某目录
设置权限 chmod 777 frps
配置frps.ini 可以直接复制下面的配置文件
[common]
bind_port = 690 #远程连接时的通信端口
dashboard_port = 691 #控制面板端口
# dashboard 用户名密码,默认都为 admin
dashboard_user = admin #用户名
dashboard_pwd = 987654321 #密码
vhost_http_port = 695 #访问端口
token = 01ba987654321 #通信秘钥
subdomain_host = mb.mb119.cn #二级域名
max_pool_count = 50 #最大并发连接数民 性能好的 可多点
#log_file = /dev/null
#log_level = info
#log_max_days = 3
配置好后 运行命令 nohup ./frps -c frps.ini >/dev/null 2>&1 &
如果要实现开机自动运行 请看这里 frps开机自动启动
在其后加 nohup /www/frp/frps -c /www/frp/frps.ini >/dev/null 2>&1 & 即可 (注意路径要完整) 此方法只适用于centos 6.5及以下
以上是参考可用的配置文件 实际使用时 把 #和后面的内容删除掉
客户端配置文件
[common]
server_addr = u.mb119.cn #frp服务器地址 上面配置服务端的ip或域名
server_port = 690 #上面服务端的远程连接时的通信端口
token = 01ba987654321 #上面服务端的通信秘钥
pool_count = 1 #不用改
[dfweb] #标识名称 可随意 取
type = http #代理协议类型
local_ip = 192.168.123.1 #本地ip
local_port = 80 #本地端口
subdomain = dfweb #域名前缀
#上面这个就是代理远程穿透访问 访问时用 dfweb.mb.mb119.cn:695 相当于是本地网络访问192.168.123.1:80
[pc]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 33898
subdomain = pc
上面是tcp协议访问127.0.0.1(相当于是运行frp的本机)的远程桌面