катары WireGuard келечектеги өзөк Linux 5.6 версиясында, мен бул VPNди менин .
Жабдуулар
- Raspberry Pi 3 LTE модулу жана коомдук IP дареги менен. Бул жерде VPN сервери болот (мындан ары текстте ал деп аталат edgewalker)
- Телефон күйүк Android, ал бардык байланыштар үчүн VPN колдонушу керек
- жазуу дептер Linux, ал VPNди тармактын ичинде гана колдонушу керек
VPNге туташкан ар бир түзмөк башка бардык түзмөктөргө туташа алышы керек. Мисалы, эки түзмөк тең VPN тармагынын бир бөлүгү болсо, телефон ноутбуктагы веб-серверге туташа алышы керек. Орнотуу абдан жөнөкөй болуп чыкса, анда сиз иш тактасын VPNге (Ethernet аркылуу) туташтыруу жөнүндө ойлонсоңуз болот.
Убакыттын өтүшү менен зымдуу жана зымсыз байланыштар азыраак коопсуз болуп баратканын эске алсак (, и ), мен колдонууну олуттуу карап жатам WireGuard кандай чөйрөдө иштебесин, бардык түзмөктөрүм үчүн.
орнотулууда программа
WireGuard камсыз кылат көпчүлүк бөлүштүрүүлөр үчүн Linux, Windows и macOSТиркемелер Android жана iOS колдонмолор дүкөндөрү аркылуу жеткирилет.
Менде эң акыркы Fedora бар Linux 31, жана орнотуудан мурун колдонмону окууга жалкоо болдум. Мен жаңы эле пакеттерди таптым. wireguard-tools, аларды орнотуп, анан эмне үчүн эч нерсе иштебей жатканын түшүнө алган жок. Андан аркы иликтөөлөр менде пакет орнотулган эмес экенин көрсөттү wireguard-dkms (тармак драйвери менен), бирок ал менин бөлүштүрүү репозиторийинде болгон эмес.
Эгерде мен көрсөтмөлөрдү окуган болсом, анда мен туура кадамдарды жасамакмын:
$ sudo dnf copr enable jdoss/wireguard
$ sudo dnf install wireguard-dkms wireguard-tools Менин Raspberry Piде Raspbian Buster дистрибьютору орнотулган, ал жерде пакет бар wireguard, аны орнотуу:
$ sudo apt install wireguardсүйлөшүүдө Android Мен тиркемени орноттум расмий Google App Store каталогунан.
Ачкычтарды орнотуу
Түйүндөрдү аутентификациялоо үчүн Wireguard 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Бул бизге үч негизги жуп (алты файл) берет. Конфигурациялардагы файлдарга кайрылбайбыз, бирок мазмунду бул жерге көчүрүңүз: ар бир ачкыч base64 бир саптан турат.
VPN сервери үчүн конфигурация файлын түзүү (Raspberry Pi)
Конфигурация абдан жөнөкөй, мен төмөнкү файлды түздүм /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 wg-quick@wg0.serviceНоутбукта кардар конфигурациясы
Ноутбукта конфигурация файлын түзүңүз /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Эскертүүлөр:
- Edgewalkerдин ордуна коомдук IP же VPN серверинин хостун көрсөтүшүңүз керек
- Жөндөө менен
AllowedIPsбоюнча10.200.200.0/24, биз ички тармакка кирүү үчүн гана VPN колдонобуз. Бардык башка IP даректерге/серверлерге трафик "кадимки" ачык каналдар аркылуу уланат. Ал ошондой эле ноутбукта алдын ала конфигурацияланган DNS серверин колдонот.
Сыноо жана автоматтык ишке киргизүү үчүн биз ошол эле буйруктарды колдонобуз wg-quick и systemd:
$ sudo wg-quick up wg0
$ sudo systemctl enable wg-quick@wg0.serviceКардарды орнотуу 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.confQR коду консолго ASCII катары чыгарылат. Аны колдонмодон сканерлесе болот. Android VPN жана VPN туннелин автоматтык түрдө конфигурациялаңыз.
жыйынтыктоо
тууралоо WireGuard салыштырмалуу жөн гана сыйкырдуу OpenVPN.
Source: www.habr.com
