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,或者是服务 ...
随机推荐
- mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true -DdownloadJavadocs=true -DjdkLevel=1.6
mvn eclipse:eclipse -Dwtpversion=2.0 -DdownloadSources=true -DdownloadJavadocs=true -DjdkLevel=1.6
- Java线程池架构2-多线程调度器
http://ifeve.com/java线程池架构2-多线程调度器(scheduledthreadpoolexecutor)/ 在前面介绍了java的多线程的基本原理信息:<Java线程池 ...
- pip之常见错误汇总
基本使用: 1.安装文件中的包 pip install -r requirements.txt 问题: 1. pip._vendor.urllib3.exceptions.ReadTimeoutErr ...
- go 编译超时解决
转载请注明出处: 在编译go项目时,遇到依赖下载超时,异常输出如下: CGO_ENABLED=0 GOOS=linux GO111MODULE=on go build -a -ldflags '-ex ...
- 【数据库】MySQL的一些基础知识
ALTER TABLE 表名 DROP 属性名 删除数据表 DROP TABLE 数据库名.表名; 用户管理 创建用户 CREATE USER 'username'@'host' IDENTIFIED ...
- mysql转换类型、类型转换、查询结果类型转换
一.问题来源 数据库一张表的主键id设为了自增,那就是int型的,但是其他表的关联字段又设置成了字符串! 而且已经开发了很久才发现问题,既然出现了问题肯定需要解决 如图 很明显id是不一样的,花了点时 ...
- File was changed on disk
刚开始从eclipse转到idea,发现idea从svn同步代码后,点开一个java类报错 说是某个方法不存在,以为是别人代码没有提全,就点到别人代码里面去看,顶行出现"File was c ...
- Qt音视频开发47-文字和图片水印(可存储到MP4中)
一.前言 近期花了两周时间闭门啃硬骨头,主要就解决三个问题(音视频同步存储和推流.图片水印并将水印信息存储到文件或者推流.rtsp推流),这三个问题困扰了很多年,以至于找遍了网络和翻遍ffplay代码 ...
- AutoCAD 2020中文版建筑设计从入门到精通下载链接
AutoCAD 2020中文版建筑设计从入门到精通下载链接 链接:https://pan.baidu.com/s/1EgFHOSKfPrr9Xdp3bNA-pA或https://pan.baidu.c ...
- springcloud eureka原理和机制
公司的注册中心使用的是Eureka,之前使用过ZooKeeper,大致原理应该差不多,具体细节需要进一步学习,正好之前在腾讯云开发者社区看到一篇讲得很不错的文章,转载过来方便查看. 简介 在微服务架构 ...