====== Configurazione LAN to LAN fra due Linux, usando le chiavi asimmetriche ======
Per la gestione delle chiavi, riferirsi alla sezione precedente, perche` e` identica.
Per la configurazione dei due endpoint, queste sono due configurazioni di esempio. Uno dei due endpoint sara` sempre un "server" e l'altro un "client" per quanto riguarda l'autenticazione, ma non e` importante quale dei due lo sia.
Configurazione "server". In questa configurazione non sono compresi i comandi per il keepalive che invece ha senso includere. Vedere prima per informazioni.
# per usare un device tun dinamico, usa
# "dev tun". qui ne uso uno statico.
dev tun1
# Indirizzo IP pubblico del remoto
remote xx.xx.xx.xx
# Interfaccia locale a cui mi bindo (pubblica)
local xx.xx.xx.xx
# Definizione indirizzi IP privati del tunnel.
# Questi saranno dati alle interfaccie "interne" (tunX) dei due endpoint.
# ifconfig
ifconfig 10.0.0.254 172.16.0.253
# Definisco uno o piu` routing verso la lan remota (una o piu` righe)
# Formato: route
route 172.16.0.0 255.255.255.0
# questa parta e` il server TLS
tls-server
# il file con dentro il numero primo per l'algoritmo Diffie Helman
# (serve solo per il server tls).
dh dh2048.pem
# il file con la chiave pubblica
# della CA che ha firmato i certificati per tutti gli endpoint.
ca ca.crt
# il file con la chiave pubblica del mio endpoint
cert server.crt
# il file con la chiave privata del mio endpoint
key server.key
# il file con la shared key per l'autenticazione dei pacchetti
# di handshake
# The tls-auth directive adds an additional HMAC signature to
# all SSL/TLS handshake packets for integrity verification.
# Any UDP packet not bearing the correct HMAC signature can
# be dropped without further processing
tls-auth tls-auth.key 0
# la porta che uso per i dati crittati verso/da il remoto.
# se uso "port" intendo la stessa per tutti e due,
# altrimenti uso "lport" e "rport" per locale e remoto.
# ogni tunnel deve avere una porta diversa.
port 9001
# dopo aver avviato il tunnel, posso usare questi uid e gid
# per non restare root, oppure anche no. A scelta
user nobody
group nogroup
# in caso di reload, tieni in memoria i dati che non potresti piu` rileggere a causa del privilegio insufficiente
persist-key
persist-tun
# log level (da 0 per il minimo a 9 per il massimo)
verb 3
Configurazione lato client. Fondamentalmente uguale al server se si escludono sette piccoli particolari. Anche qui vale il discorso di includere le funzioni di keepalive.
# per usare un device tun dinamico, usa
# "dev tun". qui ne uso uno statico.
dev tun1
# Indirizzo IP pubblico del remoto
remote xx.xx.xx.xx
# Interfaccia locale a cui mi bindo (pubblica)
local xx.xx.xx.xx
# Definizione indirizzi IP privati del tunnel.
# Questi saranno dati alle interfaccie "interne" (tunX) dei due endpoint.
# ifconfig
ifconfig 172.16.0.253 10.0.0.254
# Definisco uno o piu` routing verso la lan remota (una o piu` righe)
# Formato: route
route 10.0.0.0 255.255.255.0
# questa parta e` il client TLS
tls-client
# il file con la chiave pubblica
# della CA che ha firmato i certificati per tutti gli endpoint.
ca ca.crt
# il file con la chiave pubblica del mio endpoint
cert client.crt
# il file con la chiave privata del mio endpoint
key client.key
# il file con la shared key per l'autenticazione dei pacchetti
# di handshake
# The tls-auth directive adds an additional HMAC signature to
# all SSL/TLS handshake packets for integrity verification.
# Any UDP packet not bearing the correct HMAC signature can
# be dropped without further processing
tls-auth tls-auth.key 1
# la porta che uso per i dati crittati verso/da il remoto.
# se uso "port" intendo la stessa per tutti e due,
# altrimenti uso "lport" e "rport" per locale e remoto.
# ogni tunnel deve avere una porta diversa.
port 9001
# dopo aver avviato il tunnel, posso usare questi uid e gid
# per non restare root, oppure anche no. A scelta
user nobody
group nogroup
# in caso di reload, tieni in memoria i dati che non potresti piu` rileggere a causa del privilegio insufficiente
persist-key
persist-tun
# log level (da 0 per il minimo a 9 per il massimo)
verb 3