服务器通过两个物理网卡连接两个独立的、隔离的子网。服务器有什么办法可以充当两个网络进行通信的网关?澄清一下,我不想进行任何交流。目标只是从服务器为两个子网提供相同的 Web 服务,不允许它以任何方式连接这两个子网。
网络 A 是典型的办公室 LAN。网络 B 位于同一建筑物中,但被隔离。不能上网,什么都没有。由于各种专有原因,它需要保持这种状态。开发软件的用户必须通过 N A 将其上传到 subversion 服务器。NB 上的技术人员必须能够访问 subversion 文件。我在两个子网上的交换机都是 Procurve 2810 ...我认为不支持 ACL。
服务器不需要是网关。只需将 subversion 绑定到两个 NIC,并让人们在各自的服务器 NIC ip 地址连接到 subversion。
正如您所描述的,您实际上并不希望服务器成为网关。IP 网关是将本地网段的流量转发到不在该网段上的其他主机的主机。如果它正在路由流量,它只是一个网关,你已经说过你不希望它这样做。不要启用转发或桥接。
但是,您可以在两个 IP 接口上运行 Web 服务或颠覆。只要接口的地址与客户端在同一子网上,客户端就不需要网关。您只需将 Web 服务器配置为在两个接口上进行侦听。
如果操作系统中没有启用IP 转发,它将不会在网络之间路由数据包。
这很容易实现:给服务器两个 NIC。将一个连接到子网 A,另一个连接到子网 B。然后确保该服务器上的“IP 转发”已安全禁用!除了: echo 0 >/proc/sys/net/ipv4/ip_forward 您还可以将 FORWARD 链的默认规则设置为 drop: iptables -P FORWARD DROP 检查您的特定操作系统说明,了解如何实现这些。通常,ip_forward 中的 0 无论如何都是默认值。