Ho un server OpenVPN in esecuzione che espone alcuni indirizzi IP privati, vorrei che i miei servizi sciami docker accedessero a quegli indirizzi.
Idealmente, non ci sarebbe un client OpenVPN "all'interno" dei contenitori poiché le immagini dovrebbero essere distribuite in un ambiente in cui non sarà necessaria una VPN.
Quello che ho provato finora
Ho collegato correttamente un contenitore alla mia VPN con l'immagine dperson / openvpn-client .
Ho lanciato con successo un altro contenitore usando quel contenitore come sua rete usando la --net=container:my-vpn-client
bandiera.
Ora sto cercando di impostare un servizio docker che accederà ai miei indirizzi IP privati e quello che ho trovato è:
- Non riesco a eseguire il client openVPN in un servizio in quanto non può essere fornito
cap-add: NET_ADMIN
. Ci sono problemi aperti con Docker che discutono di questo argomento ma sono ancora aperti. - Ho pensato che avrei potuto far girare il container client openVPN "accanto" al cluster swarm, ma non posso usarlo
network_mode: "container:my-vpn-client"
perché non è supportato e ha senso dal momento che non potrei forzare la presenza di un container arbitrario su ogni nodo del brulicare senza che sia un servizio stesso. - Ho provato a creare una rete collegabile (bridge / overlay) e ho semplicemente inserito il mio contenitore client OpenVPN in esso e mi aspetto magicamente che altri membri di quella rete passino attraverso quella pipe ... e sono rimasto deluso.
Quindi eccomi qui, qualche idea?
PS Se può essere d'aiuto, si tratta principalmente di impostare alcuni test automatici che eseguiranno i servizi su una singola macchina docker in modalità sciame, come in swarm init> impila stack> esegui test> scia di sciami. Quindi, se c'è un "hack" per questo ... io possa essere interessato;)
ccr
file come se si trattasse di una rete locale. Come per tutto il routing TCP / IP, "traceroute
è il tuo migliore amico, così come ètcpdump
o WireShark".