我经营一家小旅馆,网络配置如下:
Router1 (192.168.1.1) ─┬─ (192.168.1.2) Ubuntu Samba+SSH Server
├─ (192.168.1.X) Router 2 (192.168.2.1) ─┬─ (192.168.2.X) GuestPC1
├─ (192.168.1.X) AdminPC1 ├─ (192.168.2.X) GuestPC2
├─ (192.168.1.X) AdminPC2 ├─ (192.168.2.X) GuestPC3
: :
: :
└─ etc. └─ etc.
192.168.1.X 是 ADMIN 网络,我们希望将其与 GUEST 网络(192.168.2.X)隔离,但 192.168.1.2 上的一些共享 Samba 文件夹除外。
除使用静态 IP 的 Samba+SSH 服务器外,两个网络上的所有计算机都通过 DHCP 获取其 IP 地址。
我注意到,尽管将 ufw 配置为仅允许 192.168.1.0/24,但 GuestPC 能够访问 Ubuntu Samba+SSH 服务器。
在互联网上进行了一些研究之后,似乎由于路由器 2 上的 NAT,来自 GuestPC 的连接能够伪装在我的 ADMIN 网络上。因此,仅给定上述 ufw 规则,GuestPC 就能够完全访问 Samba 和 SSH 服务而不受限制。
我的问题是,阻止 GUEST 网络 (192.168.2.X) 计算机访问 ADMIN 网络 (192.168.1.X) 的正确方法是什么?有没有比将路由器 2 设置为静态 IP 并使用 Ubuntu 服务器上的 ufw 阻止其 IP 更好的方法?
答案1
您可以反转网络 1 和网络 2,即让您的办公室网络位于第二个路由器后面,然后让访客接入第一个路由器。这可能是最简单的解决方案(并且可行,假设您没有遇到双重 nat 问题,而您无论如何都会这样做)。
就您的网络而言,您无法使用(互联网连接的)路由器上的规则阻止对服务器的访问 - 因为流量永远不会流向那里。您可能可以从辅助路由器阻止它。
您没有指定在哪里使用此 ufw 规则(或者它是什么),但如果您想阻止访客访问您的 SAMBA 服务器,您至少有几个替代方案[假设您不按照我的第一个建议修改您的网络]
删除第二个路由器上的 NAT。除了关闭 NAT 之外,您还需要将 192.168.2.0/24 的路由从第一个路由器推送到第二个路由器。这将允许您通过其 IP 范围识别第二个网络并在路由器 2 上阻止它。
或者
将路由器 2 上的 WAN 接口更改为静态 IP 地址,并在 Ubuntu 服务器(和/或路由器 2)上阻止该地址。
答案2
如果你有多余的 PC,建议使用 m0nowall,它是专门用于安全网络应用程序的 FreeBSD 发行版。只要你为 PC 配备一个或多个 NIC,它就能提供你想要的功能