iptables-legacy не может загружать цели NFQUEUE, а параметры --queue-num и --queue-bypass - неизвестные параметры

Я пытаюсь запустить следующую команду iptables из https : //github.com/farukuzun/notsodeep в ubuntu 20.04.1.

iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass

Но результат выполнения следующий:

# iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK --sport 443 -j NFQUEUE --queue-num 200 --queue-bypass
iptables v1.8.4 (legacy): unknown option "--queue-num"
Try `iptables -h' or 'iptables --help' for more information.

И следующий результат выполнения делает вид, будто цель NFQUEUE не существует на моей машине вообще:

# iptables -A INPUT -j NFQUEUE
iptables v1.8.4 (legacy): Couldn't load target `NFQUEUE':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.

Я смущен, потому что такой ситуации я никогда раньше не видел. Как я и ожидал, все команды должны работать нормально.

Это все потому, что система Ubuntu, которую я использую, основана на WSL ( https://docs.microsoft.com/windows/wsl/install-win10 )?

1
задан 29 December 2020 в 13:59
2 ответа

Проверьте вывод этих команд:

  • modinfo xt_NFQUEUE
  • lsmod | grep NFQUEUE
  • iptables -j NFQUEUE --help

Каждая цель xtables состоит из двух частей:

  • Библиотека пользовательского пространства для инструмента iptables -- она ​​анализирует аргументы командной строки от пользователя и переводит их в структуру данных, а затем наоборот, для вывода правил из ядра
  • модуля ядра, обрабатывающего пакеты.

Первые две команды проверяют наличие модуля ядра и его загрузку. Третье правило проверяет наличие пользовательской библиотеки и список поддерживаемых опций.

Первая версия WSL имеет очень ограниченную поддержку собственных инструментов Linux, поскольку не использует само ядро ​​Linux, а использует трансляцию системных вызовов в ядро ​​Windows NT.

Чтобы получить полную поддержку iptables, вы должны использовать WSL2. Он использует настоящее ядро ​​Linux, а не эмуляцию ядра Windows NT.

1
ответ дан 28 December 2020 в 10:44

об установке модуля ядра xt_NFQUEUE в WSL2 вам необходимо настроить свой собственный WSL kenel. Вы можете обратиться к следующему веб-сайту: https://gist.github.com/cerebrate/d40c89d3fa89594e1b1538b2ce9d2720

Я должен добавить кое-что о включении «NFQUEUE» в ядро, см. рисунок ниже. https://i.stack.imgur.com/FhGfy.png

0
ответ дан 23 November 2021 в 01:38

Теги

Похожие вопросы