frp 内网穿透 (centos7.3)

frp基本信息

Fast Reverse Proxy,用于提供内网穿透服务的工具,主要用于解决一些内网服务没有公网ip但是却需要提供外网访问的问题。支持(TCP、UDP、HTTP、HTTPS)等协议。

前提:1.(必须)需要先拥有一台拥有公网ip的网络设备。

2.(非必须)拥有一个域名解析到公网的ip地址。

Frp服务的搭建

1.下载安装包( frp_0.21.0_linux_amd64.tar.gz )

2.设置frp配置文件

    文件解压后,一般含有frps(服务端运行文件)、frpc(frp客户端运行文件)、frps.ini(frp服务端配置文件)、frpc.ini(frp客户端配置文件),以及frp_full.ini(frp全部配置文件解释说明和参考。)

frps.ini(服务端)配置文件解释说明

[common]

# 服务端控制面板访问账号和密码,不设置则默认admin

#注意以及几个是我随便填写的,请根据自己的实际情况,自行修改。

dashboard_user = user

dashboard_pwd = password

# 客户端连接令牌

token = access_token

# 路由地址

subdomain_host = frp.x.com

###########下列配置默认即可,无需改动###############

#穿透监听端口与地址(0.0.0.0表示允许任何地址)

bind_addr = 0.0.0.0

bind_port = 7000

# udp协议监听端口

bind_udp_port = 7001

#udp协议支持kcp模式。kcp的运行端口,不设置表示禁用。可以与'bind_port'端口一致

kcp_bind_port = 7000

#虚拟主机穿透监听端口(指http与https的访问端口)

vhost_http_port = 80

vhost_https_port = 443

#服务端控制面板访问端口

dashboard_addr = 0.0.0.0

dashboard_port = 7500

# frp日志记录路径

log_file = ./frps.log

# 日志记录级别(trace, debug, info, warn, error)

log_level = info

# 日志记录滚动天数

log_max_days = 3

# 客户端与服务端连接心跳检测

heartbeat_timeout = 90

# 允许客户端使用的穿透端口,不设置则全部允许

#allow_ports = 1000-100000

# 穿透服务允许的连接数

max_pool_count = 5

# 单个客户端允许建立的穿透服务,0为不限制

max_ports_per_client = 0

# 连接超时

authentication_timeout = 900

# tcp流多路复用(可以理解为优化传输)

tcp_mux = true


frpc.ini(客户端)配置文件解释说明

#该配置文件,我做了相关的删减,只保留了我们最常用到的几个穿透功能。

#[common为公共配置区域必须存在]

[common]

# 与服务端连接令牌

token = access_token

# 客户端标识

user = nas

#服务端的访问地址(可用ip或者域名)。

server_addr = 111.222.222.111

####################此处为common的默认配置区域无需修改###################

#服务端用于穿透的端口,与服务端保持一致。

server_port = 7000

# 日志记录路径

log_file = ./frpc.log

# 日志记录级别(trace, debug, info, warn, error)

log_level = info

# 日志记录滚动天数

log_max_days = 3

# frpc客户端管理界面

admin_addr = 127.0.0.1

admin_port = 7400

admin_user = admin

admin_passwd = admin

# 连接池

pool_count = 5

# tcp数据流多路复用,默认开启,服务端客户端需要保持一致

tcp_mux = true

# 失败重连

login_fail_exit = true

# 服务端与客户端通信协议,支持tcp\upd

protocol = tcp

# dns服务选用

# dns_server = 8.8.8.8

#客户端向服务端心跳检查间隔与超时时间

heartbeat_interval = 10

heartbeat_timeout = 90

##############以上为客户端服务的公共信息配置区域############

###############具体的穿透服务功能启用(表示你要使用frp的那个功能)##############

[ssh]

#穿透类型

type = tcp

#需穿透服务本地访问地址

local_ip = 127.0.0.1

#需穿透服务本地访问端口

local_port = 22

#是否使用通讯加密,默认false

use_encryption = false

#是否使用通讯压缩,默认false

use_compression = false

#穿透后外网访问端口。

remote_port = 6001

[dns]

type = udp

local_ip = 114.114.114.114

local_port = 53

remote_port = 6002

use_encryption = false

use_compression = false

#http或者https模式主要针对于虚拟主机,访问的取决于frps.ini文件中的vhost_http_port设置

[web01]

type = http

local_ip = 127.0.0.1

local_port = 80

use_encryption = false

use_compression = true

#虚拟主机访问账户密码设置,如果不设置的话。自己通过地址即可访问。

http_user = admin

http_pwd = admin

# if domain for frps is frps.com, then you can access [web01] proxy by URL http://test.frps.com

#如果你的frps域名是yourdomain.com,那么你可以通过web01.yourdomain.com 来访问web01这个穿透服务。

subdomain = web01

#自己定义域名

custom_domains = yourdomain.com

# locations is only available for http type

locations = /,/pic

# http重定向地址

host_header_rewrite = example.com

# http请求文件头

header_X-From-Where = frp

[web02]

type = https

local_ip = 127.0.0.1

local_port = 8000

use_encryption = false

use_compression = false

subdomain = web02

custom_domains = web02.yourdomain.com

[plugin_static_file]

type = tcp

remote_port = 6006

plugin = static_file

plugin_local_path = /var/www/blog

plugin_strip_prefix = static

plugin_http_user = abc

plugin_http_passwd = abc

3.启动服务

linux环境下启动服务,需要先把运行文件添加可执行权限。例如我的文件实在root文件夹中,我需要搭建frp服务端,那么待设置好服务端配置文件(frps.ini)后执行以下命令即可。

cd /root

chmod +x frps

nohup ./frps -c ./frps.ini &

执行成功后,会显示frp的进程号码。你也可以通过命令来查看frps运行的进程编号。

ps -e | grep frps

关于frp管理的优化设置

centos7.0以上的版本,服务都是基于systemd的方式进行管理的。frp通过设置后也可以实现systemd的方式进行管理,这样我们就可以通过systemctl命令来进行服务的统一管理,同时通过这样的设置也可以将frp服务加入开机自启动。

1、将frp设置成linux系统的服务,基于systemd方式管理

# 编写 frp service 文件,以 centos7 为例

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

# 内容如下

[Unit]

Description=frps daemon

After=syslog.target network.target

Wants=network.target

[Service]

Type=simple

#此处的路劲地址根据自己的实际放置的地址进行修改

ExecStart=/root/frp/frps -c /root/frp/frps.ini

Restart=always

RestartSec=1min

[Install]

WantedBy=multi-user.target

2、将frp设置成开机自启动

systemctl enable frps

systemctl restart frps

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容