ifconfig-push: enderezo de par en net30 ou máscara de subrede en subnet?
O segundo argumento de ifconfig-push é un enderezo de par en net30 e unha máscara de subrede baixo topology subnet. Compare a topoloxía en execución antes de editar o ficheiro CCD.
Os clientes dinámicos conéctanse e o enrutamento funciona ben, pero o único cliente cun enderezo fixo non chega ao servidor de ningún xeito. Nada no cortalumes cambiou, e a liña CCD parece verosímil. A causa habitual é un segundo argumento escrito para unha topoloxía TUN distinta da que executa o servidor. O fallo é silencioso: o cliente sobe cun enderezo e o servidor acepta a conexión, pero non pasa ningún tráfico.
En net30 ese campo é un enderezo de par; en subnet é unha máscara de subrede. As dúas formas son alternativas, nunca unha secuencia.
As dúas formas, lado a lado
Nun despregamento net30 tradicional cada cliente posúe un bloque /30: un enderezo de rede, dous enderezos utilizables e un enderezo de difusión. ifconfig-push toma o enderezo do cliente e o enderezo de par, e o par é o outro enderezo utilizable do mesmo bloque, usado polo lado servidor da ligazón punto a punto.
# net30: client address and its peer
ifconfig-push 10.99.0.6 10.99.0.5
# topology subnet: client address and the pool netmask
ifconfig-push 10.99.0.20 255.255.255.0
Baixo topology subnet o cliente comparte unha subrede co servidor, e a mesma directiva toma un enderezo e unha máscara de subrede. O enderezo propio do servidor procede da directiva server, non do segundo campo. Mesturar as formas produce un cliente que cre estar nunha ligazón punto a punto mentres o servidor o encamiña como host de subrede, ou o revés. Por iso unha máscara de subrede nunca debe emparellarse con net30.
Ambas liñas do bloque son liñas individuais para un ficheiro CCD. Cada cliente recibe exactamente unha delas.
Lea a topoloxía que o servidor executa realmente
Lea a configuración en execución en lugar dun valor predeterminado do paquete, porque a topoloxía pode terse fixado hai anos e copiado adiante. Busque topology subnet ou a súa ausencia, e logo comprobe como a liña server asigna enderezos. Unha configuración que nunca menciona a topoloxía non é o mesmo que unha que fixa subnet.
Logo lea os axustes que recibiu o cliente. O enderezo, a máscara e o par que informa dinlle que interpretación aplicou o servidor.
Manteña o enderezo fixo fóra do grupo dinámico
Un enderezo fixo debe quedar fóra do grupo dinámico, ou dous clientes poden recibir o mesmo enderezo. Con topoloxía subnet, nopool na liña server suprime o grupo automático, e un rango ifconfig-pool explícito define que reciben os clientes dinámicos.
dev tun
topology subnet
server 10.99.0.0 255.255.255.0 nopool
ifconfig-pool 10.99.0.100 10.99.0.210 255.255.255.0
client-config-dir /etc/openvpn/ccd
O servidor toma 10.99.0.1 para si mesmo, e o enderezo fixo do cliente queda fóra do rango do grupo. O ficheiro CCD nomease pola identidade efectiva do cliente, non polo nome do ficheiro de perfil, e non leva ningunha extensión adicional. Se username-as-common-name está activo, o nome de usuario autenticado é a identidade que hai que emparellar. Dous dispositivos que comparten unha identidade tamén compartirán o enderezo fixo, o que é un problema de política e non de enrutamento.
Verifique a asignación que o cliente recibiu realmente
Reconecte o cliente previsto e confirme que ficheiro CCD se seleccionou antes de comprobar calquera outra cousa. Despois verifique o enderezo, a máscara ou o par, e a ruta de volta ao servidor. Un cliente que mostra un enderezo de par nun despregamento subnet segue usando a forma incorrecta.
Cambiar a topoloxía afecta cada cliente e cada substitución, así que tráteo como unha migración e non como unha reparación dun só cliente. Corrixir a liña estática para que coincida coa topoloxía xa en uso adoita ser o cambio menor. referencia de server-options documenta o axudante e as substitucións específicas do cliente.