Portanto, tenho um servidor OpenVPN (10.0.0.1) e vários clientes OpenVPN conectados a ele. O servidor autentica via certificados e chaves gerados pelo easy-rsa e distribui um IP exclusivo (10.0.x.1) e algumas rotas básicas via ccd / files. Funciona muito bem!
Mas eu gostaria de ter outro servidor OpenVPN sobressalente (por exemplo, 10.0.254.1) em outro local e fazer com que os clientes se conectem a esse servidor, caso o servidor principal fique inativo. Isso é muito fácil simplesmente especificando vários servidores no arquivo de configuração do cliente.
No entanto: - é realmente ok simplesmente copiar ou rsync os principais servidores certificados e chaves para o servidor de backup? Funciona, mas parece muito hack-ish. - Eu gostaria que o servidor principal e o de backup fossem conectados uns aos outros por um link OpenVPN também.
Aqui está o problema: gostaria que os clientes que estão conectados ao servidor principal pudessem conversar com os clientes que estão conectados ao servidor de backup. ie: Se, por algum motivo, o cliente 10.0.1.1 estiver conectado ao servidor principal 10.0.0.1 e o cliente 10.0.9.1 estiver conectado ao servidor de backup 10.0.254.1 (mesmo que normalmente deva estar conectado a 10.0.0.1) Como o servidor principal e o servidor de backup podem descobrir o roteamento dinamicamente?
Se eu, por exemplo, tiver os dois servidores conectados por meio de uma instância separada do OpenVPN. Existe uma maneira limpa para o servidor de backup para deixar o servidor principal saber "hey! 10.0.9.1 apenas conectado a mim, então você deve encaminhar qualquer coisa para esse IP através de mim!" - e ter todo esse roteamento corrigido quando os clientes decidirem se conectar ao servidor principal, novamente?