Я пытаюсь переадресовать / замаскировать соединения от WLAN0 до ETH0 следующим образом:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
Первая команда работает.
Вторая команда отвечает: iptables: No chain/target/match by that name.
Если я удалю -m state --state RELATED,ESTABLISHED
часть команды принята.
Я посмотрел на модули ядра, используя lsmod | grep ip и 'ip_tables' присутствует. Я здесь упускаю что-то очевидное. Предложения?
Debian 7 (armv7l)
modprobe xt_state
? Увидеть этот ,/lib/xtables/libxt_state.so
доступно, хотя. Файл '.ko' не найден.uname -v
или лучше --uname -a
)?armhf
) арка Даже если мы рассмотреть бэкпорт , это3.16.x
не3.8.x
, Боюсь, у вас могло быть какое-то скомпилированное ядро, которое пропускает то, что вам нужно.Ответы:
state
Модуль Netfilter реализован с использованием модуля ядра с именемxt_state
Таким образом, если попытка использовать его сразу же не удалась, можно попробовать сделатьЕсли это не удается, ядро, скорее всего, скомпилировано с отключенной поддержкой расширенных функций Netfilter.
Чтобы проверить это, можно искать
/boot/config-<your-kernel-version>
файл для словаCONFIG_NETFILTER_XT_MATCH_STATE
который должен бытьДальнейшее расследование с OP показало, что у них есть ядро, предоставленное
odroid
установлено, а не стандартное ядро Debian Wheezy дляarmhf
архитектура.источник