我有一台 Debian 7 Wheezy 服务器,分配了 2 个 IP。我在分配给 IP 的不同端口上提供了不同的服务。如何设置 iptables 规则,使其只对其中一个 IP 起作用?
例如:我有 2 个 IP:192.168.1.234 和 192.168.1.235 我只想为 192.168.1.234 开放端口 56,只想为 192.168.1.235 开放端口 80。
答案1
定义链的默认策略
INPUT
:iptables -P INPUT DROP
允许连接到特定的 IP 地址和 UDP/TCP 端口组合(以 TCP 为例):
iptables -A INPUT -d 192.168.1.234 -m tcp -p tcp --dport 56 -j ACCEPT
iptables -A INPUT -d 192.168.1.235 -m tcp -p tcp --dport 80 -j ACCEPT
由于默认策略,任何其他流量都将被丢弃,
DROP
因此在将规则投入生产之前将其记录下来以确保一切按定义运行是一种很好的做法:iptables -A INPUT -m limit --limit 2/min -j LOG --log-prefix "Dropped: "
最后,您可以删除此日志记录规则