Se você quiser enviar o tráfego proveniente de wlan0 down tun0, mas o tráfego que se origina localmente para ir para eth0, a maneira mais fácil é simplesmente usar uma tabela de roteamento separada:
# enable IP forwarding
sysctl -w net.ipv4.ip_forward 1
# Add a "default rule" to a non-default routing table
ip route add default dev tun0 table 10
# Specify that this table is to be used for anything from the wlan interface
ip rule add iif wlan0 table 10
... e deveria ser isso, na verdade. Isso pressupõe que você não precisa de NAT; se você controlar o servidor VPN e o intervalo de endereços IP wlan, isso deve ser simples.