Pi хотспоту Pi-hole жана VPN менен: ар бир кызматка өз тапшырмасын бериңиз
Бир Pi'де үч жардамчыны күйгүзүүдөн мурун DHCP, DNS жана пакеттерди өткөрүп берүүнүн ээсин аныктаңыз. Кайталанган ээлер атаандаш ижараларды жана резолвер циклдерин жаратат.
Телефон Pi хотспотуна туташып, дарек алат, бирок барак ачылбайт. Pi хотспот жардамчысын, Pi-hole жана VPN кардарын иштетет, алардын ар бири жолдун бир бөлүгүн ээлеп жатам деп ойлойт. Мындай куруулардын көбү компонент бузулгандыктан эмес, эки компонент бирдей ишти аткаргандыктан ийгиликсиз болот. Кайсынысын болбосун жөндөөдөн мурун ар бир функцияга бир ээ дайындаңыз.
Ар бир функцияга бир ээ дайындаңыз
Бул жерде төрт функция маанилүү жана ар бирине так бир ээ керек. Төмөнкү таблица функцияны, иштеген ээсин жана ага эки кызмат талап кылганда эмне бузуларын көрсөтөт.
| Function | Workable owner | Duplicate-owner symptom |
|---|---|---|
| Client addresses | One DHCP server, such as the hotspot helper | Competing offers and changing leases |
| DNS reception | Pi-hole on port 53 | Bind failure or queries answered by the wrong process |
| Forwarding and NAT | One firewall manager | Double translation and broken return paths |
| VPN routing | One client configuration | Route flapping and traffic escaping outside the tunnel |
Кайчылашуу адатта бир пакеттен келет. Хотспот жардамчысы өзүнүн dnsmasq нускасын орнотот, Pi-hole 53-портту каалайт, VPN кардары маршруттарды кошот. Ар бир кадам өзүнчө акылга сыярлык көрүнөт, бирге болсо экинчи иштеп баштаган кызмат биринчисинин жүрүм-турумун байкатпай өзгөрткөн машина жаратышат.
Башка нерсени күйгүзүүдөн мурун ээлерди жазып коюңуз. Куруу жазууларындагы кыска таблица кийинки орнотуунун мурун ээси болгон функцияны басып алышына жол бербейт.
Бир диапазонду тандап, аны туннелден алыс кармаңыз
Хотспот диапазонун, андагы Pi дарегин, DHCP пулун жана кардарлар алган резолверди тандаңыз. Бул диапазонду жогорку LAN'дан жана VPN туннелинин диапазонунан өзүнчө кармаңыз, анткени кесилишкен ички тармактар маршруттоо маселесин даректтерди которуу долбооруна айландырат. Туннел менен кесилишкен диапазон Pi'ни эки бирдей префикс ортосундагы кокустан маршрутизатор кылат. Диапазон менен пулду демейки мааниге калтырбай, хотспот конфигурациясына жазыңыз.
Эгер хотспотту NetworkManager'дин жалпы режими ээлесе, DHCP серверин кошуудан мурун иш жүзүндөгү туташууну текшериңиз. Жалпы режим өз жардамчыларын иштетип, өткөрүп берүүнү күйгүзөт, ошондуктан ал ошол интерфейс үчүн дарек планынын ээси. Жеткиликтүү болгондуктан экинчи сервер кошуу камдык эмес, атаандаш сунуштарды жаратат.
IPv6 боюнча атайын чечим кабыл алыңыз. Маршрутизатор жарыялары жана DHCPv6 көп орнотууларда DHCPv4'төн башка жардамчыдан келет, VPN саясаты IPv4'тү гана камтып жатканда IPv6'ны күйүк калтыруу кардарларга туннелди айланып өткөн жол берет. Же IPv6 жагын пландаштырыңыз, же аны хотспот интерфейсинде жазуу түрүндөгү себеп менен өчүрүңүз.
53-портто чындыгында ким жооп берет
Конфигурацияны өзгөртүүдөн мурун 53-портту угуп жаткан ар бир процессти тизмектеңиз. Жергиликтүү резолвер stub, Pi-hole жана бөлүшүү жардамчысы иштеген Pi'де угуучулардын тизмеси суроолорго ким жооп береринин жалгыз ишенимдүү картасы:
sudo ss -lunpt '( sport = :53 )'
ip -4 addr show
ip routePi-hole'дун интерфейстер боюнча колдонмосу бир интерфейс менен чектелген кабыл алуу режими wildcard сокетти колдонуп, башка жерге келгендерди таштай аларын түшүндүрөт. Бул тандалган интерфейстерди гана байлоо менен бирдей эмес, ал эми башка DNS кызматы машинаны бөлүшүүгө тийиш болгондо көзделген тартип.
Эки процесс адатта бир дарек менен портту байлай албайт, бирок SO_REUSEPORT жалпы байлоонун ийгиликтүү болушуна жол берет; ошондо да wildcard угуучу тар кызматка арналган келүүлөрдү ала алат. Керектүү роль үчүн документтелген режимди тандап, кызматтарды көздөлгөн тартипте кайра иштетиңиз.
Pi-hole'дун администрациялык барагын хотспот тармагынан тышкары кармаңыз. Кардарларга резолвер керек, резолвер конфигурациясын өзгөртө алган веб-интерфейс же API эмес.
Эки DNS бутагы, ар бирине бир саясат
Кардардын суроосу телефондон Pi'ге барат, ал эми өзүнчө суроо Pi'ден анын жогорку резолверине барат. Хотспоттун өткөрүлгөн трафигине дал келген маршруттоо эрежеси экинчи бутакка автоматтык колдонулбайт, анткени Pi бул трафикти жергиликтүү жаратат. Эгер VPN DNS ташышы керек болсо, жергиликтүү жолго өз саясаты керек.
Циклди көзөмөлдөңүз. Pi-hole'дун жогорку резолверин Pi өзү тейлеген дарекке багыттоо, түздөн-түз же порт аркылуу, убакыт бүтпөйүнчө айланган суроолорду жаратат. Ага чыныгы жогорку резолвер же жооп бере албаган домендер үчүн шарттуу форвардер бериңиз.
Туннел кулаганда эмне болорун чечиңиз. Жергиликтүү резолверге кайтуу серептөөнү сактайт, бирок аттарды VPN'ден тышкары агызышы мүмкүн; блоктоо саясатты бузбай сактайт жана бузулушту көрүнүктүү катага айландырат. Эки тандоо тең корголот, бирок аларды демейки мааниден мураска албай тандоо керек.
Жолду жана бузулуш учурундагы жүрүм-турумду далилдеңиз
Катмарлап текшериңиз: кардар дарек алат, кардар атты Pi аркылуу чечет, Pi көздөлгөн жогорку резолвер аркылуу чечет, ал эми колдонмо суроону бүтүрөт. Ийгиликтүү ping DNS жөнүндө эч нерсе айтпайт, ийгиликтүү издөө өткөрүп берүү жөнүндө эч нерсе айтпайт.
dig @192.168.70.1 example.com
curl -sS -o /dev/null -w '%{http_code}\n' https://example.com/
ip -4 route get 1.1.1.1Андан кийин туннелди токтотуп, кайталаңыз. Көздөлгөн жүрүм-турум бир нече секунданын ичинде пайда болушу керек, Pi-hole же хотспот кызматын кол менен кайра иштеткенден кийин эмес. Бузулуш учурунда кардардын резолвер жөндөөсүн текшериңиз, анткени экинчилик ачык резолвер саясат катаны күткөндө да жооп бере берет.
Өткөрүп берүү жана NAT үчүн бир ээ кармап, аны Pi'нин өзүнөн эмес, кардардан текшериңиз. Pi'ден ийгиликтүү чыккан суроо кайтуу жолунда дагы эле ташталышы мүмкүн, ал эми кардар бүт жол көрүнгөн жалгыз жер.