我有一个安装了数据库的中央服务器和多个调用该中央数据库的分布式服务器。出于安全原因,我希望中央服务器只能由那些已知服务器访问。
所以我在这里想要实现的是允许服务器 192.168.1.5 和 192.168.2.6 访问端口 5432。
iptables -A INPUT -s 192.168.1.5,192.168.2.6 -d ??.??.??.?? -p tcp --dport 5432 -j ACCEPT
这个对吗?
我不明白的是指定目的地的选项。INPUT 上的目标始终是服务器本身,不是吗?为什么它是可配置的?我必须定义它还是将其省略,它会自动指向同一个服务器?
首先,您需要将您的规则分成两条规则(我尝试使用一个指定两个 IP 的命令,它似乎有效)。最终结果是两条规则,如下所示:
其次,您可以省略
-d
以匹配任何 IP。因为,这是INPUT
链,它需要匹配机器 IP 之一。第三,不要忘记有一个
DROP
规则,因为如果你只有这两个规则ACCEPT
作为INPUT
链的默认策略。将允许所有连接。此外,您可能需要允许数据包
RELATED
的ESTABLISHED
流量双向流动。这取决于您的规则(什么是允许的,什么是丢弃的)。这是规则: