使用frp进行内网穿透

使用frp进行内网穿透

  • 为何使用
  • 概览
  • 服务端部署
  • 客户端部署
  • 华硕路由器部署客户端
  • 参考文档

为何使用

最近电信变更了固定IP的使用,原先一个电话打过去申请就可以解决的事情,现在它不行了,客服说要申请固定IP 需要宽带套餐398元一个月,还要每月缴100元的固定IP费用,总的就是一句话: 你没资格!!

这弄的,我很无奈,这不是钱不钱的事,身为技术公司不可以用技术去解决吗?(主要还是太贵了)
下面是学习部署的简单使用,详情还是请看他们官网,官网文档很详细。

概览

frp 是什么?
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

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

  • 客户端服务端通信支持 TCP、KCP以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

服务端部署

  1. 创建目录
mkdir -p /uwantsoft/appliction/frps/{bin,logs}
cd /uwantsoft/appliction/frps
chmod -R 777 logs/
  1. 下载软件
wget https://github.com/fatedier/frp/releases/download/v0.39.1/frp_0.39.1_linux_amd64.tar.gz
tar -xvf frp_0.39.1_linux_amd64.tar.gz
  1. 修改配置
cp frp_0.39.1_linux_amd64/frps bin/
cp frp_0.39.1_linux_amd64/frps.ini .

http代理穿透

[common]
bind_port = 7000
vhost_http_port = 8080
vhost_https_port = 8443
; 日志设置
log_level = info
log_max_days = 7
log_file = /uwantsoft/application/frps/logs/frps.log
; 权限认证
authentication_method = token
token = qMXdkjBAEXMh84gLeYjETAD5jKRnaKlqzo6iQPWOqtkkfBdjAan0bEUyWHCdWDEhbKS7yzCD6PZKBpxiocYCU5phb8jgVGxZ9vOUozDTrPXB
  1. 开机自启
# /lib/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/uwantsoft/application/frps/bin/frps -c /uwantsoft/application/frps/frps.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

# 重新加载配置
systemctl  daemon-reload
systemctl  enable frps.service
systemctl  start  frps.service

客户端部署

  1. 创建目录
mkdir -p /home/application/frpc/{bin,logs}
cd /home/application/frpc
chmod -R 777 logs/
  1. 下载软件
wget https://github.com/fatedier/frp/releases/download/v0.39.1/frp_0.39.1_linux_amd64.tar.gz
tar -xvf frp_0.39.1_linux_amd64.tar.gz
  1. 修改配置
cp frp_0.39.1_linux_amd64/frpc bin/
cp frp_0.39.1_linux_amd64/frpc.ini .

http代理穿透

[common]
server_addr = xx.xx.xx.xx ; frps服务所在的公网IP
server_port = 7000
; 日志设置
log_level = info
log_max_days = 7
log_file = /home/application/frpc/logs/frpc.log
; 权限设置
authentication_method = token
token = 自定义的token

; 被代理访问的本地服务
[test]
type = http
local_ip = 127.0.0.1 ; 本地内网ip
local_port = 80
custom_domains = www.yourdomain.com

www.yourdomain.com 需要配置 dns 解析到 frps服务所在的公网IP上

  1. 开机自启
# /lib/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/home/application/frpc/bin/frpc -c /home/application/frpc/frpc.ini
ExecReload=/home/application/frpc/bin/frpc reload -c /home/application/frpc/frpc.ini
LimitNOFILE=1048576

[Install]
WantedBy=multi-user.target

# 重新加载配置
systemctl  daemon-reload
systemctl  enable frpc.service
systemctl  start  frpc.service

访问 http://www.yourdomain.com:8080 就可以访问到本地内网提示的80 服务

华硕路由器部署客户端

  1. 软件中心安装frpc软件
    使用frp进行内网穿透_第1张图片

  2. 设置客户端

使用frp进行内网穿透_第2张图片

参考文档

官网文档
github仓库地址

你可能感兴趣的:(linux,linux,frp)