Назад | Перейти на главную страницу

Есть ли в IPtables для Ubuntu подстановочный знак для IP-адреса

Мне нужно настроить IPtables для приема трафика на многих внутренних IP-адресах. Есть ли подстановочный знак, который я могу использовать для части IP-адреса? Например: 192.168..

Или есть альтернатива лучше?

iptables не знает подстановочных знаков, но использовал метод CIDR. Например: -s 192.168.0.0/24 будет охватывать все хосты от 192.168.0.1 до 192.168.0.254.

Вы можете найти больше информации о CIDR Вот

Сам по себе подстановочный знак отсутствует, но вы можете указать сетевую маску CIDR:

192.168.0.0/16

Вышеупомянутое будет эквивалентом CIDR приведенного вами примера.

Не совсем подстановочный знак, вы можете сопоставить IP-адреса по подсетям:

192.168.0.0/16 192.168.1.0/24 192.168.2.0/25

Другой способ - использовать ipranges следующим образом: iptables -A INPUT --destination-port 80 -m iprange --src-range From_IP-To_IP -j ACCEPT

Также есть второй модуль для --dest-range.

iptables поддерживает использование нотации CIDR, поэтому для вашего примера вы можете использовать 192.168.0.0/16.

Вне связи, рассмотрите возможность работы над своей скоростью приема.

Для будущих гуглеров, начиная с текущей версии iptables 1.4.7.

Диапазон IP-адресов одного порта

iptables -A INPUT -p tcp --dport 8080 -m iprange --src-range 192.168.0.0-192.168.254.254 -j ACCEPT

Диапазон IP-адресов с несколькими портами

iptables -A INPUT -p tcp -m multiport --dports 21,8080 -m iprange --src-range 192.168.0.0-192.168.254.254 -j ACCEPT