Ha d'usar el vostre client OpenVPN nobind o un port fix?
nobind deixa que el nucli triï el port d'origen per a un client que marca. Tres condicions decideixen si voleu això o més aviat un port local fixat.
Dos perfils que difereixen en una sola línia es comporten de manera diferent en el moment que un segon client arrenca al mateix host. Un porta nobind i agafa qualsevol port local que el nucli li doni; l'altre reserva 1194, i la segona instància mor amb una adreça ja en ús. Aquesta línia decideix qui tria el port d'origen, cosa que al seu torn decideix si el perfil pot conviure amb qualsevol altra cosa de la màquina. Tres preguntes ho resolen, i la primera respon la majoria de perfils abans que arribeu a les altres dues.
Què omet nobind realment
Per defecte el client enllaça un sòcol local abans de connectar-se, i el port local és 1194 tret que el perfil digui el contrari. nobind elimina aquesta reserva, així que la pila assigna un port no utilitzat en el moment de la connexió. És una excepció, no un valor per defecte, i un client sense la línia reté 1194, que és exactament per què xoca una segona instància no fixada. La majoria de perfils de client distribuïts porten la directiva per aquest motiu, i que un fitxer d'exemple faci una cosa no és el mateix que el mecanisme ho faci per defecte.
El que no canvia és el costat llunyà. El servidor encara escolta on el perfil diu que escolta, i el port de destinació a la configuració continua sent el port de destinació. Un port d'origen dinàmic canvia l'adreça de retorn del vostre sòcol i res del del servidor.
També no amaga res. La vostra adreça pública és allò a què el camí la tradueix, el paquet encara travessa la xarxa local, i qui gestiona aquesta xarxa encara veu un flux. nobind no és ni una funció de privadesa ni un salt de tallafoc.
Tres condicions que ho decideixen
Una pregunta decideix les altres dues, així que responeu-la abans d'editar res. Si el parell marca, les preguntes restants només afinen una decisió ja presa. Si accepta connexions entrants, cap ajust del port local el fa abastable.
Aquest parell inicia la connexió? Si marca, un port d'origen dinàmic és inofensiu i normalment preferible, perquè la resposta torna pel mateix flux. Si espera connexions entrants, un port dinàmic el fa inabastable tret que alguna cosa al davant publiqui el port. Aquesta única resposta separa cada perfil de client de cada perfil de servidor.
El camí filtra pel port d'origen? Una regla estricta escrita per a un port conegut obliga a un port local explícit, i el perfil hauria de registrar quina regla compleix. La majoria de xarxes només filtren per destinació, així que aquesta condició és més rara que la primera. On s'aplica, anul·la la preferència per un port dinàmic.
Diverses instàncies comparteixen l'host? Un sol port fix no pot servir-ne dues, i una instància reiniciada pot trobar 1194 encara en estat de tancament. Els ports dinàmics eliminen aquest conflicte sense canviar res més. Si no podeu respondre aquesta amb confiança, assumiu que sí i deixeu que el nucli triï.
On un port fixat és la resposta correcta
Algunes xarxes filtren pel port d'origen i també per la destinació, així que un operador pot haver escrit una regla que només deixa passar trànsit d'un port conegut. Fixar el port local és aleshores correcte, i el perfil hauria de portar un comentari que anomeni la regla que compleix. Fixar-lo per simetria amb el port del servidor no és un motiu, perquè els dos números no hi tenen res a veure. Si la fixació només existeix perquè una plantilla la tenia, esborreu-la.
Altrament, un port fixat compra problemes: dos clients en una màquina no poden tots dos retenir 1194, i el segon falla amb un error que apunta al port i no al perfil. Un contenidor que es reinicia ràpidament topa amb la mateixa paret. La reparació és la directiva que els perfils distribuïts ja contenien.
Servidor i client no són simètrics
manual d'OpenVPN 2.6 col·loca nobind al costat de lport, que és l'argument en una línia: una opció diu que tria el nucli, l'altra diu que trieu vosaltres. Un port local dinàmic només funciona per al parell que marca, perquè el costat que respon no pot conèixer el port per endavant. Per això copiar un perfil de client a un servidor produeix un oient al qual ningú no pot arribar.
En un host amb diverses interfícies de xarxa, l'adreça és una decisió separada del port. Enllaçar una adreça local concreta i enllaçar un port concret són dos paràmetres diferents, i un servidor amb dos enllaços ascendents normalment fixa tots dos. Un client que fixa tots dos ha assumit la mateixa rigidesa sense cap benefici.
El resum tracta de rols i no de seguretat: qui marca pot ser flexible amb el seu propi origen, i qui respon no pot. Cap de les dues opcions canvia el que l'altre extrem aprèn sobre la vostra identitat. Per això la directiva apareix en els exemples de client i gairebé mai en els de servidor.
Verifiqueu el port que el nucli va triar
Després de connectar, llegiu el sòcol i no la configuració, perquè la configuració declara la intenció i el sòcol declara què va passar. Els fets que val la pena registrar són el port local, el punt final remot i si encara hi ha res escoltant. En un host Linux tots tres són a una ordre de distància.
ss -unp | grep openvpn
ss -lunp | grep openvpn
sudo lsof -nP -i | grep openvpn
Un client amb nobind mostra un port local alt i el port remot configurat, que és la forma esperada. Un servidor mostra un sòcol escoltant al seu port configurat, i si aquest sòcol falta, el perfil o no és un oient o no va poder enllaçar. Quan hi ha un flux però no tornen paquets, compareu el port d'origen triat amb qualsevol filtre de ports del camí abans d'editar el perfil. Canvieu una cosa, torneu a connectar i llegiu el sòcol una altra vegada.