Wireguard stjörnuskipan
Hér munum við setja upp WireGuard VPN í stjörnuskipan (e. hub and spoke, star topology) þar sem við tvær stöðvar munu getað talað saman án þess að þörf sé á því að aframsenda port og opna göt í eldvegg.
Uppsetning Wireguard á netaldi
Netaldið (e. hub) er keyrður á FreeBSD þjóni í skýi NetCup, sjá [uppsetningarleiðbeiningar] (https://thg191.gitlab.io/docs/FreeBSD/freebsd-netcup/).
Byrjum á því að setja upp WireGuard
Næst gerum við wg lykla fyrir alla hýsla í stjörnunetinu, hér verða þrír settir upp fyrir netaldið, hnút 1 og hnút 2.
Lyklagerðarferlið er þannig að fyrst er gerður einkalykill sem er svo notaður til að reikna út dreifilykilinn, með eftirfarandi skipunum:
eða í einni skipun
þar sem þið getið notað meira lýsandi orð á hýslinum ykkar ennetald.
Best er að gera lyklana á þeim hýsli sem mun eiga lykilinn, þannig mun einkalykillinn aldrei yfirgefa hýsilinn.
Note
Við þurfum dreifilykil allra hnúta í stjörnunetinu til að klára uppsetningu netaldsins.
Skrifum nýja stillingaskrá í /usr/local/etc/wireguard/wg0.conf.
# Staðværar stillingar netalds
[Interface]
PrivateKey = <einkalykill netalds>
Address = 10.0.0.1/32 # (1)!
ListenPort = 444 # (2)!
# Stillingar hnúts 1
[Peer]
PublicKey = <dreifilykill hnúts 1>
AllowedIPs = 10.0.0.2/32 # (3)!
# Stillingar hnúts 2
[Peer]
PublicKey = <dreifilykill hnúts 1>
AllowedIPs = 10.0.0.3/32
- IP fang á
wgeinkanetinu, getur verið hvað sem er svo lengi sem það er á IP fangi sem er úthlutað fyrir staðarnet. wger yfirleitt á porti í grennd við 51280, hef heyrt af því að sum tæki geti verið leiðinleg á kviklegum tengjum (e. dynamic range), notum því tengi 444, það er notað í einhverjar sjaldgæfar þjónustur og er gott að muna.- Beiðnir frá hnúti 1 eru einungis leyfðar ef þær koma frá þessu IP fangi.
Note
Heitið á þessari skrá ræður því hvað nettengildið heitir, það mun birtast sem wg0 þegar ifconfig er keyrt.
Netaldið þarf að beina beiðnum milli tengilda til að virkja samskipti milli hnúta, en það er eiginleiki sem við þurfum að breyta í kjarnanum. Eiginleikinn sem við breytum nefnist net.inet.ip.forwarding, og sjálfgefna gildið er 0. Virkjum það með skipun:
Bætum þessari skipun í wg stilliskrána þannig að þessi skipun sé keyrð þegar wg er virkjað:
# Staðværar stillingar netalds
[Interface]
PrivateKey = <einkalykill netalds>
Address = 10.0.0.1/32
ListenPort = 444
PreUp = sysctl net.inet.ip.forwarding=1
# Stillingar hnúts 1
[Peer]
PublicKey = <dreifilykill hnúts 1>
AllowedIPs = 10.0.0.2/32
# Stillingar hnúts 2
[Peer]
PublicKey = <dreifilykill hnúts 1>
AllowedIPs = 10.0.0.3/32
Virkjum WireGuard þjónustuna
Keyrum þjónustuna
Uppsetning á hnútum
Wireguard þarf einungis að geta talað við netaldið, það beinir síðan samskiptum til hinna þjónana. Setjið upp wireguard og gerið lykla eins og lýst er hér að framan. Gerið því næst stillingaskrá:
# Staðværar stillingar
[Interface]
PrivateKey = <einkalykill hnúts>
Address = 10.0.0.2/32
ListenPort = 444
# Stillingar netalds
[Peer]
PublicKey = <dreifilykill netalds>
Endpoint = <IP fang netalds, það opinbera>:444
AllowedIPs = 10.0.0.0/24
PersistentKeepAlive = 25
Nú geta allir meðlimir netsins talað saman.