我试图允许SSH访问一定范围的IP(从192.168.1.1到192.168.1.24 ),并阻止所有其他,但由于我是iptables的新手,我似乎无法弄清楚。 我有 :
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport ssh -j ACCEPT iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport ssh -j ACCEPT iptables -A INPUT -p tcp --dport ssh -j REJECT iptables -A INPUT -p udp --dport ssh -j REJECT
啧啧,这不起作用,虚拟机设置为192.168.1.89我仍然可以通过SSH访问。 有人可以帮忙吗?
192.168.1.0/24不是从1到24,而是使用24位(= 3个第1块),因此它将接受任何以192.168.1开头的东西。 正确的是/ 27,但它将允许高达192.168.1.31。
下一个较小的范围将是/ 28,将允许高达192.168.1.15。
/ 24是CIDR的长度,而不是一个范围。
要使用范围,请执行以下操作:
iptables -A INPUT -m iprange --src-range 192.168.1.1-192.168.1.24 -p tcp --dport ssh -j ACCEPT iptables -A INPUT -p tcp --dport ssh -j REJECT
第一个DROP所有INPUT Rullse(为了更安全)第二个:iptables -A INPUT -p tcp -i eth0 –dport 22 -m iprange –src-range 192.168.1.1-192.168.1.24 -j ACCEPT有好的时间