[02]FRP局域网穿透+linux自动监控服务运行

FRP局域网穿透+linux自动监控服务运行

需求:需要将demo 在外网上进行展示.有两台服务器:服务器A(外网服务器,有公网IP,有域名),服务器B(内网服务器,无公网IP,通过wifi链接路由器上网,无域名).其中服务器A性能差(qiong),服务器B性能还行(E3, 24G,GTX1070),希望能够从外网访问家里的服务器,包括http访问和ssh访问.

难点:小区宽带,外网IP不能直接访问,不能设置DMZ主机

解决方案:用FRP来配置服务器A和服务器B,实现用域名访问两个服务器,搭建复杂一点的Demo.

关键技术:1.FRP安装配置,2. linux下配置FRP服务,3.linux下用shell脚本实时监控FRP服务运行,重启后也能自动链接上.

FRP安装配置

安装

去github上面下载最新的release, 本文用的是v0.23.1.

wget https://github.com/fatedier/frp/releases/download/v0.23.1/frp_0.23.1_linux_amd64.tar.gz

然后解压

tar zxvf frp_0.23.1_linux_amd64.tar.gz

得到一个文件夹

image

frps 是服务器端程序 frps.ini是服务器端配置 (放到有外网的服务器上)

frpc 是客户端程序 frpc.ini是客户端配置(放到内网服务器上)

配置

frps.ini

 [common]
 bind_port = 7000

frpc.ini

配置ssh登录以及两个网站

[common]
server_addr = xxx.xxx.xxx.xx
server_port = 7000

[ssh]
type = tcp                    #tcp类型链接
local_ip = 127.0.0.1  #本地ip
local_port = 22           #本地端口
remote_port = xxx      #外网访问端口

[web1]
type = tcp
local_port = xxxx
remote_port = xxxx
custom_domains = localhost

[web2]
type = tcp
local_port = xxx
remote_port = xxxx
custom_domains = localhost

后台运行

推荐使用systemctl来管理,比较方便

服务器端配置如下

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

在frps.service里写入以下内容


[Unit]

Description=fraps service

After=network.target

syslog.target Wants=network.target

[Service]

Type=simple #启动服务的命令(此处写你的frps的实际安装目录)

ExecStart=/your/path/frps -c /your/path/frps.ini [Install]

WantedBy=multi-user.target

客户端配置也很类似,到这里,可以通过systemctl start frps[frpc]启动服务了
通过 ssh 外网IP@remote_port可以ssh登录内网服务器了
同理, 对应的外网IP@remote_port 可以访问web1 和web2

但是,如果机器重启了,还需要手动运行这些服务,比较麻烦,而且如果网络中断,可能服务就挂了,需要手动重启服务.如果能够实时监控服务运行状况,而且服务挂了自动运行,就完美了.

监控服务

服务器端监控frps

#!/bin/sh
ps -fe|grep frps |grep -v grep
if [ $? -ne 0 ]
then
echo "start process....."
systemctl start frps
else
echo "runing....."
fi

frps 表示进程特征字符串,能够查询到唯一进程的特征字符串(客户端用frpc代替就可以了)
$?表示上一个脚本运行的返回值
-ne 0 不等于0 表示没有查询到结果
-eq 0 等于0 表示查询到结果

定时监控

每一分钟运行脚本

sudo crontab -e

做如下修改

*/1 * * * * sh /your/path/filename.sh

客户端也要做相应处理,到此,完美解决了这个问题.再也不用担心我的内网穿透问题了.

参考文献:

frp-github: https://github.com/fatedier/frp

frp 后台运行: https://blog.csdn.net/x7418520/article/details/81077652

监控脚本: https://www.cnblogs.com/anitinaj/p/7457000.html

shell中$?含义: https://www.cnblogs.com/chjbbs/p/6393935.html

linux 定时任务: https://blog.csdn.net/gb4215287/article/details/79496390

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