Sbot Pi gyda Pi-hole a VPN: rhowch waith i bob gwasanaeth
Penderfynwch pwy sy'n berchen ar DHCP, DNS ac anfon pecynnau cyn galluogi tri chynorthwyydd ar un Pi. Mae perchnogion dyblyg yn cynhyrchu lesau cystadleuol a dolenni cynhyrfydd.
Mae ffôn yn ymuno â sbot y Pi, yn cael cyfeiriad, ac mae'r dudalen yn dal i fethu. Mae'r Pi yn rhedeg cynorthwyydd sbot, Pi-hole a chleient VPN, ac mae pob un yn credu ei fod yn berchen ar ran o'r llwybr. Mae'r rhan fwyaf o'r adeiladau hyn yn methu nid oherwydd bod cydran wedi torri, ond oherwydd bod dwy gydran yn gwneud yr un gwaith. Neilltuwch un perchennog i bob swyddogaeth cyn tiwnio unrhyw un ohonynt.
Neilltuwch un perchennog i bob swyddogaeth
Mae pedair swyddogaeth yn bwysig yma, ac mae angen union un perchennog ar bob un. Mae'r tabl isod yn enwi'r swyddogaeth, perchennog ymarferol a'r hyn sy'n mynd o'i le pan fydd dau wasanaeth yn hawlio'r un.
| 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 |
Mae'r gorgyffwrdd fel arfer yn dod un pecyn ar y tro. Mae cynorthwyydd y sbot yn gosod ei enghraifft dnsmasq ei hun, mae Pi-hole eisiau porth 53, ac mae cleient VPN yn ychwanegu llwybrau. Mae pob cam yn edrych yn rhesymol ar ei ben ei hun, ac gyda'i gilydd maent yn creu peiriant lle mae'r ail wasanaeth i gychwyn yn newid ymddygiad y cyntaf yn dawel.
Ysgrifennwch y perchnogion i lawr cyn galluogi unrhyw beth arall. Mae tabl byr yn y nodiadau adeiladu yn atal gosodiad diweddarach rhag cymryd swyddogaeth oedd eisoes â pherchennog.
Dewiswch un amrediad a'i gadw i ffwrdd o'r tiwnel
Dewiswch amrediad y sbot, cyfeiriad y Pi arno, pwll DHCP a'r cynhyrfydd y mae'r cleientiaid yn ei gael. Cadwch yr amrediad hwnnw ar wahân i'r LAN uwch ac i amrediad tiwnel VPN, oherwydd mae isrwyddi gorgyffwrdd yn troi problem lwybro yn brosiect cyfieithu cyfeiriadau. Mae amrediad sy'n gorgyffwrdd â'r tiwnel yn gwneud y Pi yn lwybrydd damweiniol rhwng dau ragosodiad unfath. Ysgrifennwch yr amrediad a'r pwll i ffurfweddiad y sbot yn lle eu gadael i ragosodiad diofyn.
Os yw modd rhannu NetworkManager yn berchen ar y sbot, archwiliwch y cysylltiad effeithiol cyn ychwanegu gweinydd DHCP. Mae modd rhannu yn cychwyn ei gynorthwywyr ei hun ac yn galluogi anfon, felly mae eisoes yn berchennog y cynllun cyfeiriadau ar gyfer y rhyngwyneb hwnnw. Mae ychwanegu ail weinydd oherwydd ei fod ar gael yn creu cynigion cystadleuol yn hytrach nag ailgyflenwad.
Penderfynwch am IPv6 yn fwriadol. Mae hysbysiadau llwybrydd a DHCPv6 mewn llawer o drefniadau yn dod o gynorthwyydd gwahanol i DHCPv4, ac mae gadael IPv6 ymlaen tra bo polisi VPN yn cwmpasu IPv4 yn unig yn rhoi llwybr i gleientiaid sy'n osgoi'r tiwnel. Naill ai cynlluniwch ochr IPv6 neu ei analluogi ar ryngwyneb y sbot gyda rheswm ysgrifenedig.
Pwy sy'n ateb ar borth 53 mewn gwirionedd
Rhestrwch bob proses sy'n gwrando ar borth 53 cyn newid ffurfweddiad. Ar Pi sy'n rhedeg stub cynhyrfydd lleol, Pi-hole a chynorthwyydd rhannu, y rhestr wrando yw'r unig fap dibynadwy o pwy sy'n ateb ymholiadau:
sudo ss -lunpt '( sport = :53 )'
ip -4 addr show
ip routeMae canllaw rhyngwynebau Pi-hole yn esbonio y gall modd derbyn sy'n gyfyngedig i un rhyngwyneb ddefnyddio soced codennol o hyd a gwrthod dyfodiadau mewn mannau eraill. Nid yw hyn yr un peth â rhwymo rhyngwynebau dethol yn unig, sef y drefn a fwriedir pan fo'n rhaid i wasanaeth DNS arall rannu'r peiriant.
Yn arferol ni all dau broses rwymo'r un cyfeiriad a phorth, er y gall SO_REUSEPORT wneud rhwymiad rhannol yn llwyddiannus; hyd yn oed wedyn gall gwrandäwr codennol gymryd dyfodiadau a fwriadwyd ar gyfer y gwasanaeth culach. Dewiswch y modd dogfennol ar gyfer y rôl a ddymunwch ac ailgychwyn y gwasanaethau yn y drefn a fwriadwyd.
Cadwch dudalen weinyddu Pi-hole oddi ar rwydwaith y sbot. Mae cleientiaid angen cynhyrfydd, nid y rhyngwyneb gwe na'r API a all newid ffurfweddiad y cynhyrfydd.
Dwy goes DNS, un polisi yr un
Mae ymholiad cleient yn teithio o'r ffôn i'r Pi, ac mae ymholiad ar wahân yn teithio o'r Pi i'w cynhyrfydd uwch. Nid yw rheol lwybro sy'n cyfateb i draffig sbot a anfonir ymlaen yn gymwys yn awtomatig i'r ail goes, oherwydd mae'r Pi yn cynhyrchu'r traffig hwnnw'n lleol. Os yw'r VPN i fod i gario DNS, mae angen polisi ei hun ar y llwybr lleol.
Gwyliwch am ddolen. Mae pwyntio cynhyrfydd uwch Pi-hole at gyfeiriad y mae'r Pi ei hun yn ei wasanaethu, yn uniongyrchol neu drwy anfon porth, yn cynhyrchu ymholiadau sy'n cylchu nes iddynt ddod i ben. Rhowch gynhyrfydd uwch go iawn iddo neu anfonydd amodol ar gyfer y parthau na all eu hateb.
Penderfynwch beth sy'n digwydd pan fydd y tiwnel yn cwympo. Mae dychwelyd at y cynhyrfydd lleol yn cadw pori yn fyw ond gall ollwng enwau y tu allan i'r VPN; mae blocio yn cadw'r polisi'n gyfan ac yn troi'r methiant yn wall gweladwy. Mae'r naill ddewis a'r llall yn amddiffynadwy, ond rhaid ei ddewis yn hytrach na'i etifeddu o ragosodiad diofyn.
Profwch y llwybr a'r ymddygiad methiant
Profwch mewn haenau: mae'r cleient yn cael cyfeiriad, mae'r cleient yn datrys enw drwy'r Pi, mae'r Pi yn datrys drwy'r cynhyrfydd uwch a fwriadwyd, ac mae cymhwysiad yn cwblhau cais. Nid yw ping llwyddiannus yn dweud dim am DNS, ac nid yw chwiliad llwyddiannus yn dweud dim am anfon.
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.1Yna stopiwch y tiwnel ac ailadroddwch. Dylai'r ymddygiad a fwriadwyd ymddangos o fewn ychydig eiliadau, nid ar ôl ailgychwyn â llaw Pi-hole neu wasanaeth y sbot. Gwiriwch osodiad cynhyrfydd y cleient yn ystod y methiant, oherwydd bydd cynhyrfydd cyhoeddus eilaidd yn parhau i ateb hyd yn oed pan oedd y polisi'n disgwyl methiant.
Cadwch un perchennog ar gyfer anfon a NAT a'i wirio o gleient, nid o'r Pi ei hun. Mae cais sy'n gadael y Pi yn llwyddiannus yn dal i gael ei ollwng ar y ffordd yn ôl, a'r cleient yw'r unig le lle mae'r llwybr cyfan yn weladwy.