Эки соо VPN чыгуусу, мурунтан жүрүп жаткан бир узун жүктөө жана кийинки байланыш экинчи тоннелди колдонушу керек деген талап. Муну аткаруунун эки жолу бар жана алардын бирөө гана иштеп жаткан дарбазада коопсуз. Демейки маршрутту алмаштыруу ар бир пакетти жылдырат, жүктөөгө тиешелүү пакеттерди да. Пландалган агызуу жаңы байланыштар үчүн тандоону өзгөртүп, көзөмөлдөнгөн агымдарды алар башталган жолдо калтырат.

Чыгууну алмаштыруунун эки жолу

Маршрутту алмаштыруу — бир команда жана аны секунддарда кайтарып алууга болот, ошондуктан окуялар учурунда колдонулат. Ал ошондой эле айырмачылыксыз: учурдагы жүктөөнүн пакеттери күтүлбөгөн жерден башка тоннелден чыгат, башка коомдук булак дареги жана өзүнчө которуу абалы менен.

Эгер алыскы тарап агымдарды булак дареги боюнча көзөмөлдөсө, жүктөө жөн эле таанылбай калышы мүмкүн. Агызуу муну ар бир байланыш үчүн бир жолу чечим кабыл алып, аны сактоо менен болтурбайт, ошондуктан эски жүктөө бүткөнгө чейин өз чыгуусун сактайт. Бул — бүт көнүгүүнүн баалуулугу: алыскы тарап түшүндүрүшү керек болгон эч кандай өзгөрүүнү көрбөйт. Ал мурунтан билген байланышка туура келген пакеттерди алууну улантат.

Баасы — татаалдык: эки маршруттоо таблицасы, туура илгичте иштеген классификатор жана машинадагы аларды колдонгон калган нерселердин баары менен шайкеш келтирилиши керек болгон белгилер.

Ар бир чыгууга өз таблицасын бериңиз

Ар бир чыгуу үчүн маршруттоо таблицасын жана эки тандоо үчүн өзүнчө белги маанилерин же биттерин бөлүңүз. Ар бир таблицага жөн гана ат эмес, өз ролуна ылайыктуу маршруттар керек жана жетишпеген учур үчүн атайын ийгиликсиздик натыйжасы керек. Негизги таблицага үнсүз түшүп кеткен бош таблица — трафик эч ким тандабаган чыгуудан ушундай чыгат.

ip rule add fwmark 0x10/0x10 table 101
ip rule add fwmark 0x20/0x20 table 102
ip route add default via 192.0.2.1 dev wg-a table 101
ip route add default via 198.51.100.1 dev wg-b table 102

Ар бир таблицанын аягына blackhole маршрутун кошуңуз, дал келүү табылбаган издөө сиз тандабаган демейкиге качуунун ордуна катуу үн менен ийгиликсиз болсун.

Бир жолу тандаңыз, биринчи пакетте

Байланыш көзөмөлү пайда болгондон кийин жана маанилүү маршрут издөөсүнөн мурун классификациялаңыз. Жаңы, классификацияланбаган LAN байланышы үчүн чыгууну тандап, аны байланыш абалына сактаңыз. Кийинки пакеттерде сакталган маанини саясаттык маршруттоо окуган пакет белгисине калыбына келтириңиз.

Назик жери — жаңы деген эмнени билдирет. Conntrack жооп көрүнгөнгө чейин эрте пакеттер жана кайра жөнөтүүлөр үчүн дагы эле NEW деп билдириши мүмкүн, ошондуктан ушул абалга гана таянган классификатор мурун кабыл алган тандоону кайра жазышы мүмкүн. Бир чыгууну дайындоодон мурун байланыш үчүн эч кандай чыгуу сакталбаганын текшериңиз.

nftables пакет жана байланыш белгилерин өзүнчө кармайт, жана метамаалымат боюнча колдонмо алардын ортосундагы ачык көчүрмөнү документтештирет. Байланыш белгиси эрежеңиз дал келген пакет белгисине өзүнөн өзү айланбайт, жана бул кылдат жазылган классификатордун таасири болбошунун эң кеңири тараган себеби.

Калыбына келтирүүнү өзүңүз көздөгөн багыт жана трафик менен чектеңиз. Интернет-чыгуу белгисин кайтып келген пакеттерге колдонуу жоопторду LAN ордуна чыгууга карай жөнөтүшү мүмкүн, ал эми симптом — firewall көйгөйүнө окшош бир багыттуу байланыш. Firewall эрежесине тийүүдөн мурун жооптун жолун окуңуз, анткени пакет маршрутталып жатат, жөн гана жөнөтүүчүгө кайра барбайт.

Агызуунун төрт фазасы

  1. Bни Aга тийбестен даярдаңыз: маршруттоо, өткөрүү, авторизация, NAT жана кайтуу жолу. Анын таблицасын жана тандоо саясатын дарбазанын учурдагы конфигурация ээси аркылуу орнотуңуз.

  2. Классификаторду алмаштырыңыз, жаңы, классификацияланбаган байланыштар Bни тандасын, сакталган тандоолор сакталсын. Атомдук nftables транзакциясы эски абалды тазалоого туура келген терезеин болтурбайт.

  3. Aнын агымдары бүткөнгө чейин A күйүп турсун. Анын интерфейси, таблицасы, алыскы чыгуусу жана NAT карталары дагы эле ошол агымдардын бөлүгү, ал эми NAT эрежесин оңдоо мурунтан бар байланыштарды кайра курбайт.

  4. Агызуу шарты аткарылганда Aны токтотуңуз, бул бир тынч аралык менен эмес, байланыштар абалы жана колдонмонун жүрүм-туруму менен бааланат.

Агызуу эмнени убада кыла албайт

Браузердин суроосу жаңы транспорттук байланыш эмес; бириктирүү суроолорду эски байланыш аркылуу жөнөтө берет. Тескерисинче, UDP агымы conntrackтен картайып кетиши мүмкүн жана кийинки пакет кайрадан классификацияланат. Агызуу көзөмөлдөнгөн агымдарды ээрчийт, колдонмонун сессия жөнүндөгү түшүнүгүн эмес.

Эгер A өз агымдары бүтө электе иштен чыкса, сакталган белги аларды куткарбайт. Алар B аркылуу кайра туташат, же такыр туташпайт. Пландалган агызуу баштапкы жол соо кезде үзгүлтүксүздүктү сатып алат; бул көз карандысыз чыгуулардын ортосунда абалды көчүрүү эмес.

Эки жарымын тең текшериңиз

Өзгөртүүдөн мурун узак мөөнөттүү уруксат берилген байланышты жана андан кийин чын эле жаңы байланышты баштаңыз. Ар бири кайсы тоннелди колдонорун жана алыскы тарап кайсы коомдук булак дарегин көрөрүн ырастаңыз, анан кайтарым трафиктин кайтып келерин текшериңиз.

Жаңы тандоо көрүнүшү үчүн conntrack таблицасын тазалабаңыз. Бул агызуу сакташы керек болгон абалды таптакыр жок кылат жана көзөмөлдөнгөн миграцияны таза көрүнгөн тест менен үзгүлтүккө айландырат.

Тектеш макалалар