sOid schreef op vrijdag 26 februari 2021 @ 10:55:
[...]
Tof, dank voor je uitleg en linkjes. Ga ik eens naar kijken. Toch een stukje veiliger dan reverse proxy, maar had geen zin in het gedoe om steeds handmatig te moeten verbinden met VPN. Maak je gebruik van de VPN-server op je router of op je HA-machine?
ik draai de vpn en dns servers weer op een andere host, maar dat maakt voor het functionele niets uit; zolang je port fwds en dns entry kloppen kan je de services draaien waar je maar wilt; dus ook op je HA. Of het handig is laat ik in het midden.
offtopic:
tips:
- gebruik iets van git om je wijzigingen -- van alles: server config, certificaten, config file -- bij te houden, commit VAAK. Heeft me HEEL vaak geholpen dat ik gewoon terug kon naar een werkende setup na wat geprul.
- ga niet zelf vanaf 0 beginnen maar gebruik een werkende config van iemand en pas die stapje voor stapje aan, je krijgt namelijk geen debug info of ook maar eninge foutmeldigen van iOS .... heeeeel veel trial and error dus als iets niet werkt.
- zorg dat je eerst een werkende vpn setup hebt, met protocollen/encryptie die door ios ondersteund wordt (bv IKEv2/ipsec). again... geen debug en foutmeldingen dus je loopt je wezenloos te zoeken in je config en dan blijkt het je vpnserver config te zijn
- als je zelf met certificaten aan de gang gaat:
-- creëer scipts voor de commando's die je maakt/nodig hebt. Je zal uiteindelijk een stuk of 6-8 stappen moeten doorlopen om een volledige config te krijgen met certificaten. Je wordt het snel moe om commands te copy/pasten. Bovendien kan je dan mooi met git je veranderingen vastleggen en problemen vinden. Helpt ook als je daarna bv voor je partner ook een config wil maken: 1x script draaien en klaar

-- als je keys/certs gaat meesturen moet je goed op de apple eisen letten. Hoewel je geldige certs kan creëren voor je vpn server kan het zijn dat iOS ze niet goed vind. Liep ik vorig jaar nog tegenaan toen ze eisen voor key length of logaritme hadden aangescherpt.
-- test niet op een PI, die hebben in mijn ervaring te weinig entropy waardoor het genereren van certificaten erg lang gaat duren na de eerste. (dus alleen een tijdsnadeel, verder werkt alles op een PI)
-- ik vond het uiteindelijk het eenvoudigste om de certificaten met ipsec te generen en met openssl te converteren. Moet ook met openssl in een keer kunnen maar ik liep tegen wat problemen aan toen ik wilde wisselen en heb er geen tijd meer in gestoken.
-- converteer certificaten naar p12 format als je ze als payload aan je config gaat toevoegen
-- als je vpn wilt gaan authenticeren met certificaten MOET je de private key van certificaat-bundle die ja aan je config file toevoegd beveiligen met een password, password mag niet 'leeg' zijn. (duuurde HEEEEL lang voor ik deze door had... again geen errors/debug info van iOS). iOS vraagt om dat password als je de config installeerd (buiten natuurlijk ook de pin van iOS)
-- vergeet niet je private key ook aan je cert-bundle toe te voegen
-- ik draai met eigen SSL certificaten, dus die moest ik ook toevoegen omdat de vpn server te kunnen authenticeren. als je een root CA installeer in iOS wordt het NIET meer standaard 'actief'. je MOET dat certificaat nog handmatig activeren door naar general->settings-> about -> Certificate Trust Settings -> "enable full thrust for root certificate". Dit is sinds iOS 12 meen ik. Het moet op een of andere manier ook via de configfile kunnen maar ik heb het niet kunnen vinden.
-- vergeet niet je vpn server te reloaden/restarten of whatever om je 'geladen' certificaten te updaten voor de nieuwe na een nieuwe poging (kan je mooi als laatste commando in je scriptje toevoegen)... was ook zo'n mooie instinker. Ik kwam er toen ook achter dan een 'cert reload' NIET deed wat ik verwachtte en dus een week naar problemen gezocht die er niet waren: de nieuwe certificaten werden gewoon niet geladen

All het bovenstaande kan je op de HA console uitvoeren of in een mooie alpine container via portainer HA add-on
om het nog enigsinds on-topic te houden