frp这个工具 还有好多好多玩法 玩明白了对网络学习有很大帮助
FRPS
bindPort = 7000
vhostHTTPPort = 8080
auth.token = ""
tls_enable = true
# 默认为 127.0.0.1,如果需要公网访问,需要修改为 0.0.0.0。
webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
#webServer.user = ""
#webServer.password = ""
FRPC
serverAddr = ""
#对应bindPort
serverPort = 7000
auth.token = ""
tls_enable = true
[[proxies]]
name = ""
type = "tcp"
localIP = ""
#本地对应端口
localPort = 22
#server开放端口对外提供服务
remotePort = 6001
[[proxies]]
name = "fnos-docker.sock"
type = "tcp"
remotePort = 6000
[proxies.plugin]
type = "unix_domain_socket"
# Unix 域套接字路径
unixPath = "/run/docker.sock"
把本地docker.sock映射到服务器 服务器内网ip:6000就能连到portainer
frpc自启动脚本
#!/bin/bash
# 配置参数
FRPC_PATH="/usr/local/bin/frpc" # frpc可执行文件路径
CONFIG_FILE="/etc/frp/frpc.ini" # 配置文件路径
LOG_FILE="/var/log/frpc_monitor.log" # 日志文件路径
# 检测进程是否存在
pgrep -f "frpc -c $CONFIG_FILE" > /dev/null
# 检查上一条命令的返回值
if [ $? -ne 0 ]; then
# 记录日志
echo "[$(date '+%Y-%m-%d %H:%M:%S')] frpc is not running. Starting..." >> $LOG_FILE
# 启动frpc(后台运行并抑制输出)
$FRPC_PATH -c $CONFIG_FILE > /dev/null 2>&1 &
# 再次验证启动是否成功
sleep 2
if pgrep -f "frpc -c $CONFIG_FILE" > /dev/null; then
echo "[$(date '+%Y-%m-%d %H:%M:%S')] frpc started successfully" >> $LOG_FILE
else
echo "[$(date '+%Y-%m-%d %H:%M:%S')] Failed to start frpc!" >> $LOG_FILE
fi
fi