
Я пытаюсь разрешить доступ по 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
Tut это не работает, с набором VM 192.168.1.89
я все еще могу получить доступ через SSH. Может кто-нибудь помочь?
решение1
192.168.1.0/24
не от 1 до 24, а использует 24 бита (= 3 первых блока), поэтому он примет все, начиная с 192.168.1. Правильный вариант - /27, но он разрешит до 192.168.1.31.
Следующий меньший диапазон будет /28, что позволит увеличить адрес до 192.168.1.15.
решение2
/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
решение3
Первый DROP all 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 Приятного времяпрепровождения