Client OpenVPN MacOS
TUN write error: cannot identify IP version for prefix
Nel tentativo di risolvere problemi di MTU si è provato ad aggiungere lato server GNU/Linux il parametro mtu-test oppure fragment. In tutti e due i casi si sono avuti problemi di connessione da parte del client per MacOS, in particolare la connessione veniva stabilita e poi rapidamente chiusa, in un loop infinito:
[Mar 30, 2022, 09:00:52] EVENT: CONNECTED ovpnserver.rigacci.org:1194 (165.121.154.237) via /UDPv4 on utun2/172.16.8.101/ gw=[172.16.8.1/] [Mar 30, 2022, 09:00:55] TUN write error: cannot identify IP version for prefix [Mar 30, 2022, 09:00:55] TUN Error: TUN I/O error [Mar 30, 2022, 09:00:55] Client terminated, restarting in 5000 ms... [Mar 30, 2022, 09:00:55] EVENT: TUN_ERROR TUN I/O error [Mar 30, 2022, 09:00:56] SetupClient: transmitting tun destroy request to /var/run/agent_ovpnconnect.sock
Per mitigare il problema dell'MTU (alcuni provider filtrano sui loro apparati i messaggi di errore del tipo Fragmentation Needed) si sono impostati i seguenti parametri sul server:
tun-mtu 1500 mssfix 1400
In questo modo il parametro MTU del tunnel viene lasciato al valore predefinito di 1500, ma alle applicazioni TCP che utilizzano il tunnel viene suggerito di limitare i pacchetti in uscita in modo che la loro dimensione non ecceda 1400 bytes (dimensione totale del pacchetto con l'overhead UDP, così come viene inviato da OpenVPN).
Gli stessi parametri si possono aggiungere anche alla configurazione del client.