TAP sem ponte: um segmento virtual com um uplink encaminhado
Um dispositivo TAP é um segmento Ethernet, não uma ponte. Dê-lhe um endereço, encaminhe entre ele e o prefixo do escritório, e mantenha o alcance de difusão deliberado.
O TAP entrega as tramas Ethernet ao sistema operativo, o que é mais capacidade do que a maioria dos projetos de acesso remoto precisa e menos do que uma ponte. O núcleo pode endereçá-lo, encaminhar através dele e protegê-lo com uma firewall sem o ligar a nenhum segmento físico. Vale a pena compreender primeiro esta disposição: um segmento Ethernet virtual isolado cujo servidor atua como router em direção a uma LAN real. Dá comportamento de segunda camada dentro do túnel e encaminhamento IP comum fora dele, que são duas promessas diferentes. O resto é a construção, a rota, o caminho de volta e a reversão.
Construa o segmento isolado
No Linux a interface recebe três comandos: crie-a, levante-a, dê-lhe um endereço dentro do segmento que pretende. Escolha um prefixo que não colida com a LAN do escritório e anote-o, porque a colisão é invisível até que responda um anfitrião que não deveria existir.
ip tuntap add dev tap0 mode tap
ip link set tap0 up
ip addr add 10.77.0.1/24 dev tap0
Nada aqui exige uma ponte, e nada impede acrescentar uma mais tarde. A documentação do núcleo sobre TUN/TAP descreve a própria interface; a pertença à ponte e a política de encaminhamento são decisões separadas que toma depois.
Encaminhe através da fronteira
Ative o encaminhamento, permita os dois prefixos na cadeia de encaminhamento, e acrescente uma rota para o prefixo do escritório com o router da LAN como salto seguinte. O lado VPN envia então o tráfego para o escritório ao servidor como a sua porta de entrada, e o servidor encaminha esses pacotes como ele próprio, não como uma ponte. Uma interface TAP com o encaminhamento desativado é um segmento que responde localmente e não alcança nada além disso, que é o estado habitual a meio termo. Depois verifique os contadores da interface dos dois lados, porque um contador de receção a subir com um contador de transmissão plano do lado da LAN significa uma queda na cadeia de encaminhamento, não uma rota má.
Escreva a rota e a regra da firewall como uma única alteração, porque cada uma por si produz um estado que do lado do cliente parece uma falha de encaminhamento.
Decida o caminho de volta
Ou o router da LAN aprende uma rota de volta para o prefixo VPN, ou o servidor traduz os endereços de origem à saída. A tradução torna trivial o caminho de volta e destrói a identidade da origem, por isso os registos de destino mostrarão o endereço do servidor para cada cliente por trás. Um prefixo encaminhado preserva a identidade e exige uma alteração em equipamento que talvez não administre.
Escolha deliberadamente e não em função do que é mais rápido de escrever. Um único prefixo encaminhado é geralmente mais limpo do que a tradução, e a tradução é geralmente melhor do que ensinar um prefixo novo a um router não gerido por causa de um único laboratório.
Mantenha o alcance de difusão deliberado
Dentro do segmento virtual, o DHCP, a descoberta e o anúncio de vizinhos comportam-se como num comutador, porque é uma única ligação. Para lá da fronteira encaminhada já não o fazem, por isso o DHCP do escritório e a descoberta de serviços precisam de um desenho explícito e não do pressuposto de que o TAP os inclui. O tipo de interface não é um repetidor para serviços que vivem noutro lugar.
Essa é a razão honesta para escolher TAP: algo no segmento virtual precisa de comportamento local à ligação. Se nada precisar, um dispositivo TUN com um prefixo encaminhado é mais pequeno, e há menos para explicar quando se avaria.
Verifique e depois escreva a reversão
A partir de um cliente VPN, faça ping ao router da LAN, faça ping a um anfitrião, e abra um serviço que importe por TCP. Depois verifique os contadores e a cadeia de encaminhamento, porque uma queda por política de longe parece exatamente uma rota em falta. A reversão é o contrário da construção e pertence ao registo de alterações antes de começar: remova a rota, remova o endereço, apague a interface.
Se o requisito for realmente um segmento Ethernet que abrange dois locais, uma ponte é a resposta honesta e um desenho diferente com um raio de impacto diferente. Se o requisito for acessibilidade, o segmento isolado com um uplink encaminhado faz o trabalho com menos explicações depois.