Я пытаюсь разрешить 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 первых блока), поэтому он будет принимать все, что начинается с 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 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 Хорошо провести время