目录

Frp内网穿透

什么是内网穿透?

通俗的说:局域网 变成 公网 那样可以让外面的人访问

内网穿透工具

  • Frp
  • ngrok
  • 蜻蜓映射
  • natapp
  • 以及一些其它的, 不一一列出了, 大家可以上网查查
  • 推荐大家使用 Frp , 因为免费且开源, 易配置, 简单使用

Frp 为例

服务器端

下载 frp

解压

  • tar -zxvf frpxxxxxx.tar.gz

前往到解压目录

  • cd frpxxxxxx

编辑 frps.ini

  • 根据自己情况添加
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
[common]
bind_addr = 0.0.0.0
# frp 监听的端口,默认是7000

bind_port = 7000
# 授权码, 随便填一个

token = xxxxx

# frp管理后台端口,请按自己需求更改

dashboard_port = 7100
# frp管理后台用户名和密码

dashboard_user = xxxx
dashboard_pwd = xxxx
enable_prometheus = true

# frp日志配置

log_file = /var/log/frps.log
log_level = info
log_max_days = 3

运行 frps

1
2
3
4
5
6
# Linux 用户
chomd +x frps
./frps -c frps.ini
# windows用户
./frps.exe -c frps.ini

客户端(你的局域网端)

  • 相同方法下载

解压后 编辑 frpc.ini

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 服务端配置

[common]
server_addr = 服务器ip
# 请换成设置的服务器端口

server_port = 7000
token = 与上面frps.ini的相同

# 配置ssh服务

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 8022
remote_port = 例如8022

[web]
type = http
local_ip = 127.0.0.1
local_port = 8080
remote_port = 例如8080
# 多端口

[range:Test]
[web]
type = http
local_ip = 127.0.0.1
local_port = 9000-9010
remote_port = 例如9000-9010


启动 frpc

1
2
3
4
# Linux用户
./frpc -c frpc.ini
# Windows用户
./frpc.exe -c frpc.ini

测试

在你的公网端, 进行测试

  • 例如, 服务器端链接局域网端 ssh
1
2
3
ssh -p 端口 root@服务器IP
# 例如
ssh -p 8022 root@192.13.33.6

服务器端口必须要开放对应端口

注意, 当你想访问局域网端时, 局域网端口的本地端口一定是开的, 并对应于你设置frpc.ini的端口

服务器端 frps, 局域网端 frpc, 必须同时开启才可正常使用

FAQ❓

可以让服务器端开机启动, 不太麻烦

1
2
3
4
5
6
7
cd frp目录
mkdir -p /etc/frp
cp frps.ini /etc/frp
cp frps /usr/bin
cp systemd/frps.service /usr/lib/systemd/system/
systemctl enable frps
systemctl start frps