Craig Regional ParkCraig Regional Park // 2011-06-05

IPv4 та IPv6 в домашній мережі

Протокол IPv6 зʼявився в 90х але все ніяк не замінить «морально» застарілий IPv4. Я вже колись писав про використання IPv6 тунелів для свого сайту та домашньої мережі — майже 14! років тому.

З того часу багато чого змінилося:

— мобільні оператори в першу чергу використовують IPv6 через брак IPv4 адрес
— більшість великих сайтів доступні по IPv6
— багато провайдерів мають підтримку IPv6
— сучасні модеми та роутери підтримують IPv6
— якщо хостинг не підтримує IPv6 то можна сховати сайт за Cloudflare і отримати його автоматично

Але є певні нюанси впровадження IPv6 у моїй домашній мережі.

Я використовував той тунель від Hurricane Electric лише деякий час: мій AirPort Express перестав працювати а новий роутер (Linksys EA3500) не підтримував тунелі.

Через деякий час (та кілька змін провайдерів) до мене нарешті дійшла «рідна» підтримка IPv6, яку я включив на роутері та додав IPv6 в основну мережу (бо для IoT пристроїв воно не дуже потрібно).

Новий протокол має кілька архітектурних особливостей:

— пристрої отримують лише префікс мережі а повну адресу вибирають власноруч за допомогою SLAAC. Це чудово для клієнтських пристроїв (телефони, компʼютери) але не дуже для серверів (NAS). На щастя, такі пристрої зазвичай вибирають ту саму адресу.

— префікс мережі інколи змінюється провайдером (для прикладу, після перевантаження модему), пристрої починають використовувати його автоматично але усі налаштування, що включають в себе повну IPv6 мережу, стають неактуальні.

Я створив скрипт на Mikrotik роутері, що періодично запускається, перевіряє префікс мережі та прописує повні IPv6 адреси там, де це потрібно (firewall, dns). Те саме відбувається і для IPv4 але там локальні адреси самі не змінюються.

DNS сервери моєї мережі (pi-hole) знаходяться на Raspberry Pi 0 та 4. Крім фільтрування реклами та використання DNS over HTTPS (щоб провайдер не мав можливості впливати на мої DNS запити) там ще є ~35 статичних DNS записів, що вказують на локальні ресурси. Для прикладу, я можу використовувати домен server.example.com замість ІР адреси, щоб дістатися свого NASʼу по SMB або HTTPS.

На щастя, pi-hole можна налаштувати так, щоб запити про певні домени перенаправлявся на інший DNS сервер. Цим сервером є мій роутер, що завжди має актуальну інформацію про IPv6 адреси в мережі.

Pi-hole
/etc/dnsmasq.d/02-custom.conf
server=/server.example.com/10.X.Y.1

Mikrotik (10.X.Y.1)
/ip/dns/static
add address=10.X.Y.Z name=server.example.com
add address=2606:..:dead:beef name=server.example.com type=AAAA

Я вже зробив приблизно половину сервісів та пристроїв в мережі доступними по IPv4 та IPv6 (посилання із зеленою смужкою). До решти або не дійшли руки або вони знаходяться в IoT підмережі.

Homer

Чи зможу я колись повністю вимкнути IPv4 в своїй мережі? Найближчі 5-10 років навряд але готуватися до цього потрібно вже зараз.