Eu estava enfrentando o mesmo problema no meu roteador OpenWrt e recentemente encontrei uma solução simples que não envolve nem CONNMARK
nem MARK
.
1) Crie uma nova tabela de roteamento e configure seu gateway WAN como sua rota padrão
echo "3412 no_vpn_provider" >> /etc/iproute2/rt_tables
ip route add default via <WAN gateway> dev vlan2 table 3412
2) Essa é a parte crucial: vincule seu servidor VPN ao endereço IP da interface WAN usando a opção local
em sua configuração. Se você estiver usando um arquivo .conf
/ .ovpn
, basta adicionar a linha
local <WAN IP>
3) Adicione esta regra ip
ip rule add from <WAN IP> table 3412 priority 2
Por padrão, o servidor OpenVPN não se vincula a nenhum IP específico, portanto sem 2) esta regra não terá nenhum efeito.
A tabela de roteamento, como é, deve permitir que os clientes se conectem ao servidor, mas para ter funcionalidade completa, você pode precisar adicionar outras rotas a ela.