内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透。就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速度。不管是内网穿透还是其他类型的网络穿 透,都是网络穿透的统一方法来研究和解决。
FRP-内网穿透工具
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP节点的中转暴露到公网
[1]. 下载地址
[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