有没有一种方法可以阻止使用firewall-cmd
或iptables
除了一个 IP 的 Redhat 7 的所有传出连接。
它将建立与特定 IP 的连接,同时断开与其余 IP 的所有连接。
我知道这个命令会删除所有连接,但不知道如何只允许一个 IP 的外部连接
iptables -I OUTPUT -o eth1 -j DROP
答案1
iptables
通常会评估规则,直到第一个匹配的规则为止。如果您只想允许基于源/目标 IP 地址的流量,请创建规则以允许此类流量,并将默认操作更改为拒绝/丢弃其余流量。通过这样的配置,您还应该添加规则以允许环回流量。
对于输出链:
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -d <ip-address> -j ACCEPT
iptables -A OUPUT REJECT
输入链的类似规则:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -s <ip-address> -j ACCEPT
iptables -P INPUT DROP