我有 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.x.x.71 0.0.0.0/0 tcp dpt:22 reject-with icmp-port-unreachable
14 1400 REJECT tcp -- * * !115.x.x.176 0.0.0.0/0 tcp dpt:22 reject-with icmp-port-unreachable
Run Code Online (Sandbox Code Playgroud)
是不是就像我从 115.xx71 ssh 时它与第一条规则匹配,我应该获得访问权限并且它不会与第二条规则匹配,即使我从 115.xx176 ssh 也是违反第一条规则,它将被拒绝,但我什至无法从第一个 ip 进行 ssh。
这永远行不通!
原因:
这样做的原因是因为如果 iptables 中的规则不匹配,它将继续执行下一个规则。
您必须允许来自 .71 和 .176 的连接,然后拒绝所有其他连接。
为什么第一条规则不增加计数器:我不知道。
编辑以澄清一些事情:
iptables一个接一个地检查规则。如果规则匹配,则评估将停止,到目前为止的结果。因此,您的规则iptables将执行以下操作:
REJECT因此,要满足您的要求,您必须首先接受第一条规则中来自 .71 和 .176 的连接,然后拒绝所有其他规则。
请阅读一些教程iptables以了解它是如何工作的,也可以查看dmourati的答案以获取运行示例。
| 归档时间: |
|
| 查看次数: |
599 次 |
| 最近记录: |