我维护着几个由 5-20 台计算机组成的网络,这些网络位于传统的 IPv4 路由器/防火墙设置后面。出站连接经过 NAT,路由器外的客户端通过路由器的端口转发访问各个服务。
我有兴趣开始为这些机器(部分)使用 IPv6,但我不想在不知情的情况下让它们受到来自 Big Bad Internet 的任意访问。我做希望尽可能直接地允许某些协议通过。例如,我希望允许直接通过 SSH 访问其中一台机器。
有没有一个好的方法可以做到这一点,而不需要在每个单独的机器上设置完整的防火墙?我是否应该将路由器面向公众的 IPv6 地址视为n所有内联网机器都位于一个位子网中,并通过将 SYN 数据包丢弃到我不想允许访问的端口和机器来处理防火墙?
答案1
在 v4 上,您有一个路由器:
- 默认阻止入站连接,除非允许
- 对出站连接的源地址进行 NAT
- 对某些入站连接的目标地址进行 NAT
在 v6 中,您可以执行相同的操作,但无需进行任何 NATing。您只需要第一个要点。
所有连接仍通过路由器传输,因此您仍可以在路由器上对入站连接应用防火墙。您未对这些连接上的地址进行 NAT 处理这一事实丝毫不会改变这一点。
通过将 SYN 数据包丢弃到我不想允许访问的端口和机器来处理防火墙?
您不应该通过丢弃 SYN 数据包来实现这一点。首先,SYN 仅适用于 TCP。在此阶段,您应该使用跟踪连接的状态防火墙,并且应该接受与现有连接匹配的数据包,同时丢弃(或更好的是,拒绝)创建新连接的数据包。
但基本上是的,这就是你处理防火墙的方式。