问题描述
我正在尝试在需要侦听动态端口的容器中运行 frp。这意味着 frp 可能会在运行时打开额外的端口。
我的操作步骤
- 在我的远程 VPS 上,我使用以下命令启动 frp 服务器。请注意,我使用
host
模式,根据 Docker 文档,这意味着所有打开的 frp 端口都可以从主机和外部机器访问。
docker run -d \
--network=host \
-v /etc/frp:/etc/frp/:ro \
--name frps \
--rm \
290007431/frps:v0
这是容器内的程序,显示7500和9000端口可用
。-
在我的 Mac (Big Sur) 和 RaspBerry Pi (Debian 10) 上,我尝试通过端口 7500 访问仪表板 Web,结果失败。所以我使用
。它表明 7500 和 9000 无法从客户端端点(Mac 和 RaspBerry Pi)访问。namp
来扫描端口。这是结果 -
随着事情的发展,我回到我的 VPS 来检查端口是否真的暴露了。我使用
。netstat -nlptu
命令,结果显示 VPS 正在侦听 7500 和 9000 端口
是不是很奇怪?
解决方法
终于!!!我找到了无法从外部访问 VPS 的原因。也就是说,VPS 提供商具有默认防火墙,它在 VPS 之外运行。 我登录到 VPS Provider 控制台并进行配置。多么愚蠢的故事?