Frp内网穿透(一)
ftp简介
frp
- frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https协议。
- 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。
- 对于 http, https服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。
- 利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。
软件包下载地址
https://github.com/fatedier/frp/releases
服务器端
tar xzvf frp_0.21.0_linux_amd64.tar.gz -C /usr/local/
cd /usr/local/
mv frp_0.21.0_linux_amd64/ frp
cd frp
vim frpc.ini
服务器端配置
[common]
bind_port = 7000
dashboard_port = 10001
token = *************
dashboard_user = admin
dashboard_pwd = password
vhost_http_port = 10002
vhost_https_port = 10003
bind_addr和bind_port是服务启动监听的端口,这里addr配置成0.0.0.0默认是本机。
dashboard_port:web访问的端口
dashboard_user:web访问的用户名
dashboard_pwd:web访问的密码
max_pool_count:最多能有多少个frpc链接上来
服务器端启动
nohup /usr/local/frp/frps -c /usr/local/frp/frps.ini >> logout.log 2>&1 & //启动
客户端配置
[common]
server_addr = xxxxxx
server_port = 10010
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
[DSM]
type = tcp
local_ip = 群晖在局域网中的 IP 地址
local_port = 5000
remote_port = 7002
[web]
type = tcp
local_ip = 内网服务器ip
local_port = 80
custom_domains = 外网服务器ip
server_addr:上面配置的服务器的IP地址。
server_port:上面配置服务器的端口,就是bind_port的值。
type = tcp:连接类型是tcp。
local_ip:本地IP,这个配置成127.0.0.1即可。
local_port:本地端口是22,ssh默认端口,轻易不要改变。
remote_port:远端端口6000,这个比较重要,这个端口其实就是我们在任何地方访问这个设备的端口。
客户端启动
nohup /usr/local/frp/frpc -c /usr/local/frp/frpc.ini >> logout.log 2>&1 & //启动
centos7客户端服务器脚本
vi /usr/lib/systemd/system/frps.server
客户端需要更改红色字体对应路径
[Unit]
Description=Frp Server Service
After=network.target [Service]
Type=simple
User=root
# 失败后5秒重启
Restart=on-failure
RestartSec=5s
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini [Install]
WantedBy=multi-user.target
启动并设置开机启动
daemon-reload && systemctl start frp.service && systemctl enable frp.service
centos6客户端/服务器端脚本
#!/bin/bash
#auther by wangxp
PWD=`pwd`
#客户端要把下面三个红色字体变量的frps都替换成frpc
EXE_FRP=${PWD}/frps
CONFIG_FRP=${PWD}/frps.ini
PROG='frps'
function getPid {
PID=`ps -ef | grep $PWD | grep -v grep | awk '{print $2}'|awk 'NR==1'`
}
getPid
case $1 in
start)
echo "---PID---$PID"
if [ ! $PID ];then
nohup $EXE_FRP -c $CONFIG_FRP>> output.log 2>&1 &
sleep 0.5
getPid
echo -e "$PROG is \033[32mActive\033[0m, PID = $PID"
else
echo "$PROG is exist, PID = $PID"
fi
;;
stop)
if [ $PID ];then
kill -15 $PID >> output.log 2>&1
sleep 0.5
getPid
echo -e "$PROG is \033[31mDead\033[0m"
else
echo "$PROG is not exist"
fi
;;
restart)
$0 start
sleep 1
$0 stop
;;
*)
echo "Usage:{$0 start|stop|restart}"
;;
esac
exit 0
其他应用
服务器心跳检测微信报警(已上传wechat微信告警程序)
vim hearbeatAlert.sh
#!/bin/bash
TEST=`tail -n 1 /usr/local/frp/output.log | grep "request error"`
TIME=`date '+%F %T'`
if [ ! -z "$TEST" ]; then /usr/local/wechatapp/wechat \
--msg="$TIME 检测到zabbix服务器访问请求错误,请检查网络和服务器配置!" \
--corpid=ww8d233e07cc2f44d2 \
--corpsecret=pMWGGbnU3NVmOVBH0mEpiqjBhxYzgQSHS5WqO6e710c \
--user=BuJiDao \
--agentid=1000002 >/dev/null 2>&1\ fi
exit 0
定时报警
crontab -e
* * * * * /usr/local/wechatapp/hearbeatAlert.sh
windows开机启动frp
Frp内网穿透(一)的更多相关文章
- frp内网 穿透映射使内网svn可外网访问
起因 公司svn目前部署在内网服务器上,现在想在家中也可以使用,因此需要外网访问内网的工具 经过 使用过几个产品: utools,一个小巧的windows下的工具,内网映射只是它的一个小功能,支持tc ...
- 树莓派FRP内网穿透及自启动
内网穿透的步骤和文件存档 实验室在远方部署了电脑主机来采集数据和图片,每次去调试会很麻烦,因而使用FRP内网穿透使得我们可以在实验室访问主机. 主要功能 实现远程可访问和开机自启FRP程序服务 安装和 ...
- Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问
Frp内网穿透搭建,家庭主机对外提供接口,支持ssh访问 1.使用场景: 需求1.家中服务器 ubuntu 主机,跑接口服务,需要对外暴漏, 需求2.同时需要在外网ssh远程 关键词: frp内网 ...
- frp内网穿透(已验证)
# 云服务器frp内网穿透教程 软件源码在https://github.com/fatedier/frp/releases上,根据系统类型,按需下载 教程术语描述 > A 是有固定IP的云服务器 ...
- frp 内网穿透访问内网Web服务
ps:最近想要通过域名(公网)访问或者测试在本地搭建的 web 服务(不想在公网IP服务器上再部署个服务,也不想通过teamview等工具远程卡到爆!), 由于本地机器没有公网 IP,无法将域名解析到 ...
- frp内网穿透学习
前言 因为自己在内网,但是目标站在外网,这时候可以通过内网穿透工具,将接收到的请求转发到内网,实现在内网的msf可以控制外网的靶机. 也看了一些Ngrok,花生壳的,发现Ngrok.cc这个看文章说有 ...
- [svc]frp内网穿透
什么是穿透 可以任意暴漏内网任何服务,加入你在你的办公网络有台pc,可以上网就可以了, 你可以在你电脑上安装各类服务器, 暴漏如80 22等端口, 注意 这可以暴漏到公网哦, 在出口不做任何nat情况 ...
- frp内网穿透
原理 frp(fast reverse proxy)分为Server端和Client端,Server端安装在带有公网IP的服务器上,Client安装在内网环境但能上网的普通PC中. 流程: Serve ...
- frp内网穿透实战
什么是frp frp是一个使用非常简单的开源内网穿透软件,代码地址:https://github.com/fatedier/frp ,使用条前提你需要有一台公网服务器,大致原理是:公网服务器监听某个端 ...
- 五、frp内网穿透客户端frpc.ini各配置参数详解
[必须]标识头[common]是不可或缺的部分 [必须]frps服务端IPserver_addr = 0.0.0.00.0.0.0为FRP服务端IP,客户端要填写为服务端已配置的对应的IP,或者是服务 ...
随机推荐
- 常见Java面试题 – 第三部分:重载(overloading)与重写(overriding)
ImportNew注: 本文是ImportNew编译整理的Java面试题系列文章之一.你可以从这里查看全部的Java面试系列. 这篇文章介绍的常见面试题是关于重载(overloading)方法和重写( ...
- Vim之PHP语法检查
在Linux下操作,一般都是使用vim进行文本编辑, 这个时候有可能不小心就会出现语法异常,导致程序错误 手动检查: 1) 编辑完成之后, 回到命令行下执行 php -l test.php 如果语法校 ...
- 编译器-FIRST集合(补充:左递归)
上一篇中实现的First函数没有考虑左递归,在这对此说明和实现 1.立即左递归 A -> Ab|a 1.两步或两步以上产生的左递归 A -> Bc|a B -> Ab|d 前面的实现 ...
- WPF下,控件未响应鼠标属性触发器
WPF下,控件未响应鼠标属性触发器 记一次自定义控件调试 问题现象 问题分析 解决方式 记一次自定义控件调试 使用WPF写了个自定义控件,其中有个Button按钮,重写了样式模板 <Button ...
- OpenEuler文件被锁定的解决方法|网卡修改不生效的解决办法
欧拉系统(含centos等linux系统)修改文件,一直提示readonly,不让改.原因有可能是这个文件给锁定了. 解决方法: 使用以下两个命令: • chattr 改变文件属性 • lsattr ...
- Harbor 入门指南
Harbor 介绍 Harbor 是由 VMware 开源的一款云原生制品仓库,Harbor 的核心功能是存储和管理 Artifact.Harbor 允许用户用命令行工具对容器镜像及其他 Artifa ...
- springboot 多数据源(aop方式)
一.实现思路 在yml中定义多个数据源的配置,然后创建一个类DynamicDataSource去继承AbstractRoutingDataSource类 AbstractRoutingDataSour ...
- Java多线程处理文件详解与代码示例
在Java编程中,文件处理是一项常见的任务.当需要处理大量文件或处理文件的时间较长时,单线程的处理方式可能会显得效率低下.为了提高文件处理的效率,我们可以使用多线程技术.本文将详细介绍如何使用Java ...
- LetsTalk_Android中引导用户加入白名单图
--------------------------------
- 使用 SK Plugin 给 LLM 添加能力
前几篇我们介绍了如何使用 SK + ollama 跟 LLM 进行基本的对话.如果只是对话的话其实不用什么 SK 也是可以的.今天让我们给 LLM 整点活,让它真的给我们干点啥. What is Pl ...