从本地网络中的特定 IP 访问特定域

从本地网络中的特定 IP 访问特定域

我的本地网络中有一些带有 Firefox 的 docker 容器,它们在不同的端口上运行,比如 5801、5802 等。为了只能访问请求启动的设备,我使用了以下命令:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 5801 -j DROP

其中1.2.3.4是用户 IP。

但是现在我已经为这些容器创建了域名。它们工作正常,但现在任何人都可以连接到任何容器。所以我的问题是,我如何只允许一个用户访问一个域并删除其他所有用户?

例如:

  • 用户1发射容器1使用域名sub1.domain.example
  • 用户2发射容器2使用域名sub2.domain.example

用户1应该只能访问sub1.domain.example用户2- 仅限sub2.domain.example

我已经尝试使用 ipset,但得到以下结果:
ipset v6.23: Cannot open session to kernel.

我的服务器是 Synology NAS。

答案1

您在错误的层上解决了这个问题。不要尝试在 IP 层上解决它。在大多数情况下,这样做不够灵活。

在您服务的应用程序中实现某种身份验证,可以直接实现,也可以在前面进行某种身份验证,例如oauth2-代理

如果您实现了适当的前端,您甚至可以拥有example.com,并根据权限在后台重定向用户。

相关内容