AllowedIPs é unha lista de encamiñamento, non unha regra de cortalumes
Escolle un par para o tráfico saínte e valida as fontes entrantes. Non é unha lista de acceso, e desactivar a xestión de rutas non arranxa un túnel dividido.
A maioría da xente le AllowedIPs como unha lista de permisos, o conxunto de enderezos que poden conectarse a un par, máis ben como unha regra de cortalumes escrita para un túnel. Non é iso. O campo é unha táboa de encamiñamento que traballa nas dúas direccións: escolle un par para un paquete saínte e valida a fonte dun entrante. Leelo como unha lista de acceso produce configuracións que encamiñan tráfico que ninguén pediu.
Un campo, dous lectores: elección saínte e comprobación da fonte
No cliente, os prefixos deciden que destinos viaxan a ese par e cales quedan na rede ordinaria. Por iso unha entrada para 0.0.0.0/0 captura todos os destinos IPv4, e por iso importar un perfil de túnel completo envía a navegación ordinaria a través da máquina remota. As entradas estreitas fan o contrario: encamiñan só as redes que enumerou e deixan todo o demais onde estaba. A sección sobre encamiñamento de criptochaves da documentación de WireGuard expón ambas as tarefas nun só lugar: a selección do par saínte e a validación da fonte entrante.
No servidor, o mesmo campo describe que enderezos de orixe pode usar cada par. É unha comprobación criptográfica e non un filtro de paquetes: un paquete cuxa fonte interna non coincida coa lista do par descártase dentro de WireGuard antes de que o vexa calquera cortalumes do equipo. Ambas as tarefas comparten unha soa lista, e por iso exactamente unha lista copiada doutro sitio compórtase mal nun lugar que non considerou.
O bloque do cliente é onde comeza a maior parte desta confusión. Un túnel dividido nomea as redes remotas, e un túnel completo é o mesmo campo cun prefixo predeterminado:
[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24
[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0
Ambas as formas son completas por si mesmas, e son alternativas en lugar de pasos. A primeira envía só esas dúas redes polo túnel; a segunda envía todos os destinos, coa entrada ::/0 engadindo IPv6 ao valor predeterminado IPv4. Escolla a que escolla, eses prefixos son toda a decisión de encamiñamento para ese par en canto wg-quick comeza a instalar rutas.
O concentrador necesita outra lista
Un concentrador enumera o enderezo de túnel de cada cliente como prefixo de host, máis calquera rede que estea realmente detrás dese cliente. Copiar a lista ampla dun cliente a cada par do concentrador dille ao concentrador que moitos pares poden usar os mesmos enderezos como orixe, e iso non é un plan de enderezo. O campo Endpoint pertence a outra capa por completo: nomea o enderezo e o porto exteriores do par, nunca un destino dentro do túnel.
[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24
O prefixo de host leva o enderezo do túnel e o prefixo de rede leva o que está detrás do cliente, e ambos son necesarios. Sen o prefixo de host o concentrador non pode devolver o tráfico propio do cliente, e sen o prefixo de rede a LAN que hai detrás queda inalcanzable; un par sen nada detrás só recibe o prefixo de host.
Omitir a instalación de rutas deixa un oco
wg-quick, o axudante que levanta unha interface desde un ficheiro de configuración, instala enderezos de interface e rutas como parte dese traballo. Establecer Table = off dille ao axudante que omita o traballo das rutas, o que non instala substitutos e non fai accesible a rede privada. Cando as rutas automáticas xa fan o traballo, nomear os prefixos que necesita é a configuración máis clara. Desactivar a xestión de rutas e deixar o substituto sen escribir non é un deseño, é unha omisión.
A ferramenta básica wg compórtase doutro xeito: configura a interface e nunca toca as rutas, así que unha instalación construída directamente sobre ela necesita as súas propias ordes de ruta. As instrucións escritas para unha ferramenta poden parecer erróneas cando se seguen coa outra. Un ping correcto tamén é unha proba feble, porque exercita un só camiño en lugar de todos os camiños de aplicación que necesita.
DNS e IPv6 decídense por separado
Comprobe o enderezo do servidor DNS que anuncia o túnel e confirme que existe unha ruta a ese enderezo a través dos prefixos que escolleu. Un axuste de resolución non fai accesible o resolvedor, e estreitar un túnel pode eliminar en silencio a ruta que adoitaba chegar a el. Inspeccione IPv6 tamén pola súa conta, porque unha división IPv4 correcta non di nada sobre unha ruta predeterminada IPv6 que aínda apunta á ligazón física. Tres decisións separadas poden cambiar á vez cando edita un só bloque de par.
Despois abra un recurso privado e un sitio web ordinario desde unha configuración inicial coñecida. Se o recurso responde e a navegación segue saíndo pola conexión local, a división fai o que pediu. Se a navegación se rompe no mesmo momento, o túnel tomou a ruta predeterminada e a lista de prefixos é onde hai que mirar.