我有iptables规则,我希望从2 ips允许ssh。
为什么柜台增加了第二条规则,而不是第一条规则。
即使我尝试从两个IP我不能ssh到它。
Chain INPUT (policy ACCEPT 87 packets, 6188 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT tcp -- * * !115.xx71 0.0.0.0/0 tcp dpt:22 reject-with icmp-port-unreachable 14 1400 REJECT tcp -- * * !115.xx176 0.0.0.0/0 tcp dpt:22 reject-with icmp-port-unreachable
是不是像当我从115.xx71 ssh s匹配第一条规则,我应该得到的访问,它不会匹配秒,即使我从115.xx176 ssh它是违反第一条规则,它会被拒绝,但我不能从第一个ip甚至ssh。
这将永远不会工作!
原因:
对此的共鸣是因为如果规则不匹配在iptables它将继续到下一个规则。
您必须允许.71和.176之间的连接,然后拒绝所有其他连接。
为什么柜台不按第一条规则增加:我不知道。
编辑澄清事情有点:
iptables检查规则。 如果一个规则与目前的结果相匹配, 因此,对于你的规则, iptables将执行以下操作:
REJECT 因此,为了满足您的要求,您必须首先接受来自.71和.176的连接,然后拒绝所有其他连接。
请阅读有关iptables一些教程,了解它是如何工作的,也可以从dmourati看一个运行示例的答案 。
iptables -A INPUT -p tcp --dport 22 -s IP-ADDR-1 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -s IP-ADDR-2 -j ACCEPT iptables -A INPUT -p tcp --dport 22 -j REJECT