Depi WireGuard
Ekipman
- Franbwaz Pi 3 ak modil LTE ak IP piblik. Pral gen yon sèvè VPN (ki refere yo kòm edgewalker)
- Yon telefòn Android ki dwe itilize yon VPN pou tout kominikasyon
- Linux laptop ki bezwen sèvi ak VPN sèlman andedan rezo a
Chak aparèy ki konekte ak yon VPN dwe kapab konekte ak tout lòt aparèy. Pou egzanp, yon telefòn ta dwe kapab konekte nan yon sèvè entènèt sou yon laptop si tou de aparèy yo fè pati yon rezo VPN. Si konfigirasyon an se senp ase, Lè sa a, ou ka panse sou konekte nan yon VPN ak yon Desktop (via Ethernet).
Lè nou konsidere ke koneksyon filè ak san fil yo ap vin mwens an sekirite sou tan (
Enstalasyon lojisyèl
WireGuard bay
Mwen gen dènye Fedora Linux 31 e mwen te twò parese pou m li manyèl la anvan m enstale. Jis jwenn pakè yo wireguard-tools
, enstale yo, ak Lè sa a, pa t 'kapab konnen poukisa pa gen anyen t'ap travay. Pli lwen envestigasyon revele ke mwen pa t 'gen pake a enstale wireguard-dkms
(ak yon chofè rezo), epi li pa t 'nan repozitwa distribisyon mwen an.
Si mwen te li enstriksyon yo, mwen ta pran bon etap yo:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools
Mwen gen distribisyon Raspbian Buster enstale sou Raspberry Pi mwen an, gen deja yon pake wireguard
, enstale li:
$ sudo apt install wireguard
Mwen enstale aplikasyon an sou telefòn android mwen an
Enstale kle
Pou otantifye nœuds, Wireguard itilize yon senp konplo kle prive/piblik pou otantifye nœuds VPN. Ou ka fasilman kreye kle VPN ak lòd sa a:
$ wg genkey | tee wg-laptop-private.key | wg pubkey > wg-laptop-public.key
$ wg genkey | tee wg-server-private.key | wg pubkey > wg-server-public.key
$ wg genkey | tee wg-mobile-private.key | wg pubkey > wg-mobile-public.key
Sa a ban nou twa pè kle (sis fichye). Nou pa pral fè referans a fichye nan konfigirasyon, men kopye sa ki isit la: chak kle se yon liy nan base64.
Kreye yon fichye konfigirasyon pou yon sèvè VPN (Raspberry Pi)
Konfigirasyon an se byen senp, mwen te kreye dosye sa a /etc/wireguard/wg0.conf
:
[Interface]
Address = 10.200.200.1/24
ListenPort = 51820
PrivateKey = <copy private key from wg-server-private.key>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o wwan0 -j MASQUERADE
[Peer]
# laptop
PublicKey = <copy public key from wg-laptop-public.key>
AllowedIPs = 10.200.200.2/32
[Peer]
# mobile phone
PublicKey = <copy public key from wg-mobile-public.key>
AllowedIPs = 10.200.200.3/32
Yon koup nan nòt:
- Nan kote ki apwopriye yo ou bezwen mete liy ki soti nan dosye yo ak kle yo
- VPN mwen an ap itilize ranje entèn yo
10.200.200.0/24
- Pou ekip
PostUp
/PostDown
Mwen gen yon koòdone rezo ekstèn wwan0, ou ka gen yon lòt (pa egzanp, eth0)
Rezo VPN la fasilman leve ak lòd sa a:
$ sudo wg-quick up wg0
Yon ti detay: kòm yon sèvè dns, mwen te itilize dnsmasq
konekte nan koòdone rezo a br0
, Mwen te ajoute tou aparèy wg0
nan lis aparèy ki pèmèt yo. Nan dnsmasq, sa fèt lè w ajoute yon nouvo liy ak koòdone rezo a nan dosye konfigirasyon an /etc/dnsmasq.conf
pa egzanp:
interface=br0
interface=wg0
Epitou, mwen te ajoute yon règ iptable pou pèmèt trafik nan pò UDP ki koute (51280):
$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT
Kounye a ke tout bagay ap travay, nou ka anrejistre lansman otomatik tinèl VPN la:
$ sudo systemctl enable [email protected]
Konfigirasyon kliyan laptop
Sou laptop la, kreye yon dosye konfigirasyon /etc/wireguard/wg0.conf
ak menm paramèt yo:
[Interface]
Address = 10.200.200.2/24
PrivateKey = <copy private key from wg-laptop-private.key>
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 10.200.200.0/24
Endpoint = edgewalker:51820
Nòt:
- Olye pou yo edgewalker, ou bezwen presize yon lame sèvè IP piblik oswa VPN
- Pa mete
AllowedIPs
sou10.200.200.0/24
, nou sèlman itilize VPN pou jwenn aksè nan rezo entèn la. Trafik nan tout lòt adrès IP/sèvè ap kontinye ale nan chanèl ouvè "regilye". Yo pral itilize sèvè dns pre-konfigirasyon sou laptop la tou.
Pou tès ak lansman otomatik, nou itilize menm kòmandman yo wg-quick
и systemd
:
$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]
Mete kanpe yon kliyan sou yon telefòn Android
Pou yon telefòn Android, nou kreye yon fichye konfigirasyon ki sanble anpil (an nou rele li mobile.conf
):
[Interface]
Address = 10.200.200.3/24
PrivateKey = <copy private key from wg-mobile-private.key>
DNS = 10.200.200.1
[Peer]
PublicKey = <copy public key from wg-server-public.key>
AllowedIPs = 0.0.0.0/0
Endpoint = edgewalker:51820
Kontrèman ak konfigirasyon laptop la, telefòn nan ta dwe itilize sèvè VPN nou an kòm sèvè dns li (string DNS
), osi byen ke pase tout trafik nan tinèl VPN la (AllowedIPs = 0.0.0.0/0
).
Olye pou w kopye fichye a sou aparèy mobil ou, ou ka konvèti li nan yon kòd QR:
$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf
Kòd QR la pral soti nan konsole a kòm ASCII. Li ka tcheke nan aplikasyon an Android VPN epi mete kanpe yon tinèl VPN otomatikman.
Sòti
Mete kanpe WireGuard se jis majik konpare ak OpenVPN.
Sous: www.habr.com