د سرور په توګه د WireGuard او Raspberry Pi سره د ساده VPN تنظیم کول

ځکه چې WireGuard برخه به شي د راتلونکي لینکس کرنل 5.6 څخه ، ما پریکړه وکړه چې وګورم چې دا VPN زما سره څنګه مدغم کړم په راسبیري پای کې د LTE روټر / لاسرسي نقطه.

تجهیزات

  • Raspberry Pi 3 د LTE ماډل او عامه IP پتې سره. دلته به د VPN سرور وي (له دې وروسته په متن کې ورته ویل کیږي څنډه چلونکی)
  • یو Android تلیفون چې باید د ټولو مخابراتو لپاره VPN وکاروي
  • د لینکس لپ ټاپ چې باید یوازې په شبکه کې VPN وکاروي

هر وسیله چې د VPN سره وصل وي باید د دې وړتیا ولري چې نورو ټولو وسیلو سره وصل شي. د مثال په توګه، یو تلیفون باید وړتیا ولري چې په لپ ټاپ کې د ویب سرور سره وصل شي که دواړه وسایل د VPN شبکې برخه وي. که چیرې تنظیم خورا ساده وګرځي ، نو تاسو کولی شئ د VPN سره د ډیسټاپ وصل کولو په اړه فکر وکړئ (د ایترنیټ له لارې).

د دې په پام کې نیولو سره چې تار او بې سیم اړیکې د وخت په تیریدو سره لږ او خوندي کیږي (هدفي بریدونه, د KRACK WPA2 کریکنګ برید и د WPA3 پروړاندې د ډریګن وینې برید)، زه په جدي توګه د خپلو ټولو وسیلو لپاره د WireGuard کارولو په اړه فکر کوم، مهمه نده چې دوی په کوم چاپیریال کې وي.

د ساوتري لګول

WireGuard چمتو کوي مخکې جوړ شوي کڅوړې د ډیری لینکس، وینډوز او macOS توزیع لپاره. د Android او iOS ایپس د اپلیکیشن لارښودونو له لارې وړاندې کیږي.

زه وروستی فیډورا لینکس 31 لرم، او زه د نصبولو دمخه د لارښود لوستلو لپاره ډیر سست وم. یوازې کڅوړې وموندلې wireguard-tools، دوی یې نصب کړل، او بیا یې ونه موندل چې ولې هیڅ کار نه کوي. نورې پلټنې څرګنده کړه چې زه بسته نلرم wireguard-dkms (د شبکې چلوونکي سره)، مګر دا زما د ویش په ذخیره کې نه و.

که ما لارښوونې لوستلي وای، ما به سم ګامونه اخیستي وای:

$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools

زه زما په راسبیري پای کې د راسبیان بسټر توزیع نصب کړی ، دلته دمخه یو بسته شتون لري wireguard، دا نصب کړئ:

$ sudo apt install wireguard

زما په Android تلیفون کې ما غوښتنلیک نصب کړ د تار ګارډ VPN د رسمي ګوګل اپل پلورنځي کتلاګ څخه.

د کیلي نصب کول

د همکار تصدیق کولو لپاره ، وایرګارډ د VPN همکارانو تصدیق کولو لپاره ساده شخصي / عامه کلیدي سکیم کاروي. تاسو کولی شئ د لاندې کمانډ په کارولو سره د VPN کیلي په اسانۍ سره رامینځته کړئ:

$ 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

دا موږ ته درې کلیدي جوړه راکوي (شپږ فایلونه). موږ به په تشکیلاتو کې فایلونو ته مراجعه ونه کړو ، مګر مینځپانګې دلته کاپي کړو: هره کیلي په بیس 64 کې یوه کرښه ده.

د VPN سرور لپاره د ترتیب کولو فایل رامینځته کول (راسبیري پای)

ترتیب خورا ساده دی، ما لاندې فایل جوړ کړ /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

یو څو یادونه:

  • په مناسبو ځایونو کې تاسو اړتیا لرئ د کیلي سره د فایلونو څخه لیکې داخل کړئ
  • زما VPN داخلي بانډ کاروي 10.200.200.0/24
  • د ټیمونو لپاره PostUp/PostDown زه د بهرنۍ شبکې انٹرفیس wwan0 لرم، تاسو ممکن یو بل ولرئ (د مثال په توګه، eth0)

د VPN شبکه په اسانۍ سره د لاندې کمانډ سره پورته کیږي:

$ sudo wg-quick up wg0

یو کوچنی تفصیل: د DNS سرور په توګه چې ما کارولی dnsmasq د شبکې انٹرفیس پورې تړلی br0، ما وسایل هم اضافه کړل wg0 د اجازه ورکړل شوي وسایلو لیست ته. په dnsmasq کې دا د تنظیم کولو فایل ته د نوي شبکې انٹرفیس لاین اضافه کولو سره ترسره کیږي /etc/dnsmasq.confد بیلګې په توګه:

interface=br0
interface=wg0

برسیره پردې، ما د UDP اوریدلو بندر (51280) ته د ټرافیک اجازه ورکولو لپاره د iptable قواعد اضافه کړل:

$ sudo iptables -I INPUT -p udp --dport 51820 -j ACCEPT

اوس چې هرڅه کار کوي، موږ کولی شو د VPN تونل اتوماتیک لانچ تنظیم کړو:

$ sudo systemctl enable [email protected]

په لپ ټاپ کې د پیرودونکي ترتیب

په لپ ټاپ کې د ترتیب کولو فایل جوړ کړئ /etc/wireguard/wg0.conf د ورته ترتیباتو سره:

[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

یادونې:

  • د ایج واکر پرځای تاسو اړتیا لرئ د عامه IP یا VPN سرور کوربه مشخص کړئ
  • په ترتیب کولو سره AllowedIPs په 10.200.200.0/24، موږ یوازې داخلي شبکې ته د لاسرسي لپاره VPN کاروو. نورو ټولو IP پتو / سرورونو ته ترافیک به د "عادي" خلاص چینلونو له لارې تیریږي. دا به په لپ ټاپ کې د مخکې ترتیب شوي DNS سرور هم وکاروي.

د ازموینې او اتوماتیک لانچ لپاره موږ ورته حکمونه کاروو wg-quick и systemd:

$ sudo wg-quick up wg0
$ sudo systemctl enable [email protected]

په Android تلیفون کې د پیرودونکي تنظیم کول

د Android تلیفون لپاره موږ یو ورته ورته ترتیب فایل رامینځته کوو (راځئ چې ورته زنګ ووهو 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

په لپ ټاپ کې د ترتیب برعکس، تلیفون باید زموږ د VPN سرور د DNS سرور په توګه وکاروي (لین DNS)، او همدارنګه ټول ټرافیک د VPN تونل له لارې تیریږي (AllowedIPs = 0.0.0.0/0).

د دې پرځای چې فایل خپل ګرځنده وسیله ته کاپي کړئ، تاسو کولی شئ دا په QR کوډ کې بدل کړئ:

$ sudo apt install qrencode
$ qrencode -t ansiutf8 < mobile.conf

د QR کوډ به کنسول ته د ASCII په توګه تولید کړي. دا د Android VPN ایپ څخه سکین کیدی شي او په اتوماتيک ډول به د VPN تونل تنظیم کړي.

پایلې

د WireGuard تنظیم کول د OpenVPN په پرتله ساده جادو دی.

سرچینه: www.habr.com

Add a comment