HG6543C1(3) --- 配置frp
在上一篇HG6543C1(2) — 公网IP端口转发文章中,我分享了HG6543C1光猫如何利用其公网IP进行端口转发,今天折腾下frp网络透传。
想要在网关上部署应用,需要了解两件事情:
- 应用程序/脚本放在什么位置
- 怎样自启动
1. 存储空间
- 参考HG6543C1(1) — 电信宽带天翼网关登录到网关的Telnet,执行
mount
命令,查看一下哪些目录是可读写的,感觉/opt/upt/apps
目录和应用相关,故选择将应用放到这里。
$ mount
...
/dev/mtdblock6 on /flash type jffs2 (rw,relatime)
...
ubi2:Apps_ubifs on /opt/upt/apps type ubifs (rw,sync,relatime)
...
$ busybox fdisk -l # 这个命令也可以执行但输出的信息看不出什么东西
...
- HG6543C1是mips CPU,可以去GitHub/fatedier/frp下载编译好的frp的release包,我下载的是frp_0.43.0_linux_mips.tar.gz,
frps
解压后大约14M,拷贝到/opt/upt/apps/frps/frps
,新建/opt/upt/apps/frps/frps.ini
文件,内容如下:
vi /opt/upt/apps/frps/frps.ini
[common] # 服务监听端口 bind_port = 14038 bind_udp_port = 14038 vhost_http_port = 14039 vhost_https_port = 14040 # 开启日志记录,滚动时间为3天 log_file = /opt/upt/apps/frp/frps.log log_level = info log_max_days = 3 # 向客户端报告错误原因 deltailed_errors_to_client = true # 为了安全使能连接口令 authentication_method = token token = xsp&5@ allow_ports = 14041-14042,14044-14047
- 关于将
frps
文件传输到网关上,可参考文章使用nc命令通过网络传送文件,网关侧没有nc
命令,输入busybox nc
即可。
2. 自启动
- Linux启动时会自动执行
/etc/profile
/etc/init.d/rcS
等脚本,在/etc/init.d/rcS
中发现,系统启动时会执行/flash/cfg/mirror.sh
该文件不存在,但所处的位置是可写的,则我们可以创建该文件,然后将启动脚本写在这个文件中。
$ cat /etc/init.d/rcS
...
if [ -f /flash/cfg/mirror.sh ]; thenecho "set mirror automatically"/flash/cfg/mirror.sh &
fi
...
- 我们需要在网关上开启服务,则还需要设置网关对服务端口进行放行,这里可以采用HG6543C1(2) — 公网IP端口转发中的端口转发,将WAN口的数据转到LAN(192.168.1.1)上,也可以使用
iptables
命令进行端口转发或直接放行相关数据。
vi /flash/cfg/mirror.sh
#!/bin/sh# 我内网有一台主机IP地址是192.168.1.123,该主机对外提供了一些服务端口,这里ppp0是具有公网IP的WAN口,设置WAN口的前路由对收到的目的端口为15038-15041区间的数据转发至192.168.1.123 15038-15041端口上 iptables -t nat -I PREROUTING -j DNAT -i ppp0 -p tcp -m tcp --dport 15038:15041 --to-destination 192.168.1.123:15038-15041 iptables -t nat -I PREROUTING -j DNAT -i ppp0 -p udp -m udp --dport 15038:15041 --to-destination 192.168.1.123:15038-15041# 设置转发阶段对192.168.1.123的数据放行 iptables -t filter -I FORWARD -j ACCEPT -d 192.168.1.123# 对于网关上应用提供的服务端口进行放行 iptables -t filter -I INPUT -j ACCEPT -p tcp -m tcp --dport 14038:14046 iptables -t filter -I INPUT -j ACCEPT -p udp -m udp --dport 14038:14046# 后台启动frps /opt/upt/apps/frp/frps -c /opt/upt/apps/frp/frps.ini & # 后台启动telnet,这样就不用先通过网页启动telnet了,监听端口可以自行指定,注意telnet是不安全的,应避免直接暴漏到公网上 telnetd -p 18023 &
3. frpc
- 我有另一台电脑处在内网中,外界无法直接发起通信,可以用来测试frp内网透传,下载frp_0.43.0_windows_amd64.zip,编写配置文件。
vi frpc.ini
[common] # 网关的(向日葵)域名或公网IP server_addr = xxxxx # frps的服务端口 server_port = 14038 # 连接口令 token = xsp&5@ # 日志文件,COMPUTERNAME是windows的一个环境变量,表示计算机名,不设置日志文件,则日志输出到命令行上 log_file = frps_{{.Envs.COMPUTERNAME}}.log # frpc可以开启一个服务用于通过网页共享文件或通过网页进行配置管理(二选一) admin_addr = 127.0.0.1 admin_port = 12345 # 访问frpc的网页会要求输入用户名密码 admin_user = asdrf admin_pwd = 123456 # 使能下面一句话,可通过网页访问文件(只能下载) #assets_dir = d:# 在服务端新建一个服务节点 [1_{{.Envs.COMPUTERNAME}}] type = tcp # 将本机的远程桌面(TCP3389)映射到frps的14046端口 local_ip = 127.0.0.1 local_port = 3389 remote_port = 14046 # 是使能一个组,可用于节点的备份 group = group1 group_key = key1[2_{{.Envs.COMPUTERNAME}}] type = tcp # 将frpc的服务(通过网页修改frpc配置)映射到frps的14047端口,注意frpc的网页是http不安全,应避免直接开放到公网 local_ip = 127.0.0.1 local_port = 12345 remote_port = 14047 group = group2 group_key = key2
- 在CMD中执行
.\fprc -c frpc.ini
即可连接到frps,之后可以在任意电脑上使用window自带的远程桌面,远程该内网电脑,远程时计算机的地址填写:xxxxx:14046
,xxxxx
是网关的(向日葵)域名或公网IP。frpc的管理网页被映射到frps的14047
端口,但网关未对WAN口的该端口进行放行,因此无法通过公网直接访问到frpc的管理网页,可以在网关的局域网中使用http://192.168.1.1:14047
进行访问。
HG6543C1(3) --- 配置frp相关推荐
- 配置frp报错start error: type [http] not support when vhost_http_port is not set
配置frp 问题描述 服务端配置frpc.ini [common] bind_port = 7000 vhost_http_port = 6001 客户端配置frpc.ini [common] ser ...
- frpc客户端 linux安装,centos配置frp服务端,与客户端
选择下载frp版本 选择linux_amd64.tar.gz 当前教程最新版为:v0.30.0wget https://github.com/fatedier/frp/releases/downloa ...
- 十分钟教你配置frp实现内网穿透
十分钟教你配置frp实现内网穿透 一.frp的作用 利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务. 对于 http, https 服务支持基于域名的虚拟主机,支持自定义 ...
- 树莓派配置frp实现内网穿透
所需工具: frp: 公网服务器用到的ftp包 链接:https://pan.baidu.com/s/1r0bHD4BG-x0rnoJIX5HLMQ 提取码:3w5z 树莓派用到的frp: 链接:ht ...
- 【丁丁历险记】配置 frp 实现内网穿透
[丁丁历险记]全篇索引 本节教大家在服务器中部署 frp 的相关服务.实现内网穿透,本例主要以远程连接 ssh 为主,若想部署其他服务请参考 frps_full.ini和frpc_full ...
- HG6543C1(2) --- 公网IP端口转发
在上一篇HG6543C1(1) - 电信宽带天翼网关文章中,我分享了HG6543C1光猫的一些情况,并发现自己这个光猫具备公网IP,今天就来折腾下这个公网IP. 1. 绑定花生壳 光猫通过PPPOE拨 ...
- 使用frp配置内网访问(穿透)教程(超详细,简单)
1 Frp介绍 frp 是一个开源.简洁易用.高性能的内网穿透和反向代理软件,支持 tcp, udp, http, https等协议.frp 项目官网是 https://github.com/fate ...
- FRP 内网穿透下载配置
FRP 内网穿透下载配置 Frp服务的建造 下载: 修改配置文件 frps.ini(服务端)配置文件解释说明: frpc.ini(客户端)配置文件解释说明: 启动服务 配置启动: 创建server端服 ...
- 使用frp配置内网穿透
1.服务端配置 服务端即在公网环境下的服务器,需配置frps服务 1.1 下载frp 下载地址是https://github.com/fatedier/frp/releases,要注意下载的版本,由你 ...
最新文章
- C++11中头文件type_traits介绍
- Netty序章之BIO NIO AIO演变
- Orchard 的项目结构-解决方案文件夹的原理与使用
- 树莓派wifi环境下初始化及环境配置
- MySQL-Btree索引和Hash索引初探
- 在微信页面中,关闭浏览器
- [转]jQuery 读取 xml
- poj 2390 Bank Interest(计算本利和)
- 新手上路必学的Python函数基础知识,全在这里了(多段代码举例)
- 70 SD配置-发票凭证配置-定义回扣协议类型
- BugTracker.NET安装指南
- 2018年区块链将如何发展?
- HTML5学习笔记(六):CSS基本样式
- 【转】Android Studio安装配置学习教程指南 Gradle基础--不错
- 学习笔记-数据结构与算法之栈与队列
- ASP.Net Mvc 发布网站 (样式+图片问题)
- 大数据shipin教程_大数据自学全套视频教程下载
- 学习人工智能深度学习需要掌握的python语法糖
- Redis数据结构 GeoHash
- 《图解密码技术》笔记2:历史上的密码-写一篇别人看不懂的文章