Connection tracking в Linux и не работающие хелперы [SOLVED]
Внезапно, после ребута в новое ядро, возникла проблема на пограничном маршрутизаторе – перестали устанавливаться соединения по PPTP и FTP. Для PPTP tcpdump показывает, что трафик по TCP1723 ходит в обе стороны, а GRE трафик с обоих сторон доходит до маршрутизатора и пропадает.
В настройках есть правило
iptables -A FORWARD -p ALL -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Но, вполне очевидно, что оно для GRE не отрабатывает. (Хотя до ребута всё было хорошо и GRE трафик принимался именно на этом правиле!)
Если гуглить проблему, то выдаётся 100500 ссылок с указанием загрузить модули ядра nf_conntrack_pptp, nf_nat_proto_gre и т.п. Но в моём случае эти модули точно были загружены, да и проверялось это несколько раз.
Как временное решение, были прописаны правила, насильно цепляющие нужные хелперы на соединения.
iptables -t raw -A PREROUTING -d ${SPSL_VPN} -p tcp --dport 1723 -j CT --helper pptp iptables -t raw -A PREROUTING -p tcp --dport ftp -j CT --helper ftp
Такое решение работает, хотя и напрягает, т.к. «раньшебылохорошо»
После пары дней мучений была таки найдена ссылка, с внятным описанием происходящего.
Ну и прописывание
echo 1 > /proc/sys/net/netfilter/nf_conntrack_helper
принесло мне успокоение.
dokuwiki\Exception\FatalException: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097160 bytes)
An unforeseen error has occured. This is most likely a bug somewhere. It might be a problem in the authplain plugin.
More info has been written to the DokuWiki error log.