# 一、内网穿透
NAT(Network Address Translation)
# 内网穿透工具
- NPS-NPC
- FRP
- Cpolar(不推荐)
# 二、NPS与NPC
# 1、简介
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。
目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等。
nps带有功能强大的web管理端。
- NPS:一台有公网IP的服务器
- NPC:需要穿透的内网服务器
# 2、特点
- Go语言编写
- 支持跨平台
- 支持多种协议的代理
- web管理端
# 3、使用
# 三、FRP
# 1、简介
# 2、使用
# 1)部署服务端frps
部署 下载镜像
docker pull snowdreamtech/frps:0.52.3
1
安装
mkdir -p /usr/local/docker/resource/frp/frps
cd /usr/local/docker/resource/frp/frps
vi frps.toml
vi docker-compose.yml
1
2
3
4
2
3
4
frps.toml
bindPort = 7000
webServer.addr = "0.0.0.0"
webServer.port = 7001
webServer.user = "admin"
webServer.password = "admin"
vhostHTTPPort = 8081
1
2
3
4
5
6
2
3
4
5
6
docker-compose.yml
version: '3'
services:
frps:
restart: always
image: 'snowdreamtech/frps:0.52.3'
container_name: frps
volumes:
- ./frps.toml:/etc/frp/frps.toml
ports:
- "7000:7000"
- "7001:7001"
- "8081:8081"
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
说明:
# 2)部署客户端frpc
部署 下载镜像
docker pull snowdreamtech/frps:0.52.3
1
安装
mkdir -p /usr/local/docker/resource/frp/frps
cd /usr/local/docker/resource/frp/frps
vi frps.toml
vi docker-compose.yml
1
2
3
4
2
3
4
frps.toml
serverAddr = "39.99.111.122"
serverPort = 7000
webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin"
[[proxies]]
name = "Nexus-http"
type = "http"
localIP = "192.168.0.200"
localPort = 8081
customDomains = ["39.99.111.122"]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
docker-compose.yml
version: '3'
services:
frpc:
restart: always
image: 'snowdreamtech/frpc:0.52.3'
container_name: frpc
volumes:
- './frpc.toml:/etc/frp/frpc.toml'
ports:
- "7400:7400"
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
说明:
# 四、Cpolar(不推荐)
# 1、简介
NPS官方源码地址-GitHub (opens new window)
公开一个本地Web站点至公网。
只需一行命令,就可以将内网站点发布至公网,方便给客户演示。高效调试微信公众号、小程序、对接支付宝网关等云端服务,提高您的编程效率。
# 2、使用
# 1)下载安装
在内网服务器,下载安装。
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
1
向系统添加服务
sudo systemctl enable cpolar
1
启动Cpolar服务
sudo systemctl start cpolar
1
启动成功后,访问地址:【内网IP:9200】
# 2)注册Cpolar账户
输入用户名、登录邮箱(账号)、联系电话、密码。
a、选择免费套餐;
b、在验证菜单 (opens new window),复制验证token。
c、在内网服务器执行该认证。
cpolar authtoken xxxxxxxYmQtNGzLTgwMxxxxxxxxxxxxx
1
# 3)配置公网地址
a、添加隧道
点击左侧仪表盘的隧道管理—创建隧道,创建一个Nexus的公网地址隧道!
- 隧道名称:可自定义命名,注意不要与已有的隧道名称重复;
- 协议:选择红框中显示的http;
- 本地地址:内网要穿透的服务的端口,例:8081;
- 域名类型:选择随机域名;
- 地区:选择China;
注意:
- 使用随机域名,不固定,隔一段时间就变。(免费的蛋糕你还想一直吃...)
- 若有自己的域名,建议选择二级子域名、自定义域名。(但这2种类型,需要把当前Cpolar账户升级为付费版哦)
b、访问域名
创建隧道成功后,点击左侧仪表盘的状态—在线隧道列表,可查看到刚生成的隧道有2种访问方式(http和https)。
任意复制一个即可进行访问。
自此,一个内网系统,即可通过Cpolar,生成域名进行互联网访问!