ifconfig-push: peeradres in net30 of subnetmasker in subnet?
Het tweede argument van ifconfig-push is een peeradres in net30 en een subnetmasker onder topology subnet. Vergelijk de actieve topologie voordat u het CCD-bestand bewerkt.
Dynamische clients verbinden en routeren prima, maar de ene client met een vast adres bereikt de server helemaal niet. Er is niets in de firewall veranderd en de CCD-regel ziet er plausibel uit. De gebruikelijke oorzaak is een tweede argument dat is geschreven voor een andere TUN-topologie dan de server gebruikt. De storing is stil: de client komt met een adres omhoog en de server accepteert de verbinding, maar er gaat geen verkeer over.
Onder net30 is dat veld een peeradres; onder subnet is het een subnetmasker. De twee vormen zijn alternatieven, nooit een reeks.
De twee vormen naast elkaar
In een traditionele net30-implementatie bezit elke client een /30-blok: een netwerkadres, twee bruikbare adressen en een broadcastadres. ifconfig-push neemt het clientadres en het peeradres, en de peer is het andere bruikbare adres in hetzelfde blok, gebruikt door de serverzijde van de point-to-point-verbinding.
# 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
Onder topology subnet deelt de client één subnet met de server, en dezelfde richtlijn neemt een adres en een subnetmasker. Het eigen adres van de server komt uit de richtlijn server, niet uit het tweede veld. Het mengen van de vormen levert een client op die denkt dat hij op een point-to-point-verbinding zit, terwijl de server hem als subnethost routeert, of omgekeerd. Daarom mag een subnetmasker nooit met net30 worden gecombineerd.
Beide regels in het blok zijn losse regels voor een CCD-bestand. Eén client krijgt er precies één van.
Lees de topologie die de server werkelijk gebruikt
Lees de actieve configuratie in plaats van een pakketstandaard, omdat de topologie jaren geleden kan zijn ingesteld en doorgekopieerd. Zoek naar topology subnet of het ontbreken daarvan en controleer dan hoe de regel server adressen toewijst. Een configuratie die topologie nooit noemt is niet hetzelfde als een die subnet instelt.
Lees vervolgens de instellingen die de client heeft ontvangen. Het adres, masker en peer die hij rapporteert, vertellen welke interpretatie de server heeft toegepast.
Houd het vaste adres buiten de dynamische pool
Een vast adres moet buiten de dynamische pool liggen, anders kunnen twee clients hetzelfde adres krijgen. Met subnet-topologie onderdrukt nopool op de regel server de automatische pool, en een expliciet bereik ifconfig-pool bepaalt wat dynamische clients krijgen.
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
De server neemt 10.99.0.1 voor zichzelf, en het vaste clientadres ligt buiten het poolbereik. Het CCD-bestand is vernoemd naar de effectieve clientidentiteit, niet naar de profielbestandsnaam, en het krijgt geen extra extensie. Als username-as-common-name actief is, is de geauthenticeerde gebruikersnaam de identiteit die moet overeenkomen. Twee apparaten die één identiteit delen, delen ook het vaste adres, wat een beleidsprobleem is en geen routeringsprobleem.
Controleer de toewijzing die de client werkelijk heeft gekregen
Verbinde de bedoelde client opnieuw en bevestig welk CCD-bestand is gekozen voordat u iets anders controleert. Controleer daarna het adres, masker of peer, en de route terug naar de server. Een client die in een subnet-implementatie een peeradres toont, gebruikt nog steeds de verkeerde vorm.
Het wijzigen van de topologie raakt elke client en elke override, dus behandel het als een migratie en niet als een reparatie van één client. De statische regel aanpassen aan de al gebruikte topologie is meestal de kleinere wijziging. De server-options-referentie documenteert de helper en de klientspecifieke overrides.