Туннель кулайт, авариялык өчүргүч иштегенин билдирет, ал эми жүктөө уланат. IPv4 эрежелеринде эч нерсе бузулган жок. Колдонмо жөн гана ошол эрежелер эч качан жазылбаган жолго өттү.

Кош стектүү түзмөктөрдүн эки көз карандысыз чыгуу жолу бар. Алардын бирин бөгөттөө — жарым бөгөт.

Эки эреже жыйындысы, эки демейки

Linux'та iptables жана ip6tables өзүнчө саясаттары бар өзүнчө таблицалар. IPv4 таблицасындагы INPUT жана OUTPUT чынжырларын DROP абалына коюу IPv6 таблицасында эч нерсени өзгөртпөйт, анда демейки адатта ACCEPT. Ошол эле бөлүнүү nftables'та бар, анда бир үй-бүлөнү карап, эрежелериңизди алардын бири гана алып жүргөнүн таба аласыз. Бул асимметрия кадимки, жана бүт маселе ушунда.

Ошондуктан авариялык өчүргүч тыкан көрүнүп, жарым-жартылай иштеши мүмкүн. IPv4 эрежелерин жазган скрипт иштеди, эсептегичтер көбөйүүдө, журнал сабы көрүнөт, жана IPv6 пакети физикалык интерфейстен толугу менен тийилбеген бойдон чыгып кетет.

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

Интерфейс конфигурациясы сизге эмне дейт

wg-quick'тин колдонмо бети өзүнүн үлгү конфигурациясында IPv6 эрежелерин камтыйт, жана себеби дал ушул кемтик. Үлгү кооздук эмес. Ал IPv4 эрежелери гана экинчи үй-бүлөнү ачык калтырарынан улам бар.

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

# what is actually installed, per family?
sudo iptables -S OUTPUT | head -20
sudo ip6tables -S OUTPUT | head -20

# nftables: inspect each family separately
sudo nft list ruleset inet | head -40

# does this host even have a usable IPv6 path?
ip -6 route show default

Эгер экинчи буйрук уруксат берүүчү саясатты басып чыгарса, ал эми биринчиси DROP басып чыгарса, кардарга тийбестен жоопту таптыңыз. Ушул асимметрия — ката.

Эмне үчүн бир издөө бүт окуя эмес

Бир ат A жазуусун да, AAAA жазуусун да кайтара алат, жана колдонмолордун баары бирдей тандай бербейт. Браузер тармак IPv6 сунуштаганда аны артык көрүп, ийгиликсиздикте артка чегинүүсү мүмкүн, ал эми фондук синхрондоо же жаңыртуу программасы өзүнүн чечүүчүсүн жана өзүнүн артыкчылыгын колдонот. Ошондуктан IPv4 аркылуу бир ийгиликтүү сыноо бир жолду далилдейт, саясатты эмес.

Тармак өтүүлөрү да жоопту өзгөртөт. Башка Wi-Fi тармагына кошулуу, уйкудан ойгонуу же уюлдук тармакка өтүү түзмөккө жаңы IPv6 префиксин бериши мүмкүн, жана кеңсе LAN'ында жетиштүү көрүнгөн саясат аны камтый албашы мүмкүн.

Туннель өчүк турган абалды сынаңыз

Туташкан абалда сыноо туннель иштеп жатканын айтат. Кызыктуу сыноо — жеткиликсиз абал, анткени ошондо авариялык өчүргүч кармап турушу керек. Туннелди атайылап токтотуңуз, анан коргоп жаткан колдонмодон маанилүү багыттарды сынап көрүңүз.

# with the tunnel stopped, does anything still leave?
ip -6 route get 2606:4700:4700::1111
curl -6 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv6.example.net/
curl -4 -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://ipv4.example.net/

Эки үй-бүлө тең жабык түрдө ийгиликсиз болушу керек. Эгер IPv4 сурамы убакыттан өтүп кетсе жана IPv6 сурамы статус кодун кайтарса, саясат толук эмес, жана туннелди канча жолу кайра сынасаңыз да бул өзгөрбөйт.

Ошол сыноодо документтелген өзгөчөлүктөрдү да сактаңыз. Жергиликтүү тармакты аныктоо, DHCP жаңыртуу же VPN акыркы чекитине жүктөө жолу жеткиликтүү бойдон калышы керек болушу мүмкүн, жана бул өзгөчөлүктөр саясатта аталышы керек, үзгүлтүк учурунда табылгандын ордуна. Туннель кайра көтөрүлө албагандыктан ийгиликсиз болгон агым сыноосу коопсуздук табылгасы эмес, бул байланыш табылгасы.

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