Асаблівасці працы на Entware

Як Квас Про працуе на роўтарах Keenetic (Entware): якія рэжымы перахопу даступныя, чым яны адрозніваюцца, як выбраць «Звычайны» і якія меры прынятыя для абароны правілаў.

Квас Про працуе на роўтарах двух сямействаў: OpenWrt і Keenetic (Entware). На Keenetic у прашыўкі ёсць асаблівасці, таму набор даступных спосабаў перахопу залежыць ад таго, што ўмее канкрэтны роўтар. Гэтая старонка тлумачыць, чым рэжымы адрозніваюцца, які выбраць і чаго чакаць.

Якія рэжымы перахопу даступныя

У раздзеле Налады → Спосаб перахопу трафіку Квас Про паказвае толькі тыя рэжымы, якія рэальна працуюць на вашым роўтары. Недаступны рэжым бачны неактыўным з тлумачэннем прычыны: захаваны непрацоўны рэжым азначаў бы, што трафік ідзе міма правілаў, а чалавек пра гэта не ведае.

Рэжым выбіраеце вы. Прадукт не перамыкае яго сам: на Keenetic змаўчанне — «Сумяшчальны», а «Звычайны» уключаецца толькі вашым выбарам. На OpenWrt змаўчанне — «Звычайны».

«Звычайны» — увесь трафік пад правіламі. Ён патрэбны, калі важна, каб пад правілы трапляў увесь трафік прылад, уключаючы хуткія злучэнні, — напрыклад, каб праграма не магла пайсці міма тунэля або блакіроўкі. Для прылад у вашай сетцы розніцы няма: яны нічога не наладжваюць і не заўважаюць, які рэжым выбраны.

У гэтай версіі «Звычайны» ўладкаваны з дзвюх частак: звычайныя злучэнні перахоплівае адзін механізм (тэхнічная назва — REDIRECT), хуткія злучэнні (UDP) — другі (TPROXY). Для чалавека гэта адна наладка, а не два рэжымы; у панэлі ён па-ранейшаму называецца «Звычайны». Так уладкавана на абодвух платформах — і на Keenetic, і на OpenWrt: адрозніваецца толькі ўнутраная механіка сеткавага экрана, а для прылад у сетцы розніцы няма. Так зроблена таму, што на старых ядрах Keenetic перахоп звычайных злучэнняў праз TPROXY прымаў толькі першы пакет і не даносіў даныя кліента: рэжым «уключаўся і пацвярджаўся, а сайты не адкрываліся». Таму звычайныя злучэнні ідуць правераным шляхам, а хуткія — тым, які ўмее UDP.

Дзе «Звычайны» не спрацуе — гэта датычыцца толькі Keenetic. На Keenetic ён не запрацуе ў адным выпадку: калі ў прашыўцы адключаны кампанент «Модули ядра подсистемы Netfilter» — без яго роўтар не ўмее другую частку перахопу, і прадукт не дасць выбраць рэжым. У гэтым выпадку выберыце «Сумяшчальны» (працуе заўсёды) або «Дыягнастычны» (правяральны рэжым; запускаецца не на ўсіх роўтарах). На OpenWrt такога кампанента няма і ён не патрэбны: «Звычайны» там даступны адразу і працуе па змаўчанні.

«Сумяшчальны» — запасны рэжым і змаўчанне на Keenetic. Ён працуе на любым Keenetic, у тым ліку без кампанента Netfilter. Звычайныя злучэнні і DNS ідуць па вашых правілах цалкам, а QUIC не перахопліваецца: прыладам, якім належыць тунэль, ён закрываецца, і праграма пераходзіць на звычайнае злучэнне. Астатнія хуткія злучэнні (UDP) у гэтым рэжыме не перахопліваюцца — таму «Звычайны» і патрэбны, калі важна забраць пад правілы ўвесь трафік.

«Дыягнастычны» забірае трафік праз віртуальны сеткавы інтэрфейс. Гэта правяральны рэжым — упэўніцца, што абароненае злучэнне падымаецца; для пастаяннай працы выбірайце «Звычайны» або «Сумяшчальны».

РэжымШто перахопліваеццаКалі выбіраць
«Звычайны» (TPROXY: звычайныя злучэнні — REDIRECT, хуткія — TPROXY; так на Keenetic і на OpenWrt)Звычайныя злучэнні, DNS і хуткія злучэнні (UDP); QUIC не заводзіцца ў перахоп, але закрываецца тунэльным прыладамПатрэбны ўвесь трафік пад правіламі, уключаючы хуткія злучэнні; на Keenetic — пры наяўнасці кампанента Netfilter (на OpenWrt ён не патрэбны)
«Сумяшчальны» (REDIRECT)Звычайныя злучэнні і DNS; QUIC закрываецца тунэльным прыладам, астатні UDP не перахопліваеццаЗмаўчанне на Keenetic; кампанента Netfilter няма або поўны перахоп UDP не патрэбны
«Дыягнастычны» (TUN)Увесь трафік праз віртуальны інтэрфейсПраверка, што абароненае злучэнне падымаецца; запускаецца не на ўсіх роўтарах

Каб «Звычайны» стаў даступны на Keenetic, у прашыўцы патрэбны кампанент — «Модули ядра подсистемы Netfilter». Модулі гэтага кампанента Квас Про загружае сам: пры запуску службы і па кнопцы «Праверыць зноў» у апавяшчэнні. Ручных каманд у кансолі для гэтага не трэба; пасля перазагрузкі роўтара ў памяці ядра модуляў зноў няма, і прадукт загрузіць іх пры старце службы. Кампанент у панэлі роўтара патрэбны для таго, каб файлы модуляў былі ў сістэме, — самую загрузку прадукт робіць сам і нічога не выгружае: пасля перазагрузкі роўтара ўсё як было. Як дадаць кампанент — у раздзеле «Калі поўнага перахопу няма» ніжэй.

Што перахопліваецца

«Звычайны» перахоплівае звычайныя злучэнні (TCP), DNS і хуткія злучэнні (UDP), акрамя QUIC — пра яго ніжэй. «Сумяшчальны» перахоплівае звычайныя злучэнні (TCP) і DNS, а астатнія хуткія злучэнні не перахоплівае.

  • Звычайныя злучэнні (TCP) — гэта значыць сайты, месенджары, абнаўленні, пошта. Яны трапляюць пад вашыя правілы: тунэль, прамыя маршруты, блакіроўкі.
  • Хуткія злучэнні (UDP) — гульні, званкі, службовы абмен. У «Звычайным» яны трапляюць пад вашыя правілы. Выключэнне — QUIC (UDP, порт 443): яго прадукт не заводзіць у перахоп, а закрывае тунэльным прыладам, каб праграма перайшла на звычайнае злучэнне.
  • DNS-запыты прылад (порт 53) — дзякуючы гэтаму працуе фільтрацыя па імёнах сайтаў, блакаванне рэкламы і трэкераў, а таксама абарона ад падмены DNS. Адрасы сервераў імён з вашага спісу выключаныя з перахопу, таму запыт рэзолвера да свайго вышэйстаячага сервера не заварочваецца назад — пятлі DNS не ўзнікае. Падрабязней — у раздзеле «Налады».

QUIC у абодвух рэжымах

Трафік QUIC (UDP, порт 443) не перахопліваецца ні ў адным рэжыме. QUIC — параўнальна новы спосаб злучэння, ім па змаўчанні карыстаюцца Chrome, YouTube і іншыя буйныя сэрвісы. У «Сумяшчальным» прычына ў прашыўцы роўтара: перахоп UDP у ёй выключаны, пакуль у набор кампанентаў не дададзеныя модулі падсістэмы Netfilter. У «Звычайным» перахоп UDP працуе, але ўваход, якім Квас Про забірае QUIC, на Keenetic/Entware не дае працоўнага злучэння — старонка вісела б да таймаўту. Таму QUIC выведзены з перахопу ў абодвух рэжымах і закрываецца прыладам, якім прадпісаны тунэль: праграма адразу атрымлівае адмову і пераходзіць на звычайны TCP, які перахоплены і ідзе па правілах. Прылады з прамымі маршрутамі QUIC не губляюць.

На роўтарах OpenWrt «Звычайны» рэжым даступны адразу, але гэта не мяняе правіла: QUIC і там не перахопліваецца і гэтак жа адхіляецца прыладам з тунэлем, каб браўзер адразу перайшоў на TCP. На Keenetic «Звычайны» робіцца даступным, калі ў прашыўцы ёсць кампанент Netfilter, — пра гэта наступны раздзел.

Меры, прынятыя ў абодвух рэжымах

Каб асаблівасці прашыўкі не ператвараліся ў дзіркі ў абароне, у прадукце зроблена наступнае:

  1. Блакіроўкі дзейнічаюць заўсёды. Правілы з вашых спісаў з мэтай «Блакаваць» прымяняюцца незалежна ад таго, ці працуе абароненае злучэнне ў гэты момант. Забаронены сайт не атрымае выхад у сетку ні пры якіх абставінах.
  2. Забарона QUIC для прылад, якім належыць тунэль. Калі прыладзе прадпісана ісці праз абароненае злучэнне, QUIC для яе закрываецца — і праграма аўтаматычна пераходзіць на звычайны TCP, які пад правіламі. Такі трафік зноў ідзе праз тунэль, а не міма яго. Прылады, якім прадпісана ісці наўпрост, не закранаюцца: у іх QUIC працуе як звычайна.
  3. Сумленная дыягностыка. Убудаваная дыягностыка паказвае, які рэжым перахопу выкарыстоўваецца і ці ёсць абмежаванні на гэтым роўтары, — без меркаванняў, што «ўсё дакладна працуе». У раздзеле Дыягностыка радок «QUIC зачынены для тунэльных прылад» пацвярджае, што забарона з пункта 2 сапраўды пабудаваная. Радок з’яўляецца ў абодвух рэжымах — і ў «Сумяшчальным», і ў «Звычайным»: ён гаворыць пра факт забароны, а не пра спосаб перахопу.
  4. IPv6 зачынены, пакуль працуе тунэль. Перахоп працуе па IPv4, таму IPv6-трафік сыходзіў бы міма тунэля і міма правілаў. Пакуль прыладам прадпісана ісці праз абароненае злучэнне, выхад IPv6 вонкі зачынены (REJECT) — сама лакальная сетка, роўтар, DNS-парты знешніх рэзолвераў з спісу каталога і вашыя лакальныя сеткі з «Выключэнняў» не закранаюцца. Наступства названае сумленна: зачынены ён УСІМ прыладам лакальнай сеткі, уключаючы тыя, што ідуць наўпрост, — іх IPv6-адрасы прадукту невядомыя (выяўленне ідзе па IPv4). IPv6 унутры лакальнай сеткі працягвае працаваць. Як толькі тунэль зняты з усіх прылад, забарона здымаецца сама.
  5. Правілы прывязваюцца да прылады, а не да адраса. Калі роўтар выдасць прыладзе новы адрас па DHCP, правілы не згубяцца: Квас Про вызначае прыладу па апаратным адрасе (MAC), які не мяняецца. Калі прылада ўсё ж апынулася па-за правіламі, вы ўбачыце гэта ў інтэрфейсе і зможаце выправіць адной кнопкай.

Калі поўнага перахопу няма

Калі трэба, каб пад правілы траплялі і хуткія злучэнні, а «Звычайнага» ў спісе няма, у прашыўку дадаецца кампанент «Модули ядра подсистемы Netfilter» (англійская назва — Kernel modules for Netfilter). Пасля гэтага прадукт сам загрузіць модулі, «Звычайны» стане даступным — і вы выберыце яго ў Налады → Спосаб перахопу трафіку: прадукт больш не перамыкае рэжым сам.

Як яго дадаць:

  1. Адкрыйце панэль кіравання роўтара — менавіта роўтара, а не панэль Квас Про, — і увайдзіце ў яе.
  2. Перайдзіце: Кіраванне → Агульныя налады → Змяненне набору кампанентаў. У частцы версій прашыўкі гэты раздзел называецца «Налады сістэмы».
  3. Знайдзіце кампанент пошукам па слове netfilter і ўключыце «Модули ядра подсистемы Netfilter».
  4. Прымяніце набор кампанентаў і перазагрузіце роўтар.
  5. Вярніцеся ў Квас Про. Модулі прадукт загрузіць сам — пры запуску службы, а калі роўтар ужо перазагружаны і служба працуе, па кнопцы «Праверыць зноў» у апавяшчэнні (у журнале з’явіцца запіс пра загрузку модуля). Пасля гэтага адкрыйце Налады → Спосаб перахопу трафіку і выберыце «Звычайны» уручную. Калі «Звычайнага» ўсё роўна няма, адкрыйце Дыягностыку: там сказана, чаго не хапае — файлаў модуляў у сістэме няма, загрузіць іх не ўдалося або праверка не атрымала адказу.

Кампанента можа не быць у вашай версіі прашыўкі — тады поўнага перахопу на гэтым роўтары не будзе, і прадукт скажа пра гэта прама (словамі «файлаў модуляў у сістэме няма»), а не прамаўчыць. Прадукт не абяцае таго, чаго не праверыў: ён паказвае фактычны стан роўтара — у тым ліку пасля сваёй загрузкі модуляў, — пацвярджае перахоп жывой праверкай правіла ў сеткавым экране, а даступнасць рэжыму бачная ў Дыягностыцы.

Другі шлях застаецца: паставіць у якасці кропкі перахопу роўтар OpenWrt — там «Звычайны» рэжым даступны адразу.

Пакуль поўнага перахопу няма, прадукт паведамляе пра гэта сам: у панэлі з'яўляецца апавяшчэнне пра прычыну са спасылкай на панэль роўтара і кнопкай пацверджання. Кнопка **«Праверыць зноў»** прымушае прадукт загрузіць модулі (калі іх файлы ў сістэме ёсць) і праверыць перахоп нанова. Прыбіраецца апавяшчэнне толькі націскам «Зразумела», а стан сістэмы застаецца бачны ў Дыягностыцы.

Калі штосьці выглядае не так

Пачніце з званочка апавяшчэнняў у правым верхнім куце: прадукт сам паведамляе пра крытычныя станы — злучэнне не адказвае, прылада па-за правіламі, ядро спыненае. Тыя ж сігналы бачныя на старонцы Манітор (правая панэль) і ў раздзеле Дыягностыка, а побач з праблемай ёсць дзеянне для выпраўлення (напрыклад, перазапуск злучэння або абнаўленне адраса прылады).

Дакументацыя КвасПро · v1.0.23