Frp工具配置内网穿透
Frp工具配置内网穿透
一.资源准备
固定 IP 的公网服务器:最低配 1C1G 即可,硬盘 20G,带宽 10M,系统推荐使用 Debian 9 或 10( Ubuntu 20.04 LTS)。安全组需要开放 443、8080、8081 端口(其他端口也可,后面配置文件对应修改)。
域名和证书:证书用于支持一些需要https的业务层,也可不要。域名可用于访问Frp控制台。
二.FRP 服务部署
程序下载到 https://github.com/fatedier/frp/releases 下载最新包,选择 linux_amd64 版本。
下载完成之后Windows Defender会对该文件报毒,可以选择不隔离该文件。
三.FRP 服务端部署
Frp 服务端即我们准备的固定公网服务器,假设其 IP 是 1.2.3.4。
将 frp 程序上传后解压:
tar -zxvf frp_0.61.0_linux_amd64.tar.gz
进入解压后的文件夹,修改配置文件 frps.ini:
cd frp_0.61.0_linux_amd64/
cp frps.toml frps.ini
vi frps.ini
添加如下内容:
[common]
bind_port = 8081
vhost_https_port = 1443
#管理后台,不需要可以去掉
dashboard_port = 8080
dashboard_user = admin
dashboard_pwd = admin@12
将 frps 二进制文件拷贝到 /usr/bin/ 下:
cp frps /usr/bin
新建 /etc/frp 目录,并将 frps.ini 拷贝到该目录:
mkdir -p /etc/frp
cp frps.ini /etc/frp
创建 Systemd 配置文件:/lib/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
Systemd 配置 frp 服务端服务启动:
systemctl enable frps
systemctl start frps
systemctl status frps
如果 frp 状态为 Active: active (running)
,即表示正常运行。
四.FRP 客户端部署
Frp 客户端即我们在内网部署的需要被穿透的服务器端。假设其 IP 为 10.8.8.8。
同服务端一样,将 frp 服务上传后解压。
进入文件夹,修改配置 frpc.ini:
cp frpc.toml frpc.ini
vi frpc.ini
写入如下内容
[common]
server_addr = 1.2.3.4
server_port = 8081
[web]
type = https
local_port = 443
custom_domains = paco.test.com # 企业配置域名
plugin = https2https
plugin_local_addr = 127.0.0.1:443
plugin_crt_path = /etc/frp/paco.test.com.crt # 企业域名证书
plugin_key_path = /etc/frp/paco.test.com.key
plugin_header_X-From-Where = frp
[ssh]
type = tcp
local_port = 22
plugin_local_addr = 127.0.0.1:22
remote_port = 8013
此处web配置为https的配置,可以用于穿透内网https端口。ssh为测试使用的端口,可根据实际业务的不同去配置。
将 frpc 二进制文件拷贝到 /usr/bin/ 下:
cp frpc /usr/bin
新建 /etc/frp 目录,并将 frpc.ini 和域名证书拷贝到该目录:
mkdir -p /etc/frp
cp frpc.ini /etc/frp
cp ~/paco.test.com.crt ~/paco.test.com.key /etc/frp
创建 Systemd 配置文件:/lib/systemd/system/frpc.service
[Unit]
Description=Frp Client Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.ini
ExecReload=/usr/bin/frpc reload -c /etc/frp/frpc.ini
LimitNOFILE=1048576
[Install]
WantedBy=multi-user.target
Systemd 配置 frp 客户端服务启动:
systemctl enable frpc
systemctl start frpc
systemctl status frpc
如果 frp 状态为 Active: active (running),即表示正常运行。
五.测试内网穿透是否成功
访问Web管理台:可以看到ssh这个tcp配置是Online的,然后在阿里云上把服务器的安全组打开8013端口。
通过MobaXterm测试是否能够通过阿里云服务器的外网IP+8013端口.
能登陆就是穿透成功