我如何允许 IP 范围 xxx.xx.xxx.x/yy

我如何允许 IP 范围 xxx.xx.xxx.x/yy

我想将 IP 范围 xxx.xx.xxx.x/yy 列入白名单iptables。我已经测试了许多变体,但没有成功,例如:

iptables -A INPUT -s xxx.xx.xxx.x/yy -j ACCEPT
iptables -A INPUT -i eth0 -s xxx.xx.xxx.x/yy -j ACCEPT
iptables -A INPUT -i eth1 -s xxx.xx.xxx.x/yy -j ACCEPT
iptables -A OUTPUT -o eth0 -d xxx.xx.xxx.x/yy -j ACCEPT
iptables -A OUTPUT -o eth1 -d xxx.xx.xxx.x/yy -j ACCEPT

我希望有一个人可以帮助我 :-)

答案1

开始吧

清除现有链

sudo iptables --flush
sudo iptables --delete-chain

允许环回

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT

可选:允许所有 ICMP

sudo iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
sudo iptables -A OUTPUT -p icmp -j ACCEPT

允许已建立的连接

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

然后规则所有传入流量来自xxx.xx.xxx.x/yy

sudo iptables -A INPUT -m state --state NEW -s xxx.xx.xxx.x/yy -j ACCEPT

全部拒绝接受以上规则

sudo iptables -A INPUT -j DROP

默认策略

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT

节省

sudo service iptables save

尝试。

答案2

如果你想白名单该前缀,我假设您有一个匹配更大范围(可能是 0.0.0.0/0)的规则,该规则拒绝所有流量。您确定该规则没有出现您的白名单中有任何内容吗? 的输出是什么iptables --line-numbers --list -n

相关内容