内网穿透1:CentOS7下 无公网IP、有公网服务器方案 frp

frp内网穿透配置

前言

1、想要在外面访问家里/局域网中的服务,直接用teamview是个好的选择,但是如果想要随时进行访问,那还是内网穿透比较方便点

2、需要一个具有公网ip的服务器,例如阿里云租用的服务器
github上frp开源网址 请先下载解压到客户端、服务端
3、参考文档

公网服务器配置

将frps.ini修改为
修改后
使用 ./frps -c frps.ini启动服务端,(7000端口要开放)

配置 vim /lib/systemd/system/frps.service

[Unit] 
Description=fraps service
After=network.target syslog.target 
Wants=network.target
[Service] 
Type=simple 
ExecStart=/root/frp/frps -c /root/frp/frps.ini
[Install] 
WantedBy=multi-user.target

启动frp服务 systemctl start frps
设置自动启动 systemctl enable frps
停止开机自启动 systemctl disable frps

内网配置

1、 frpc.ini文件编辑

## xxx.xxx.xxx.xxx  为公网ip
## 7000为服务器上接收端口
## token可以防止被其他人连接
## 6000端口是 通过公网端口6000可以访问内网22
server_addr = xxx.xxx.xxx.xxx  
server_port = 7000
token=123456
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

2、启动客户端 ./frpc -c ./frpc.ini 注意服务器6000端口要开启
连接成功
3、配置开机启动
vim /lib/systemd/system/frpc.service

[Unit] 
Description=frapc service
After=network.target syslog.target 
Wants=network.target
[Service] 
Type=simple 
ExecStart=/root/frp/frpc -c /root/frp/frpc.ini
[Install] 
WantedBy=multi-user.target

启动frp服务 systemctl start frpc
设置自动启动 systemctl enable frpc

  • 也可以添加tcp端口 local_port 本地端口 remote_port 公网服务器端口
[web1]
type = tcp
local_ip = 127.0.0.1
local_port = 80
remote_port = 80
[web2]
type = tcp
local_ip = 127.0.0.1
local_port = 1234
remote_port = 1234

内网定时检测是否开启frpc

1、编写脚本判断进程是否存在frpc
vim frpdog.sh

 #!/bin/sh

RUNNING=`pgrep frps`
curtime=`date "+%F %H:%M:%S"`
if [ -n "$RUNNING" ]; then
echo $curtime + "frpc is running" >> /root/frp/frpdog.log
else
echo $curtime  "starting frpc" >> /root/frp/frpdog.log
systemctl start frpc
fi

# 判断进程是否存在 frpc ,并将time+状态保存到log,不存在即开启

2、:wq保存退出,frpdog.sh给予权限

chmod +x ./frpdog.sh  		#使脚本具有执行权限
./frpdog.sh  				#执行脚本

查看log输出
3、设置每5分钟执行一下脚本

  • centos7自带crontabs,先设置启动
    systemctl enable crond   	# 开机启动
    systemctl start crond      	# 启动
    
  • 5分钟执行一下 frpdog.sh脚本 vi /etc/crontab
    */5 * * * *  /root/frp/frpdog.sh
    
  • 保存生效
    #加载任务,使之生效
    crontab /etc/crontab
    #查看任务
    crontab -l
    

4、问题:脚本文件是查询frpc进程,脚本命名不能包含frpc,脚本路径也不能包含frpc,不然在设置定时任务时,会多两个(或者多个)进程包含frpc导致判断有误,即使没开frpc,也可以查询到两个进程

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值