Я пытаюсь сделать правило маршрутизации в кучу субдоменов, соответствующих регулярному выражению.
iptables -t nat -A PREROUTING -m string --string "/must-[a-z0-9-\.]+gonow[a-z\.]+/g" --algo regex -p tcp -m tcp --dport 12 -j DNAT --to-destination 1.1.1.1:12
получение ошибки - iptables: нет цепочки / цели / соответствия этим именем.
Проблема в том, что вы пытаетесь использовать относительно медленный алгоритм сопоставления шаблонов в приложении, которое ДОЛЖНО использовать быстрый алгоритм сопоставления шаблонов. Также знайте, что все использование фильтра «строка» может быть интенсивным вычислением, и по этой причине всего несколько лет назад этот модуль не был доступен по умолчанию. Вам нужно будет изучить алгоритмы быстрой смены последовательности Boyer-Moore (bm) или Knuth-Pratt-Morris (kmp) и использовать один из них.
См. Также страницы руководства для iptables-extensions. Выдержка:
--algo {bm|kmp}
Select the pattern matching strategy. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)
Проблема в том, что вы пытаетесь использовать относительно медленный алгоритм сопоставления шаблонов в приложении, которое ДОЛЖНО использовать быстрый алгоритм сопоставления шаблонов. Также знайте, что все использование фильтра «строка» может быть интенсивным вычислением, и по этой причине всего несколько лет назад этот модуль не был доступен по умолчанию. Вам нужно будет изучить алгоритмы быстрой смены последовательности Boyer-Moore (bm) или Knuth-Pratt-Morris (kmp) и использовать один из них.
См. Также страницы руководства для iptables-extensions. Выдержка:
--algo {bm|kmp}
Select the pattern matching strategy. (bm = Boyer-Moore, kmp = Knuth-Pratt-Morris)