How is traffic between Router B and Router A setup (i.e. what tools, programs, concepts are used?)?
O conceito principal que você terá que pesquisar é a tabela de roteamento (que é como os roteadores selecionam as rotas). É uma parte integrante da pilha de rede de cada SO e você provavelmente já tem ferramentas para gerenciá-lo - ip route
no Linux; route
e netstat -rn
no Windows e no BSDs.
No entanto, para essa tarefa em particular, é provável que você também precise implementar NAT (SNAT, por exemplo, mascaramento) para o tráfego de VPN de saída - geralmente, esse é um recurso do firewall, por exemplo, iptables, pf ou nft.
(Você pode precisar do NAT porque seus dispositivos enviam pacotes com seu endereço IP da LAN, que o servidor VPN provavelmente não esperaria.)
How can Router B split incoming traffic between sending directly to Router A or sending to the VPN client?
Na tabela de roteamento, a entrada mais específica sempre ganha. Portanto, se você adicionar uma rota "direta" para um endereço IP específico e uma rota "VPN" para toda a Internet, isso funcionará conforme você descreve.
(Observe que as rotas regulares são baseadas apenas no endereço de destino. Embora o "roteamento de políticas" com base no protocolo & porta também seja possível, ele precisa de um pouco mais de configuração.)
How can Router B send packets wirelessly to/from Router A while also accepting wireless connections from other devices?
Idealmente, use uma conexão Ethernet com fio entre os dois roteadores. A execução de um cabo pode evitar alguns problemas.
Tecnicamente, os roteadores não aceitam conexões sem fio - os pontos de acesso fazem isso. Se o seu roteador tiver um AP integrado, provavelmente ele só poderá lidar com uma rede de uma só vez (e mesmo assim, a maioria suporta apenas o modo AP, não o modo cliente / estação).
Portanto, se você precisar de um uplink sem fio, talvez seja necessário um dispositivo separado para isso. APs dedicados (também conhecidos como "extensores sem fio") frequentemente têm um modo de cliente.