port 1194 proto udp dev tun0 # Certificati e chiavi tls-server dh dh.pem ca ca.crt cert server.crt key server.key # rete per l'interfaccia privata. il server si prende il .1 e # i clienti gli altri indirizzi di questa subnet. # Qui si usa una rete che non sia quella locale del server. server 192.168.99.0 255.255.255.0 # nuova logica di assegnazione degli ip e subnet ai client: # funziona SOLO con openvpn 2.5 in avanti topology subnet # tengo traccia degli indirizzi assegnati ai server e riassegno sempre # quelli usando questo file. (facoltativo) ifconfig-pool-persist server-pool-cache.txt # configurazioni di routing da insegnare ai client che si collegano. # in pratica questo comando dice al client che 192.168.0.0/24 (la mia LAN) va mandato alla vpn # posso ripetere piu` righe con piu` reti/host, e verranno tutti impostati nel routing del client # nel momento in cui questo si collega. push "route 192.168.1.0 255.255.255.0" # configurazioni varie da insegnare ai client. Anche in questo caso, insegno al client # che deve usare il mio DNS mentre è connesso alla VPN, che il dominio interno è "pippo.locale" # e che c'e` un server WINS. Ovviamente il WINS e` facoltativo, così come anche gli altri parametri, # però se vogliamo che il client risolva i nomi interni, sarà il caso di metterli. push "dhcp-option DNS 192.168.1.1" push "dhcp-option DOMAIN pippero.internal" # workaround per i provider stronzi che rispondono con un loro ip interno alle richieste dns # che dovrebbero dare nxdomain. Inoltre, evita anche il leak di richieste DNS. # si applica SOLO a client da windows da 7 in poi. Non dovrebbe rompere comunque i client diversi. push "block-outside-dns" # consento ai clients di vedersi fra di loro (se non volete, togliete la riga) client-to-client # keepalive e timeout: ping ogni 30 secondi e timeout di 120 secondi. keepalive 30 120 # in caso di reload, tieni in memoria i dati che non potresti piu` rileggere a causa del privilegio insufficiente persist-key persist-tun # file che indica lo stato delle connessioni, ad uso di chi lo vuole leggere status server-status.log status-version 2 # log verboso per debug (si puo` togliere) verb 4 # per gestire il sistema TOTP come spiegato prima script-security 2 auth-user-pass-verify /etc/openvpn/oath.sh via-file tmp-dir /tmp auth-gen-token