内网穿透—frp

什么是frp内网穿透

frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

内网穿透—frp

为什么使用frp

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。

采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。

代理组间的负载均衡。

端口复用,多个服务通过同一个服务端端口暴露。

多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。

高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。

服务端和客户端 UI 页面。

下载

下载地址:Github,由于使用环境是VPS,所以只需要找到x86的版本即可。下载完成后进行解压,会得到frps和frpc文件夹,分别对应的服务端和客户端。

服务端搭建和使用

搭建配置

将刚才解压出来的fprs文件夹上传到服务器中,找到服务端的配置文件frps.ini文件,对它进行配置。

 [common]
 bind_port = 7000
 dashboard_port = 7500
 token = 12345678
 dashboard_user = admin
 dashboard_pwd = admin

bind_port :用于客户端和服务端连接的端口

dashboard_port :启用 Dashboard 监听的本地端口,若使用7500端口,在配置完成服务启动后可以通过浏览器访问 x.x.x.x:7500 (其中x.x.x.x为VPS的IP)查看frp服务运行信息。

token :用于客户端和服务端连接的口令,请自行设置并记录

dashboard_user :打开仪表板页面登录的用户名

dashboard_pwd :打开仪表板页面登录的密码

启动程序

./frps -c ./frps.ini

客户端搭建和使用

搭建配置

将解压的frpc文件夹上传到内网机器中,对frpc.ini进行编辑

 [common]
 server_addr = x.x.x.x
 server_port = 7000
 token = 12345678
 ​
 [ssh]
 type = tcp
 local_ip = 127.0.0.1
 local_port = 22
 remote_port = 6000

server_addr :为服务端(VPS)的公网IP

server_port :需与服务端配置一致

token :用于连接服务端的口令,需与服务端配置一致

type :表示连接类型,这里举例为tcp

local_ip :暴露到公网的服务地址,127.0.0.1表示本机

local_port :暴露到公网的服务端口

remote_port :表示在 frp 服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口。

启动程序

./frpc -c ./frpc.ini

配置开机自启

Systemd 是 Linux 系统的一种初始化系统实现,它管理的各种服务叫做 Unit,每个服务对应一个 Unit 配置文件

此操作会把 frps 会被注册为一个服务,我们让 Systemd来自动管理 frps,借此实现开机自启和后台运行

**客户端frpc同理

  1. 使用文本编译器,创建并编辑 frps.service 文件 
$ vim /etc/systemd/system/frps.service
  1. 写入内容
 [Unit]
 # 服务名称,可自定义
 Description = frp server
 After = network.target syslog.target
 Wants = network.target
 ​
 [Service]
 Type = simple
 # 启动frps的命令,需修改为您的frps的安装路径
 ExecStart = /path/to/frps -c /path/to/frps.ini
 ​
 [Install]
 WantedBy = multi-user.target
  1. 使用 systemd 命令,管理 frps 
  # 启动frp
 systemctl start frps
 # 停止frp
 systemctl stop frps
 # 重启frp
 systemctl restart frps
 # 查看frp状态
 systemctl status frps
 # 配置 frps 开机自启
 systemctl enable frps

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/4097

(0)
郭靖的头像郭靖
上一篇 2022年6月7日 下午9:03
下一篇 2022年6月8日 下午12:18

相关推荐

  • 配置ospf路由实现内网访问外网

    1、网络拓扑图 2、核心命令 [r1-ospf-100]default-route-advertise always  说明:给ospf 进程中添加一条缺省路由 3、具体配置如下

    2024年6月20日
    1.4K00
  • 小小的网络故障,带来深深的思考,运维的成败果然在于细节

    早晨8点多,收到Zabbix的邮件告警,显示客户的戴尔服务器和爱快路由器掉线了,由于该客户的机房之前有过多次停电,症状当然也是如此这般,加上客户没有电话或者微信报修,就先入为主地判定为机房又停电了,因此未采取任何措施。 直到过了下班时间,客户才反馈:外网无法使用向日葵远程控制服务器。因为不止一次,也就直说了,是不是机房又没电。 客户反馈有电,照片显示服务器处…

    2024年5月21日
    1.5K00
  • 网络概念趣讲:IP地址、子网掩码、网关、DHCP服务和PPPoE拨号

    下午好,我的网工朋友。 5G技术的更新,推动了新一代的网络通信发展,家庭宽带上网也从最初的十几K的速度,提升到了现在动则上百上千兆的速度。 很多有部署了家庭NAS的用户,甚至都已经更新到了10G级别的内部局域网了。现在6G都要来了。 在这个信息互联的时代,网络的基础知识肯定得掌握,今天就说一下不得不提的五大基础概念: IP地址,子网掩码、网关、DHCP服务和…

    2024年1月17日
    1.5K00
  • 深入浅出TCP中的SYN-Cookies

    SYN Flood 攻击 TCP连接建立时,客户端通过发送SYN报文发起向处于监听状态的服务器发起连接,服务器为该连接分配一定的资源,并发送SYN+ACK报文。对服务器来说,此时该连接的状态称为半连接(Half-Open),而当其之后收到客户端回复的ACK报文后,连接才算建立完成。在这个过程中,如果服务器一直没有收到ACK报文(比如在链路中丢失了),服务器会…

    2023年7月29日
    1.5K00
  • 内网穿透—nps

    nps nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端 做微信公众号开发、小程序开发等—-> 域…

    2022年6月7日
    2.9K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信