GNU/Linux >> Znalost Linux >  >> Linux

Linux networking - Podivný malý problém s DNS, DHCP

Víte, jak poznáte, že máte vtipný problém s Linuxem? Když vám vymýšlení vhodného názvu článku zabere více času než samotné ladění. Protože jsem se setkal s poněkud bizarním problémem souvisejícím se sítí a chvíli jsem se snažil zjistit, co dává. Vyřešil jsem to a teď to sdílím.

V podstatě se tak stalo. Zjistil jsem, že testuji nějaké nové routery. V mé instanci KDE neon jsem se připojil k novému bezdrátovému přístupovému bodu a pokusil se procházet. Nic. Zkoušel jsem to s kabelem a vše bylo v pořádku. Poté jsem na tomto počítači s osmi spouštěcími systémy zavedl jinou instanci Linuxu a bezdrátové připojení fungovalo bez problémů. Oba systémy byly založeny na Ubuntu, oba používaly základní verzi 18.04. No, je čas zjistit, proč se moje bezdrátová síť nechovala v neonu.

Problém podrobněji

Abych lépe porozuměl problému, zkusil jsem provést základní ping. To vám dá dobrou indikaci, zda se skutečně můžete dostat ke vzdáleným hostitelům, a navíc vám poskytne představu o tom, zda je váš DNS správně nastaven. Okamžitě jsem si všiml problému:

Od 192.168.2.107 (192.168.2.107) icmp_seq=1 Cílový hostitel nedosažitelný
Od 192.168.2.107 (192.168.2.107) icmp_seq=2 Cílový hostitel 8191929210 nedosažitelný.0 Cílový hostitel je nedosažitelný

Pokus o ping na JAKOUKOLIV adresu (řekněme dedoimedo.com) by se vyřešil na 192.168.2.107. Horší je, že rozsah přístupového bodu byl 192.168.8.X. Takže něco bylo napevno zakódováno do tohoto odlišného vnitřního rozsahu a rušilo můj Internetz. Podařilo se mi to potvrdit kontrolou směrovací tabulky:

route
Směrovací tabulka IP jádra
Cílová brána Genmask Flags Metric Ref Use Iface
výchozí 192.168.2.1 0.0.0.0 UG 303 0 0 wlp2s0
link-local 0.0.0.0 5.05.2. U 1000 0 0 wlp2s0
192.168.2.0 0.0.0.0 255.255.255.0 U 303 0 0 wlp2s0
192.168.8.0 0.0.0.0 2255.0 P w 0.0.0.0 2255.0 255.00 P.

Z nějakého ošklivého důvodu, kdykoli bych se připojil k síti 192.168.8.0, byla také přidána síť 192.168.2.0 - a nastavena jako výchozí brána, což vysvětluje, proč neexistovala žádná konektivita. Ale to se stalo pouze s bezdrátovým adaptérem a ne s kabelovým. Nápověda, přímo tam. Nejprve však vynechme několik dalších možností.

Systémové řešení

V tomto bodě, nebo spíše těsně před tímto bodem, jsem byl nakloněn obviňovat systemd. Ale ukázalo se, že na tom není nic špatného. Nyní v něm byly/jsou chyby, což je důvod, proč to přijde docela vysoko, pokud hledáte nějaké problémy s připojením v Linuxu. Abych se ujistil, že to nebyl viník, zakázal jsem to:

sudo systemctl vypnout systemd-resolved
sudo systemctl stop systemd-resolved

Také jsem odstranil symbolický odkaz /etc/resolv.conf a upravil konfiguraci spravovanou sítí:

/etc/NetworkManager/NetworkManager.conf

V sekci [hlavní] jsem přidal:

dns=výchozí

Zatím bez rozdílu. Musíme jít dál.

Správce sítě

Dalším možným padouchem může být Správce sítě. Abych si ověřil, že to nedělá něco zvláštního, smazal jsem všechny uložené konfigurace bezdrátového připojení, smazal jsem jeho konfigurační soubor, restartoval a začal znovu. Ani to neznamenalo žádný rozdíl. Další viník.

Řešení

Vidíme, že nemůžeme vinit DNS nebo Network Manager. Můžeme také vidět, že je nakonfigurována špatná brána pokaždé, když jsem se připojil k síti jiné než 192.168.2.0. S největší pravděpodobností to naznačuje něco v konfiguraci DHCP - automatické (statické) přidělování IP adres. Opravdu, možná někde existuje statické pravidlo? Hle, bylo! Pod /etc/dhcpcd.conf jsem měl následující:

...
slaac private
rozhraní wlp2s0
static ip_address=192.168.2.107/24
statické routery=192.168.2.1
static domain_name_servers=127.0.0.1
...

Něco – a to frázi používám vágně – nakonfigurovalo statickou IP adresu a router, proto ten problém. A pak jsem si dokázal vzpomenout, co to bylo zač. Před časem jsem testoval Pi-Hole na této krabici. A po jeho odstranění zřejmě nebyla konfigurace vyčištěna. Všechny různé části byly pryč, ale ne konfigurace DHCP. Není to problém, když používáte síť, která odpovídá statickému směrování, ale velký problém, když zkoušíte jiný rozsah. Jakmile jsem smazal dva záznamy pro bezdrátové rozhraní, bylo vše v pořádku! Problém vyřešen.

Závěr

Je docela možné, že se s takovým problémem nikdy nesetkáte. Ale pokud to uděláte, dělejte ukvapené závěry, nesmíte a měli byste pracovat opatrně, metodicky. Musím přiznat, že jsem měl hned podezření na systemd, ale pak jsem pomalu zkoumal různé komponenty v síťovém zásobníku, dokud jsem záporáka izoloval. Jak se ukázalo, odinstalovaný software zanechal v systému změny konfigurace, které způsobily problém. Ještě horší je, že se to stalo o mnoho měsíců později, takže spojení těchto dvou není vždy triviální.

Doufejme, že jste získali přehled o tom, jak řešit problémy se sítí. Začněte jednoduše, zkontrolujte základní konektivitu, pokuste se porovnat informace a poté se propracujte ke kořenové příčině. Zde jsem měl internet jako takový, ale kvůli špatně nakonfigurovaným trasám jsem se nemohl dostat na správné webové stránky - nebo správně vyřešit adresy. To vás může vyvést z míry, ale pak jsem z rovnice vyloučil systemd, zjistil jsem, že to nebyl správce sítě, kdo nedělal nic špatného, ​​a nakonec jsem se zaměřil na přidělení statické IP/trasy DHCP. No, jestli to pomůže, kup mi někdy někde virtuální nápoj. Jsme hotovi. ACK.


Linux
  1. DNS cache v linuxu

  2. Podmíněné předávání DNS s názvem na Linuxu

  3. Zaregistrujte záznamy A pro můj linuxový box na mém serveru DNS/DHCP systému Windows 2008

  1. Jak opravit trhání videa v Linuxu (s grafikou Intel)

  2. Máte skutečný problém se sítí Systemctl?

  3. Jak zaregistruji server Linux se serverem Windows DNS

  1. Nainstalujte Linux pomocí LVM

  2. Nahradit du prachem v Linuxu

  3. Zjistěte DNS server pro připojení DHCP v Linuxu