VPN кардарларынын туннелде бири-бирине жетүүсүн токтотуңуз
Кызматка жетүү — маршрут, башка кардарга жетүү — саясат. Өнөктөштөрдүн ортосундагы трафикти чечкен өткөрүү чекитин табыңыз, анан тыюуну кардардан далилдеңиз.
Эки кардар тең секирүү хостун ача алат, бирок бири-бирин ачууга эч кандай иши болбошу мүмкүн. Кызматка жетүү — өткөрүү чечими, ал эми өнөктөшкө жетүү — саясат чечими, жана көпчүлүк VPN стектери аларды өзүнчө объектилерде сактайт. Биринчиси үчүн конфигурациялаган нерсеңиз экинчисин аткарбайт. Ошондуктан милдет эреже кошуу эмес, ушул серверде өнөктөштөрдүн ортосундагы трафикти чечкен объектини табуу, тыюуну ошол жерге жазуу жана аны кардардан далилдөө.
Жалпы кызматка маршрут өнөктөштөрдүн ортосундагы уруксат эмес
Кардарлардын ички тармагын жарыялоо өнөктөшкө пакетти башка кардардын дарегине карай зымга кантип коюуну айтат. Ал пакет жеткирилеби, андан кийин, аны өткөргөн нерсе менен чечилет. Linux дарбазасында бул FORWARD тизмеги; колдонуучу мейкиндигиндеги демондо — туннелдин өзүнүн сессия таблицасы. Маршрут жеткиликтүүлүккө жооп берет жана уруксатка тийбейт.
Ошондуктан маршруттарды гана окуган обочолотуу текшерүүсү эч нерсени далилдебейт. /24 ар кардарга жөнөтүлүшү мүмкүн, ал эми өнөктөштөрдүн ортосундагы ар пакет өткөрүү илмегинде ташталат. Кооптуу учур — тескериси: ачык эреже жок, уруксат берүүчү демейки бар жана обочолотуу эч ким аны текшербегендиктен гана бар.
Талапты терминал ачардан мурун бир сапка жазыңыз. Кызматтар блогун жана секирүү хостун жетиңиз, кардарлар блогунун ичинде башка эч нерсеге жетпеңиз.
Өнөктөштүн пакетин чындыгында ким өткөрөрүн аныктаңыз
Сервердин эки жүрүм-туруму кардар тараптан бирдей көрүнөт жана башка эрежелерди талап кылат. Же ядро пакетти кайрадан туннелдин интерфейсинен сыртка өткөрөт, же демон аны сессиялардын ортосунда көчүрөт жана ядро аны эч качан көрбөйт.
WireGuard биринчи топко кирет: анда өнөктөштөрдүн ортосунда которуштуруу жок, ошондуктан 10.8.0.4төн 10.8.0.5ке пакет wg0го келет, өткөрүү илмегине тиет жана AllowedIPs эки даректи тең камтыганда кайрадан wg0дөн багытталат. OpenVPN — сервер конфигурациясында client-to-client коюлгандан кийин экинчи топ, анткени бул директива пакетти колдонуучу мейкиндигинде сессиялардын ортосунда берет. Бир нерсе жазганга чейин жүктөлгөн конфигурациядан бул директиваны текшериңиз. Трафикти эч качан көрбөгөн ядро эрежесин иштеген эрежеден айырмалоо мүмкүн эмес, жана дал ушундай жайгаштыруу эч кандай обочолотуусуз аяктайт.
Жүктөлдү деп болжогон файлды эмес, аракеттеги конфигурацияны окуңуз, анткени дистрибутив пакеттери өз кошулмаларын алып келет. Эгер демон өткөрсө, тыюу анын өзүнүн ар-кардар башкарууларында болот, ал эми хост файрволу хостко багытталган трафикти гана чыпкалайт. Эгер ядро өткөрсө, өткөрүү илмеги — жалгыз маанилүү жер.
Маршрутталган жана которулган жайгаштыруулар дагы бир текшерүүнү талап кылат: алыс кардар көргөн булак сиз күткөн нерсе болбошу мүмкүн. Ошондо кардарлардын ички тармагына туура келген эреже эч нерсеге туура келбейт. Дал келүүнү жазганга чейин которуудан аман калган даректи белгилеп алыңыз жана NAT даректерин божомолдогондон көрө интерфейстер жупун дал келтирүүнү тандаңыз.
Ар дарекке өзүнчө жоюла турган инсандык берүү
Эки түзмөк бир эсептик маалыматты бөлүшкөндө обочолотуу кулайт. Ошол инсандыкка байланган эреже аларды ажырата албайт, ал эми жоголгон ноутбукту жоюу бүт топту жояр. Ар түзмөккө сертификаттар же ар өнөктөшкө ачкычтар жоюуну жергиликтүү, ал эми саясатты окула турган бойдон сактайт, анткени ар дарек так бир адамга же машинага туура келет. Дизайн муну кыла албаган жерде, эрежени майда деп сүрөттөөнүн ордуна пайдалануу колдонмосунда айтыңыз.
Даректерди бөлүштүрүү саясатка туура келиши керек. Кызматтар үчүн блок, кардарлар үчүн блок бөлүп коюңуз жана кардар даректерин биринчи келген алат диапазонунан эмес, өзүңүз көзөмөлдөгөн пулдан бериңиз. Эгер сервер которсо же көпүрө жасаса, дал келтирүү таблицасын конфигурациянын жанында сактаңыз, анткени кийинки окуучуга эрежени кайра чыгаруу үчүн дал ошол таблица керек.
Тыюуну пакет туннелден өткөн жерге коюңуз
WireGuard трафигин өткөргөн дарбазада учурду эки эреже жабат: кызматтар блогуна уруксат бериңиз, анан кардарлар блогунун калганын таштаңыз. Интерфейстер жубу даректер сыяктуу эле маанилүү, анткени белгиленген жерге гана дал келтирүү LANдан келген трафикти да кармайт. Уруксат биринчи баалансын деп аларды ошол тартипте жүктөңүз.
nftables менен жуп бар inet filter таблицасына кирет, адегенде уруксат, анан таштоо. Эки дал келүү тең даректер менен катар интерфейстер жупун бекемдейт.
nft add rule inet filter forward iifname "wg0" oifname "wg0" ip saddr 10.8.0.0/24 ip daddr 10.8.2.0/24 accept
nft add rule inet filter forward iifname "wg0" oifname "wg0" ip saddr 10.8.0.0/24 ip daddr 10.8.0.0/24 drop
Жүктөгөндөн кийин чыгуу статусуна ишенүүнүн ордуна тизмени кайра окуңуз жана эки эреже тең ниет кылган тартипте экенин ырастаңыз. IPv6 пулу үчүн туура келген ip6 эрежелерин кошуңуз, болбосо кош стектүү туннелде v4 жубу жөн гана жасалга. Эгер серверде мурунтан уруксат берүүчү өткөрүү саясаты болсо, тизмени толук алмаштыруунун ордуна таштоону кошуңуз.
OpenVPN де client-to-client күйгүзүлгөндө бул өткөрүү эрежелери өнөктөштөрдүн ортосундагы трафикке эч качан туура келбейт жана тыюу демондун өзүнүн башкарууларында болушу керек. Хостко багытталган трафик үчүн ядро эрежелерин калтырыңыз, бирок аларды обочолотуу башкаруусу деп эсептебеңиз.
Тыюуну серверден эмес, кардардан далилдеңиз
Дарбазадан текшерүү эч нерсени далилдебейт, анткени жергиликтүү жаралган трафик чыгуу жолун алат жана өткөрүү илмегинен эч качан өтпөйт. Эки чыныгы кардарды колдонуңуз: бири кызматка жетиши керек, бири четке кагылышы керек. Адегенде уруксат учурун иштетиңиз, сынган туннел иштеген саясат деп кабыл алынбасын.
Уруксат берилген кардардан кызматтын өз портунда жооп берерин ырастаңыз. Ошол эле кардардан өнөктөштүн дарегин сынап көрүңүз жана баш тартуунун ордуна үнсүз таштоону күтүңүз:
ping -c 3 -W 2 10.8.0.5
nc -z -w 2 10.8.0.5 22
nft list chain inet filter forward
iptables -vnL FORWARD
ping -6 -c 3 -W 2 fd00:8::5
Ташталган пакет жана тармактан тышкаркы өнөктөш экөө тең убакыт бүтүүсүнө окшошот, ошондуктан кандайдыр бир жыйынтык чыгарганга чейин эсептегичтерди текшериңиз. Өнөктөш ачык иштеп турганда таштоо эрежесинин эсептегичи өсөрүн ырастаңыз. IPv6 аркылуу кайталаңыз, анда жок ip6 эрежеси v4 тыюусун натыйжалуу көрүнүшкө калтырат. Кабыл алынган жана четке кагылган жыйынтыктарды күнү менен колдонмого жазыңыз, анткени кийинки миграция эрежени кайра чыгарат.