Кто проживает на дне океана^W^W^Wмежду mangle forward и filter forward?
У меня есть конфигурация openvpn и конфигурация wireguard, с /24 подсетями, и натом из них в интернет.
sysctl на интерфейсах одинаковые, за вычетом net.ipv6.conf.%i.stable_secret, правила в фаерволле одинаковые, форвардинг включен, правил роутинга нет.
Тем не менее. Пакеты OpenVPN ходят в интернет и обратно заебись, а исходящие пакеты wireguard вылезают из интерфейса, лезут в фаерволл, едут до mangle filter и судя по -j LOG, после него теряются.
https://pastebin.com/AxTMWrbH
Есть тупое предложение маркировать разными числами трафик с двух интерфейсов и писать две строчки с MASQUERADE, либо поменять местами команды для них и проверить, будет ли тогда работать второй вместо первого.
@stiletto Если сделать NAT только для wireguard, он тоже не работает? Если SNAT с IP-адресом на время поставить вместо MASQUERADE?
Иначе может быть, что wg не пинает ядро после каких-то манипуляций с содержимым своих пакетов, и оно думает, что те уже приехали на останивку: https://www.netfilter.org/documentation/HOWTO/netfilter-hacking-HOWTO-6.html
Ещё можно проверить, что в конфиге wg разрешены все нужные адреса.
@stiletto Судя по схеме чернобыльского реактора, такое может быть только в том случае, когда пакет идёт в локальную систему. У тебя, случайно, строчка лога на FORWARD и filter не совпадает со строчкой лога на INPUT и filter? Если всё правильно, то ещё одна причина подозревать случай по ссылке выше (пакет приходит из сети, перехватывается модулем wireguard, он творит какую-то магию, меняя адреса и содержание, но не сбрасывая какие-то поля, в которых всё ещё записано, что пакет направляется внутрь).
Либо где-то в ip route или ip rule добавлено что-то необычное.