Dois túneis de cliente, um portátil e um separador do navegador que continua com sessão iniciada onde não devia. A parte difícil de trabalhar em várias redes privadas não é ligar; é saber a que contexto pertence uma janela quando se troca. Um espaço de trabalho responde a essa pergunta: uma identidade, um conjunto de aplicações, uma política de resolução e um lugar para olhar quando algo é resolvido mal. Num dia mau, é a diferença entre uma correção de cinco minutos e uma fuga de dados.

Decida se o trabalho é simultâneo

Se a resposta for não, pare aqui e use a disposição mais simples disponível. Uma ligação aprovada de cada vez, ligada e desligada através do cliente que possui o perfil, elimina toda uma classe de falhas antes de qualquer delas poder ocorrer.

É a simultaneidade que aumenta o custo: prefixos sobrepostos, duas políticas de resolução e dois conjuntos de estado das aplicações têm de ser separados deliberadamente, não pelo tempo.

Escreva o requisito com honestidade, porque querer evitar uma reconexão não é o mesmo que precisar das duas redes ao mesmo tempo.

O sequencial é a disposição mais barata

O trabalho sequencial não precisa de infraestrutura extra, e o seu modo de falha é uma sessão desatualizada em vez de um conflito de encaminhamento. A disciplina está na passagem: termine a operação, feche o que mantém uma ligação, desligue e confirme a ligação seguinte antes de começar a trabalhar.

Um separador do navegador ou um terminal que fica aberto não leva consigo o seu contexto de rede. O seu pedido seguinte vai para onde a máquina encaminha agora, que pode ser o outro cliente.

Etiquete os perfis por cliente em vez de por protocolo, e mantenha o proprietário das credenciais visível no nome do perfil. Um perfil chamado work2 não diz nada a ninguém no momento de uma troca apressada.

A vantagem desta disposição é que é auditável. Em qualquer instante há um único contexto de rede, e o registo mostra quando mudou.

Um espaço de trabalho por cliente custa isolamento

Uma máquina virtual ou um ambiente de desenvolvimento remoto por cliente junta o cliente, as aplicações e os nomes num só lugar. A troca passa a ser uma mudança de janela em vez de uma mudança de rede, e os dois contextos não podem escapar um para o outro através de uma rota perdida.

Não é gratuito. Agora mantém dois ou três sistemas, aplica-lhes correções e decide onde vivem os ficheiros e as credenciais. A máquina virtual também chega à internet através do anfitrião, pelo que o seu caminho exterior continua a ser o caminho do seu portátil.

Verifique se o cliente e qualquer política de estado do dispositivo permitem esse ambiente antes de construir o hábito à volta dele. Um cliente que se recusa a correr numa máquina virtual é um facto a descobrir cedo.

Um gateway partilhado é infraestrutura

Um router separado que transporta tráfego selecionado transforma o problema num desenho de rede. Funciona bem quando várias pessoas precisam da mesma rede de cliente, e falha quando alguém o trata como uma caixa mágica que mantém cada cliente separado.

Um gateway que troca o seu túnel ativo é um único contexto partilhado com uma fila, não várias redes independentes. Nomeie quem o pode alterar, que fontes serve e o que acontece quando duas pessoas precisam de clientes diferentes ao mesmo tempo. Sem essa resposta, o gateway torna-se uma fonte de interrupções que ninguém possui. Também se torna o lugar onde alguém desativa silenciosamente uma verificação para cumprir um prazo.

Escreva a passagem num registo

O registo não precisa de ser sofisticado; precisa de ser suficientemente específico para que outra pessoa o possa seguir. No Linux, um espaço de nomes é a versão técnica da mesma ideia, com as suas próprias interfaces e a sua própria tabela de encaminhamento.

Estes comandos criam um espaço de nomes, executam um comando dentro dele e mostram que ligações o cliente de ambiente de trabalho mantém atualmente:

sudo ip netns add customer-a
sudo ip netns exec customer-a ip route
nmcli connection show --active

As aplicações continuam a ter de ser iniciadas dentro do espaço de nomes, e a configuração de resolução lá dentro é um ficheiro separado. Isolar as interfaces não isola a área de transferência, o agente SSH ou uma partilha montada, e são essas as fugas que as pessoas esquecem.

Escolha a disposição mais pequena que preserve a separação de que realmente precisa, e mantenha a transição visível: o título da janela, a indicação do terminal, o nome do perfil e o proprietário das credenciais devem todos coincidir antes de ser enviado qualquer pedido privado.

Artigos relacionados