搭建frp内网穿透系统

1、搭建frp服务器

服务器:anolis8.9

在 Anolis OS 上部署 FRP 服务器(frps) 和 客户端(frpc) 的步骤如下,结合了 FRP 的通用部署流程和 Anolis OS 的特性:
一、部署 FRP 服务器(frps)
1. 环境准备

    操作系统:Anolis OS(基于 Red Hat/CentOS 的兼容性)。
     依赖工具:wget、tar、vim、systemd(默认已安装)。
     网络要求:确保服务器有公网 IP,并开放所需端口(如 7000、80、443 等)。

2. 下载并解压 FRP

bash
深色版本

# 下载 FRP 二进制包(以 v0.61.2 为例)
wget https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_amd64.tar.gz

# 解压到指定目录
tar -zxvf frp_0.61.2_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/frp_0.61.2_linux_amd64 /usr/local/frp

3. 配置 frps 服务

    备份原始配置文件:

    bash
     深色版本

cp /usr/local/frp/frps.toml /usr/local/frp/frps.toml.bak

编辑配置文件(/usr/local/frp/frps.toml):

toml
深色版本

    [common]
     bind_port = 7000                # 服务端监听端口
     vhost_http_port = 80            # HTTP 虚拟主机端口
     vhost_https_port = 443          # HTTPS 虚拟主机端口
     token = “your_token”            # 自定义 Token(客户端需一致)
     dashboard_port = 7500           # Dashboard 管理端口
     dashboard_user = “admin”        # Dashboard 用户名
     dashboard_pwd = “your_pass” # Dashboard 密码

4. 创建 systemd 服务

bash
深色版本

# 创建服务文件
cat <<EOF | tee /etc/systemd/system/frps.service
[Unit]
Description=FRP Server
After=network.target

[Service]
User=root
WorkingDirectory=/usr/local/frp
ExecStart=/usr/local/frp/frps -c /usr/local/frp/frps.toml
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

# 重载 systemd 并启动服务
systemctl daemon-reload
systemctl start frps
systemctl enable frps

5. 配置防火墙

    开放端口(以 firewalld 为例):

    bash
     深色版本

firewall-cmd –permanent –add-port=7000/tcp
firewall-cmd –permanent –add-port=80/tcp
firewall-cmd –permanent –add-port=443/tcp
firewall-cmd –permanent –add-port=7500/tcp
firewall-cmd –reload

验证服务状态:

bash
深色版本

systemctl status frps

访问 Dashboard:

深色版本

http://<服务器公网IP>:7500

部署 FRP 客户端(frpc)
1. 环境准备

    操作系统:Anolis OS(内网设备)。
     依赖工具:wget、tar、vim、systemd。

2. 下载并解压 FRP

bash
深色版本

# 下载 FRP 二进制包(版本需与服务器一致)
wget https://github.com/fatedier/frp/releases/download/v0.61.2/frp_0.61.2_linux_amd64.tar.gz

# 解压到指定目录
tar -zxvf frp_0.61.2_linux_amd64.tar.gz -C /usr/local/
mv /usr/local/frp_0.61.2_linux_amd64 /usr/local/frp

3. 配置 frpc 客户端

    备份原始配置文件:

    bash
     深色版本

cp /usr/local/frp/frpc.toml /usr/local/frp/frpc.toml.bak

编辑配置文件(/usr/local/frp/frpc.toml):

toml
深色版本

    [common]
     server_addr = “<服务器公网IP>”    # 替换为 frps 的公网 IP
     server_port = 7000               # 与 frps 配置一致
     token = “your_token”             # 与 frps 配置一致

    [ssh]
     type = tcp
     local_ip = 127.0.0.1
     local_port = 22                  # 内网 SSH 服务端口
     remote_port = 6000               # 映射到外网的端口

    [web]
     type = http
     local_ip = 127.0.0.1
     local_port = 80                  # 内网 Web 服务端口
     custom_domains = “example.com”  # 域名(需解析到 frps 的公网 IP)

4. 创建 systemd 服务

bash
深色版本

# 创建服务文件
cat <<EOF | tee /etc/systemd/system/frpc.service
[Unit]
Description=FRP Client
After=network.target

[Service]
User=root
WorkingDirectory=/usr/local/frp
ExecStart=/usr/local/frp/frpc -c /usr/local/frp/frpc.toml
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target
EOF

# 重载 systemd 并启动服务
systemctl daemon-reload
systemctl start frpc
systemctl enable frpc

5. 验证连接

    检查客户端日志:

    bash
     深色版本

    journalctl -u frpc -f

    测试远程访问:
         SSH:ssh root@<服务器公网IP> -p 6000
         Web:访问 http://example.com(需域名解析到 frps 的公网 IP)。

三、常见问题排查

    防火墙限制:
         确保 frps 所在服务器开放了 bind_port、vhost_http_port 等端口。
         如果使用云服务器(如阿里云),需在控制台放行对应端口。

    Token 不匹配:
         检查 frps 和 frpc 的 token 是否一致。

    网络连通性:
         确保 frpc 所在内网设备能访问 frps 的公网 IP 和端口。

    日志分析:
         查看 frps 和 frpc 的日志文件(默认输出到控制台或 /var/log/messages)。

四、补充说明

    域名解析:如果通过域名访问 HTTP/HTTPS 服务,需将域名解析到 frps 的公网 IP,并配置 vhost_http_port。
     安全性:建议启用 TLS 加密(transport.tls.enable = true)和强 Token 验证。
     多服务映射:在 frpc.toml 中可添加多个 [服务名称] 段,支持 TCP/UDP/HTTP/HTTPS。

通过以上步骤,即可在 Anolis OS 上成功部署 FRP 服务器和客户端,实现内网穿透功能。

注意:

需要把配置文件中的所有的注释删掉,否则不能正常运行