内网穿透流程

141 阅读1分钟

1、frp下载地址: github.com/fatedier/fr…

我下载的版本是frp_0.32.1_linux_amd64.tar.gz。

解压缩命令是:tar -zxvf frp_0.32.1_linux_amd64.tar.gz

2、开放公网IP服务器的端口:开放相应安全组的端口。内网穿透的三个对象:测试人员(客户端A)、有公网IP的服务器(服务器端B)、目标服务器(客户端C)

正向代理:代理服务器代表​​客户端​​与外界通信,​​服务端不知道真实客户端的身份​​。反向代理:代理服务器代表​​服务端​​接收请求,​​客户端不知道真实服务器的存在​​。

3、配置frps: frps(服务器端B),配置在B中,如下。其中7000是frp监听客户端(A)的端口,7500是观察代理状态的可视化界面。

[common]
bind_port = 7000

[common]
#dashboard端口、用户名、密码
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin

4、配置frpc: frpc(客户端C),配置在C中,如下。server_addr是服务器端ip,对应前面的bind_port。(ssh1是唯一的,若有其他客户端需要映射到B中,需改名。)remote_port指定了中间映射端口

[common]
server_addr = x.x.x.x
server_port = 7000

[ssh1]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 4949

5、frps持久化: 在../frps.service中,设置如下:

[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp_0.32.1_linux_amd64/frps -c /opt/frp_0.32.1_linux_amd64/frps.ini

[Install]
WantedBy=multi-user.target

frpc的持久化同理,或者直接开一个screen做持久化就行了: 1 screen -r frp (新建的frp) 2 ./frpc -c frpc.ini --> 客户端使用命令连接到服务器

当然,frps也可以这么弄!