FRP 内网穿透实战:FRPS + FRPC 配置教程(Linux)

这篇教程做一件事:把内网机器的 SSH(22 端口)映射到公网服务器端口,实现外网直连。

注意:下方参数均为演示随机值,请替换成你自己的真实配置,勿直接照搬。

1)你需要准备什么

  • 公网服务器 IP:203.0.113.10(文档保留地址)

  • FRPS 监听端口:17777

  • SSH 映射端口:17778

  • FRP Token:REPLACE_WITH_STRONG_RANDOM_TOKEN_32

2)FRPC 配置(客户端)

serverAddr = "203.0.113.10"
serverPort = 17777
auth.token = "REPLACE_WITH_STRONG_RANDOM_TOKEN_32"

[[proxies]]
name = "ssh-server"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 17778

3)FRPS 配置(服务端)

bindPort = 17777
auth.token = "REPLACE_WITH_STRONG_RANDOM_TOKEN_32"

webServer.addr = "127.0.0.1"
webServer.port = 17775
webServer.user = "admin_example"
webServer.password = "ChangeMe_UseRandomPassword!"

说明:管理面板建议仅监听 127.0.0.1,再通过反代对外暴露。

4)systemd 托管 FRPC

sudo vim /etc/systemd/system/frpc.service
[Unit]
Description=FRP Client Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=root
WorkingDirectory=/usr/local/frp
ExecStart=/usr/local/frp/frpc -c /etc/frp/frpc.toml
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now frpc
sudo systemctl status frpc
sudo journalctl -u frpc -f

5)连通性测试

ssh -p 17778 root@203.0.113.10

能连接即表示映射成功。

6)安全建议

  • remotePort 尽量使用高位随机端口

  • SSH 建议关闭密码登录,改用密钥

  • 配合 fail2ban / 防火墙白名单

  • token 与面板密码定期轮换,不要长期复用