内网穿透 FRP

315 阅读2分钟

内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿 透,都是网络穿透的统一方法来研究和解决。

FRP-内网穿透工具

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

[1]. 下载地址

github.com/fatedier/fr…

[2]. 配置环境

环境 启动命令 注意事项
服务端 ubuntu 18.04、域名 nohup ./frps -c frps.ini >/dev/null 2>&1 & 备案域名(国内)、开放安全组服务器、关闭防火墙
客户端 win10 或者 centos frpc -c./frpc.ini
nohup ./frpc -c frpc.ini >/dev/null 2>&1 &
关闭防火墙

[3]. SSH配置

服务端

[common]
bind_port = 7000 # 客户端连接服务端端口

客户端

[common]
server_addr = REMOTE_IP
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

启动和远程访问

ssh root@REMOTE_IP -p 6000

[4]. http配置

服务端

[common]
bind_port = 7000
vhost_http_port = 80 # 服务端监听http端口

客户端

[http]
type = http
local_ip = 127.0.0.1
local_port = 8888
remote_port = 8080
custom_domains = CUSTOM_DOMAIN # 备案解析到公网服务器
# 访问: http://CUSTOME_DOMAIN:vhost_http_port

[5]. http泛解析

服务端

# 主机记录  *  *.abc  
# domain: example.com  eg: *.example.com  *.frp.example.com
[common]
bind_port = 7000
vhost_http_port = 80
subdomain_host = frp.example.com

客户端

[common]
server_addr = frp.abc.club
server_port = 7000

[web]
type =http 
local_ip = 127.0.0.1
local_port = 8080
subdomain = test1 # 泛解析部分

[web2]
type =http
local_ip = 127.0.0.1
local_port = 8081
subdomain = test2  
# 访问 test1.frp.example.com  test2.frp.example.com

[6]. 设置自启

# vim /etc/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody # root
Restart=on-failure
RestartSec=5s
EnvironmentFile=-/usr/local/frp/frps.ini
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.ini

[Install]
WantedBy=multi-user.target
# 自启和启动命令
systemctl enable frps.service
systemctl start frps.service

参考文献

百度百科-内网穿透

gofrp.org/docs/

github.com/fatedier/fr…