Di recente ho scoperto l'esistenza di interfacce TUN / TAP di Linux e sto ancora cercando di capirle. Penso di avere il concetto di base: vengono creati pseudo dispositivi che emulano un'interfaccia di rete e invece di passare i dati all'hardware, vengono passati a un programma di spazio utente.
Come dirigeresti un programma non correlato per utilizzare questo tunnel?
Ad esempio, prima della creazione del tunnel il mio sistema contiene solo eth0 e lo, la normale interfaccia Ethernet (cablata alla mia rete locale) e l'interfaccia di loopback. Dopo che un programma crea e configura un tunnel, ho una nuova interfaccia gr0 alla quale ho dato un indirizzo IP sulla mia rete locale, ma non in uso (quindi siamo tutti sulla stessa sottorete). Come farei un programma non correlato a utilizzare questo "tunnel"? Supponiamo di avere un semplice messaggio Python che passa l'app client / server che utilizza una connessione TCP, come posso configurarlo per utilizzare il tunnel?
Mi scuso se mi manca qualcosa di essenziale, ma come al solito sono riuscito a confondermi nello schema delle cose. Ancora una volta, tutto ciò che voglio è che un semplice programma TCP utilizzi questo tunnel.
Grazie!