Я сталкивался со статьями, советующими для следующего:
iptables -A INPUT -p tcp 1000:2000 -j ACCEPT
И другие утверждают, что вышеупомянутое не будет работать, и iptables поддерживает только несколько объявлений портов с этой --multiport
опцией.
Есть ли правильный способ открыть много портов с iptables?
linux
iptables
linux-networking
Пол Уолли
источник
источник
Ответы:
Это правильный путь:
iptables -A INPUT -p tcp --match multiport --dports 1024:3000 -j ACCEPT
В качестве примера. Источник здесь .
источник
-I
несколько безопаснее, чем-A
.-A INPUT -j REJECT --reject-with icmp-host-prohibited
в конце INPUT и других таблиц. Использование-A
добавляет правило в конце таблицы, после последнего правила, так что оно никогда не будет рассматриваться, как сетевой фильтр работает при первом совпадении. Использование-I
вставки правила в начале таблицы и как таковое всегда будет учитываться.-I
не всегда безопаснее, если вы не знаете набор правил.То, что вам сказали, правильно, хотя вы написали это неправильно (вы забыли
--dport
).iptables -A INPUT -p tcp --dport 1000:2000
откроет входящий трафик на порты TCP от 1000 до 2000 включительно.-m multiport --dports
нужен только если диапазон вы хотите открыть не является непрерывным, например-m multiport --dports 80,443
, который откроет HTTP и HTTPS только - не те , что между ними.Обратите внимание, что порядок правил важен, и (как упоминает Иэн в своем комментарии в другом месте) ваша задача - убедиться, что любое добавленное вами правило находится в месте, где оно будет эффективным.
источник
TL; DR но ...
Чистый диапазон портов без многопортового модуля:
iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT
Эквивалентный мультипортовый пример:
iptables -A INPUT -p tcp -m multiport --dports 1000:2000 -j ACCEPT
... и вариант с несколькими портами с несколькими диапазонами (да, это также возможно):
iptables -A INPUT -p tcp -m multiport --dports 1000,1001,1002:1500,1501:2000 -j ACCEPT
... и эквивалентный многопортовый мультидиапазонный пример с отрицанием:
iptables -A INPUT -p tcp -m multiport ! --dports 0:999,2001:65535 -j ACCEPT
Имейте phun.
источник