Jump to content

Network configuration (Magyar)

From ArchWiki
Fordítás állapota: Ez az oldal az angol Network configuration című oldal magyar nyelvre lefordított változata. Utolsó fordítás dátuma: 2026.07.18. Amennyiben a lefordítás időpontja óta az angol nyelvű oldalon történtek újabb módosítások, akkor Ön segíthet hozzászinkronizálni az angolhoz ezt a magyar nyelvű fordítást.

Ez a cikk azt írja le, hogy miként állíthatók be a hálózati kapcsolatok az OSI layer 3 és afeletti rétegeken. A közegspecifikus beállításokat az /Ethernet (Magyar) és /Wireless (Magyar) aloldalakon találja meg.

Ellenőrizze le a kapcsolatot

This article or section needs expansion.

Reason: A 4. lépés nem érthető pontosan. Az #Útválasztó táblázat lépés nem magyarázza el, hogy miként néz ki egy helyes beállítás. (Discuss in Talk:Network configuration (Magyar))

A hálózati kapcsolat hibaelhárítása érdekében tekintse át az alábbi feltételeket, és győződjön meg arról, hogy azok valóban teljesülnek:

  1. Az Ön hálózati interfésze megjelenik a listában és engedélyezve van. Ellenkező esetben ellenőrizze az illesztőprogramot – Részletekért tekintse meg a /Ethernet#Illesztőprogram vagy a /Wireless#Illesztőprogram című leírást.
  2. Ön csatlakozott a hálózathoz. A kábel be van dugva a helyére, vagy rá van csatlakozva a vezeték nélküli helyi hálózatra.
  3. Az Ön hálózati interfészének van IP-címe.
  4. Az Ön útválasztó táblázata megfelelően be van állítva.
  5. Ön pingelhet egy helyi IP-címet (pl. az Ön alapértelmezett átjáróját).
  6. Ön pingelhet egy nyilvános IP-címet (pl. 9.9.9.9, ami egy a Quad9 Foundation által üzemeltetett DNS-szerver, és a tesztelés számára egy kényelmes IP-cím).
  7. Ellenőrizze le, hogy fel tudja-e oldani a doménneveket (pl. archlinux.org).


Megjegyzés Ha a hálózat az operációs rendszer feltelepítése során megfelelően működik, de az újonnan feltelepített operációs rendszerben Ön már nem tud pingelni, annak ellenére sem, hogy a megfelelő hálózati szolgáltatások (pl. NetworkManager) telepítve vannak, akkor ellenőrizze, hogy a hálózat igényel-e eszközhitelesítést (pl. iskolai hálózatok esetén az eszközhitelesítés igénylése elő szokott fordulni). Ha tényleg az a helyzet, hogy a hálózat kéri az eszközhitelesítést, akkor várjon körülbelül 2 órát, majd próbálja újra a pingelést. A probléma oka az lehet, hogy az operációs rendszer feltelepítése után az operációs rendszer hostname neve eltér a telepítés során használt archiso értéktől, ami hitelesítési hibát okoz a hálózatnál, ezért az újonnan feltelepített operációs rendszerből érkező kapcsolódási kérelmek figyelmen kívül maradnak.

Ping

A ping nevű segédprogrammal tesztelhető, hogy a hálózatban elérhető-e egy host.

$ ping www.example.com
PING www.example.com (93.184.216.34) 56(84) bytes of data.
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=1 ttl=56 time=11.632 ms
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=2 ttl=56 time=11.726 ms
64 bytes from 93.184.216.34 (93.184.216.34): icmp_seq=3 ttl=56 time=10.683 ms
...

A visszaérkező minden egyes válasz után a ping segédprogram egy, a fentiekhez hasonló sort ír ki a képernyőre, egészen addig, amíg interaktív módon Ön meg nem szakítja (Ctrl+c) a ping futását. További információért tekintse meg a ping(8) man súgót. Vegye figyelembe, hogy a számítógépek beállíthatók úgy, hogy ne válaszoljanak az ICMP echo kérésekre (tehát ebben az esetben a megpingelt számítógépek nem fognak visszaválaszolni semmit) [1].

Amennyiben Ön hibaüzenetet kap (ezzel kapcsolatban tekintse meg a ping hibajelzései című leírást), vagy nem érkezik válasz, akkor a probléma összefügghet a hiányos beállítással, de a problémát az alapértelmezett átjáró vagy az internetszolgáltató (ISP) is okozhatja. A host géphez vezető útvonal további diagnosztizálása érdekében Ön lefuttathat egy traceroute parancsot.

Hálózat kezelése

A hálózati kapcsolat beállítása érdekében hajtsa végre a következő lépéseket:

  1. Győződjön meg arról, hogy az Ön hálózati intefésze szerepel a listában és engedélyezve van.
  2. Csatlakozzon a hálózathoz. Csatlakoztassa az Ethernet-kábelt, vagy csatlakozzon a vezeték nélküli LAN-hoz.
  3. Állítsa be a hálózati kapcsolatot:
Megjegyzés A telepítőlemez a következőt használja:

Manuális hálózatkezelés

iproute2

This article or section needs language, wiki syntax or style improvements. See Help:Style for reference.

Reason: Ez a szakasz nem illik a #Hálózat kezelése részbe – nem kezel semmit, csupán bemutatja az iproute2 szoftvercsomagot. (Discuss in Talk:Network configuration (Magyar))

Az iproute2 a base meta szoftvercsomag függősége, és biztosítja az ip(8) parancssori felületet, amely a hálózati interfészek, az #IP-címek és az útválasztási táblázat kezelésére szolgál. Ne feledje, hogy az ip használatával végzett beállítás a rendszer újraindítása után elvész. Tartósan megmaradó beállítások érdekében Ön az ip parancsokat szkriptek és systemd unit-fájlok segítségével automatizálhatja. Vegye figyelembe azt is, hogy az ip parancsok általában rövidíthetők, az egyértelműség kedvéért azonban ebben a cikkben teljes alakjukban szerepelnek.

Megjegyzés Az Arch Linux a net-tools szoftvercsomagot elavultnak nyilvánította az iproute2 javára [2]. Tekintse meg továbbá a Deprecated Linux networking commands and their replacements című leírást.

Statikus IP-cím

A statikus IP-cím a legtöbb szabványos hálózatkezelő alkalmazással és a dhcpcd szolgáltatással is beállítható.

Statikus IP-cím manuális, tehát kézi úton történő beállítása érdekében adjon meg egy IP-címet az #IP-címek című szakaszban leírtak szerint, állítsa be az Ön útválasztó táblázatát, majd állítsa be az Ön DNS szervereit.

IP-címek

Az IP-címek kezelése az ip-address(8) használatával történik.

IP-címek listázása:

$ ip address show

IP-cím hozzáadása egy interfészhez:

# ip address add address/prefix_len broadcast + dev interface
Jegyezze meg:
  • Az IP-cím CIDR-jelöléssel van megadva annak érdekében, hogy az alhálózati maszkot is tartalmazza az IP-cím.
  • A + jel egy speciális szimbólum, amely arra utasítja az ip parancsot, hogy az IP-címből és az alhálózati maszkból képezze a szórási címet.
Megjegyzés Ügyeljen arra, hogy a manuálisan hozzárendelt IP-címek ne ütközzenek a DHCP által kiosztott IP-címekkel.

IP-cím törlése az interfészről:

# ip address del address/prefix_len dev interface

A feltételeknek megfelelő összes IP-cím törlése, pl. egy specifikus interfészről:

# ip address flush dev interface
Tipp Az IPv4-címek kiszámíthatók az ipcalc segítségével (ipcalc).

Útválasztó táblázat

Az útválasztó táblázat annak meghatározására szolgál, hogy Ön közvetlenül el tud-e érni egy IP-címet, vagy melyik átjárót (útválasztót) kell Önnek használnia. Ha egyetlen más útvonal sem felel meg az IP-címnek, akkor az alapértelmezett átjáró lesz használva.

Az útválasztó táblázat az ip-route(8) segítségével kezelhető.

A PREFIX vagy egy CIDR-jelölés, vagy az alapértelmezett átjáró esetén a default megjelölés szokott lenni.

IPv4 útvonalak listázása:

$ ip route show

IPv6 útvonalak listázása:

$ ip -6 route show

Útvonal hozzáadása:

# ip route add PREFIX via address dev interface

Útvonal törlése:

# ip route del PREFIX via address dev interface

Automatikus hálózatkezelés

This article or section needs expansion.

Reason: Magyarázza el a SLAAC működését. (Discuss in Talk:Network configuration (Magyar))

Az automatikus hálózati beállítás a dinamikus állomásbeállítási protokoll (Dynamic Host Configuration Protocol, DHCP) használatával valósul meg. A hálózat DHCP-szervere IP-cím(eke)t, az alapértelmezett átjáró IP-címét/IP-címeit, valamint opcionálisan DNS-névszervereket is biztosít a DHCP-kliens kérése esetén.

Tekintse meg a Router#DNS and DHCP című leírást a DHCP-szerverek összehasonlító táblázatáért.

Hálózatkezelő alkalmazások

Egy hálózatkezelő segédprogram (angolul "network manager") lehetővé teszi a hálózati kapcsolat beállításainak úgynevezett hálózati profilokban történő kezelését a hálózatok közötti váltás megkönnyítése érdekében.

Tipp Ellenőrizheti, hogy fut-e DHCPv4-szerver a dhcping használatával.
Megjegyzés Minden hálózati csatolót csak egy DHCP-kliensnek vagy hálózatkezelő segédprogramnak kell kezelnie, ezért ajánlott, hogy Ön az operációs rendszeren csak egy DHCP-klienst vagy hálózatkezelő segédprogramot futtasson.
Szoftver Kapcsolat tipusa Vezeték nélküli hitelesítés IP-cím, útvonalkelés és DNS-kezelés Interfész
Ethernet PPPoE Mobil széles sáv Statikus IP DHCP kliens Domain name resolution CLI TUI GUI
dhclient1 Igen Nem Nem Nem2 Igen Belső Igen (writes /etc/resolv.conf) Nem Nem Nem
dhcpcd Igen Nem Nem Elindítja a wpa_supplicant programot.3 Igen Belső Igen. (A resolvconf programot használja vagy írja a /etc/resolv.conf fájlt.) Nem Nem dhcpcd-uiAUR
ConnMan Igen Nem Igen. (Az ofonoAUR által.) Igen. (A wpa_supplicant vagy az iwd által.) Igen Belső Igen. (Futtat egy névfeloldót és írja a /etc/resolv.conf fájlt.) connmanctl(1) Igen Igen
netctl Igen Igen. (A ppp által.) Igen. (A ppp által.) Igen. (A wpa_supplicant által.) Igen dhcpcd vagy dhclient Igen. (A resolvconf programot használja.) netctl(1) wifi-menu(1)4 Nem
NetworkManager Igen Igen. (A ppp által.) Igen. (A modemmanager által.) Igen. (A wpa_supplicant vagy iwd által.) Igen Belső. dhclient vagy dhcpcd5 Igen. (A systemd-resolved, resolvconf használja, vagy írja a /etc/resolv.conf fájlt.) nmcli(1) nmtui(1) Igen
systemd-networkd Igen Nem Nem Nem2 Igen Belső Igen. (A systemd-resolved programot használja.) networkctl(1) Nem Nem
wpa_supplicant IEEE 802.1X hitelesítés Nem Nem Igen Nem wpa_cli(8) Nem wpa_supplicant_guiAUR
iwd IEEE 802.1X hitelesítés Nem Nem Igen Igen Belső Igen (A systemd-resolved vagy a resolvconf programot használja.) iwctl(1) impala iwgtkAUR
  1. 2022 eleje óta már nincs karbantartva. Az ISC azt javasolja, hogy éles (production) környezetben senki se használja.
  2. A vezeték nélküli (Wi-Fi) hitelesítés beállítható külön a wpa_supplicant vagy az iwd segítségével.
  3. A vezeték nélküli (Wi-Fi) hitelesítést külön kell beállítani a wpa_supplicant használatával.
  4. Kizárólag a Wi-Fi kapcsolatok kezelhetők.
  5. A NetworkManager nem a dhcpcd programot használja DHCPv6 protokollhoz. Tekintse meg a NetworkManager#DHCP client című leírást.

Hálózati interfészek

A hálózati interfészeket az udev kezeli, és a systemd.link(5) fájlok állítják be. Az alapértelmezett beállítás az Ön hálózati interfészvezérlőihez a neveket a Predictable Network Interface Names használatával rendeli hozzá, amely az interfészneveket az en (vezetékes/Ethernet), wl (vezeték nélküli/WLAN) vagy ww (mobil szélessávú/WWAN) előtaggal látja el. Részletekért tekintse meg a systemd.net-naming-scheme(7) man súgót.

Tipp
  • A rendszer /usr/lib/systemd/network/99-default.link fájlja általában elegendő a legtöbb esetben.
  • Az interfésznevek módosításával kapcsolatban tekintse meg az #Interfésznév módosítása és #Visszatérés a hagyományos interfésznevekhez című leírásokat.
  • Ön az udevadm test-builtin net_setup_link /sys/elérési/útvonal/a/hálózati/eszközhöz parancsot rendszergazdaként futtathatja a .link fájlokkal kapcsolatos problémák diagnosztizálása érdekében.
Megjegyzés
  • Amennyiben a rendszer firmware programja úgy dönt, hogy újraszámozza az eszközöket, akkor a kiszámítható hálózati interfésznevek megváltozhatnak egy PCIe eszköz hozzáadása vagy eltávolítása után. Ezzel kapcsolatban tekintse meg a systemd issue 33347 című leírást.
  • Az iwd szoftvercsomag tartalmaz egy .link fájlt, amely letiltja a kiszámítható hálózati interfészneveket. Már a szoftvercsomag számítógépre történő feltelepítése is megakadályozza azt, hogy bármely hálózati interfész kiszámítható névre legyen átnevezve. Tekintse meg az iwd#Nem nevezi át az udev a vezeték nélküli hálózati eszközt című leírást.

Hálózati interfészek listázása

Mind a vezetékes, mind a vezeték nélküli interfésznevek megtekinthetők az ls /sys/class/net vagy az ip link parancs segítségével. Vegye figyelembe, hogy a lo a virtuális loopback interfész, és nem használható hálózati kapcsolatok létrehozására.

A vezeték nélküli eszközök nevei az iw dev paranccsal is lekérdezhetők. Ezzel kapcsolatban tekintse meg a /Wireless#Szerezze meg az interfész nevét című leírást.

Ha a hálózati interfész nem szerepel a listában, akkor győződjön meg afelől, hogy az eszköz illesztőprogramja valóban sikeresen be lett töltve a számítógép memóriájába. Részletekért tekintse meg a /Ethernet#Illesztőprogram vagy /Wireless#Illesztőprogram című leírást.

Hálózati interfészek engedélyezése és letiltása

A hálózati interfészek az ip link set interfész up|down paranccsal engedélyezhetők vagy tilthatók le. Ezzel kapcsolatban tekintse meg az ip-link(8) man súgót.

Az enp2s0 interfész állapotának ellenőrzése érdekében:

$ ip link show dev enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN mode DEFAULT qlen 1000
...

A <BROADCAST,MULTICAST,UP,LOWER_UP> részben szereplő UP azt jelzi, hogy az interfész engedélyezve van, tehát nem a később szereplő state DOWN jelölés jelzi az engedélyezettség állapotát.

Megjegyzés Ha az alapértelmezett útvonal keresztül vezet az enp2s0 interfészen, akkor az interfész letiltása az útvonalat is eltávolítja, és az újbóli engedélyezése nem állítja helyre automatikusan az alapértelmezett útvonalat. Az újbóli beállításával kapcsolatban tekintse meg az #Útválasztó táblázat című leírást.

Interfésznév módosítása

This article or section needs expansion.

Reason: Javasolja egy alternatív név (altname) használatát, vagy egy ilyen hozzárendelését, a felületnév megváltoztatásának alternatívájaként. (Discuss in Talk:Network configuration (Magyar))
Megjegyzés A névadási séma módosításakor ne feledje el frissíteni az összes hálózattal kapcsolatos beállításfájlt és az egyéni systemd unit fájlokat annak érdekében, hogy azok tükrözzék a változtatást.

Az eszköz nevét megváltoztathatja a név manuális úton történő megadásával egy systemd.link(5) fájlban. A fájlnak lexikográfiai sorrendben a 99-default.link előtt kell lennie. Például:

/etc/systemd/network/10-net0.link
[Match]
PermanentMACAddress=aa:bb:cc:dd:ee:ff

[Link]
Name=net0

Alternatív megoldásként használható egy udev szabály is:

/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="aa:bb:cc:dd:ee:ff", NAME="net0"

Ezek a szabályok a számítógép bootolásakor automatikusan alkalmazásra kerülnek. A módosítás azonnali alkalmazása érdekében indítsa el Ön kézzel az udev szabályt a net alrendszeren:

# udevadm trigger --verbose --subsystem-match=net --action=add

Amennyiben Ön tesztelni szeretné a végrehajtott módosításokat, akkor az udevadm --debug test /sys/class/net/* hasznos lehet.

Megjegyzés
  • A Name prioritása alacsonyabb, mint a NamePolicy értéké, ezért győződjön meg arról, hogy az utóbbi nincs beállítva vagy üresen van hagyva, különben a név nem fog megváltozni.
  • A hálózati csatolónak leállított állapotban kell lennie, mielőtt Ön megváltoztatná a nevét. [3]
  • Az egyes kártyák MAC-címének lekérdezése érdekében futtassa az ip link parancsot.
  • Ügyeljen arra, hogy az udev szabályokban a MAC-cím hexadecimális értékeit kisbetűsen használja, mivel a nagybetűs formátum nem lesz elfogadva.

Ha a hálózati kártya dinamikus MAC-címmel rendelkezik, akkor használhatja a Path értéket (amely a networkctl status interfészneve paranccsal ellenőrizhető):

/etc/systemd/network/10-net1.link
[Match]
Path=pci-0000:01:00.0

[Link]
Name=net1

Vagy használjon egy udev szabályt a DEVPATH segítségével:

/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", DEVPATH=="/devices/pci*/*1c.0/*/net/*", NAME="net1"

Az összes jelenleg csatlakoztatott eszköz DEVPATH értékének lekérdezése érdekében nézze meg, hogy a /sys/class/net/ könyvtárban található szimbolikus linkek hová vezetnek. Például:

$ file /sys/class/net/*
/sys/class/net/enp0s20f0u4u1: symbolic link to ../../devices/pci0000:00/0000:00:14.0/usb2/2-4/2-4.1/2-4.1:1.0/net/enp0s20f0u4u1
/sys/class/net/enp0s31f6:     symbolic link to ../../devices/pci0000:00/0000:00:1f.6/net/enp0s31f6
/sys/class/net/lo:            symbolic link to ../../devices/virtual/net/lo
/sys/class/net/wlp4s0:        symbolic link to ../../devices/pci0000:00/0000:00:1c.6/0000:04:00.0/net/wlp4s0

Az eszközútvonalnak az új és a régi eszköznévre is illeszkednie kell, mivel a szabály a számítógép bootolásakor egynél többször is végrehajtódhat. Például a megadott szabályban a "/devices/pci*/*1c.0/*/net/en*" helytelen lenne, mivel a név net1 értékre történő módosítása után már nem fog illeszkedni. Ekkor csak a rendszer alapértelmezett szabálya hajtódik végre másodszorra, ami miatt a név visszaállna.

Amennyiben Ön olyan USB hálózati eszközt használ (például Android telefon internetmegosztását), amely dinamikus MAC-címmel rendelkezik, és szeretné, hogy különböző USB-portokat is használhasson, akkor használhat olyan szabályt, amely helyette a gyártóazonosító és modellazonosító alapján illeszkedik:

/etc/systemd/network/20-net2.link
[Match]
Property=ID_VENDOR_ID=12ab ID_MODEL_ID=3cd4

[Link]
Name=net2

vagy

/etc/udev/rules.d/10-network.rules
SUBSYSTEM=="net", ACTION=="add", ATTRS{idVendor}=="12ab", ATTRS{idProduct}=="3cd4", NAME="net2"
Megjegyzés Statikus nevek választásakor kerülni kell az "ethX" és "wlanX" formátumú nevek használatát, mert ez a számítógép bootolása közben versenyhelyzetekhez vezethet a kernel és az udev között. Ehelyett célszerű olyan interfészneveket használni, amelyeket a kernel alapértelmezés szerint nem szokott használni. Például: net0, net1, wifi0, wifi1. További részletekért tekintse meg a systemd dokumentációját.

Visszatérés a hagyományos interfésznevekhez

Amennyiben Ön továbbra is inkább a hagyományos interfészneveket, például az eth0 elnevezést szeretné megtartani, akkor a Predictable Network Interface Names letiltható az udev net_setup_link beépített moduljának alapértelmezett NamePolicy értékének megváltoztatása által:

/etc/systemd/network/99-default.link.d/traditional-naming.conf
[Link]
NamePolicy=keep kernel

Alternatív megoldásként a net_setup_link teljesen letiltható a hozzá tartozó udev-szabály elmaszkolása által:

# ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules

vagy a kernelparaméterekhez hozzáadva a net.ifnames=0 értéket.

Megjegyzés A systemd.link(5) a net_setup_link elemre támaszkodik a működés érdekében. Ön inkább az első megközelítést használja, kivéve, amikor teljesen tisztában van azzal, hogy mit csinál.

Eszköz MTU paraméterének és várakozási sorhosszának beállítása

The factual accuracy of this article or section is disputed.

Reason: Egy 30-mtu.link fájl létrehozása azt jelenti, hogy a 99-default.link nem lesz alkalmazva. (Discuss in Talk:Network configuration (Magyar))

Az eszköz MTU paraméterét és várakozási sorhosszát Ön manuális úton meghatározhatja egy systemd.link(5) beállítás által. Például:

/etc/systemd/network/30-mtu.link
[Match]
Type=wlan

[Link]
MTUBytes=1500
TransmitQueueLength=2000

Vagy egy udev szabályon keresztül:

/etc/udev/rules.d/10-network.rules
ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", ATTR{mtu}="1500", ATTR{tx_queue_len}="2000"

MTUBytes: Az 1500-nál nagyobb érték (úgynevezett jumbo frame -óriáskeret- ) használata jelentősen felgyorsíthatja a hálózati átviteleket. Vegye figyelembe, hogy minden hálózati interfésznek, beleértve a helyi hálózat kapcsolóit is, ugyanazt az MTU paramétert kell támogatnia a jumbo frame (óriáskeretek) használata érdekében. PPPoE esetén az MTU nem lehet nagyobb 1492 értéknél. Az MTU paramétert a systemd.netdev(5) segítségével is beállíthatja.

TransmitQueueLength: Kis érték javasolt a lassabb, nagy késleltetésű eszközökhöz, például modemes kapcsolatokhoz és ISDN-hez. Nagy érték ajánlott a nagy sebességű internetkapcsolaton keresztül csatlakozó szerverekhez, amelyek nagy mennyiségű adatátvitelt szoktak végezni.

Számítógép nevének a beállítása

A számítógép neve (Idétlen magyar megfogalmazással "állomásnév", de szokták még rendesebben "gépnév"-ként is említeni. Angolul hostname) egy egyedi név, amelyet egy hálózaton lévő számítógép azonosítása érdekében hoztak létre, és amely a /etc/hostname fájlban van beállítva. A részletekért tekintse meg a hostname(5) és a hostname(7) man súgókat. A fájl tartalmazhatja a rendszer tartománynevét is, amennyiben létezik tartománynév. A hostname beállítása érdekében szerkessze a /etc/hostname fájlt úgy, hogy a fájl csak egyetlen sort tartalmazzon a következővel: azönhostnameje:

/etc/hostname
azönhostnameje
Tipp A hostname kiválasztásával kapcsolatos tanácsokért tekintse meg az RFC 1178 dokumentumot.

Alternatív megoldásként a hostnamectl(1) használatával is megadható a hostname:

# hostnamectl hostname azönhostnameje

A hostname ideiglenes beállítása érdekében használja az inetutils szoftvercsomagból származó hostname(1) parancsot (a beállítás a számítógép újraindításáig marad csak meg):

# hostname azönhostnameje

A "szépen kinéző" hostname és egyéb gépi metaadatok beállítása érdekében tekintse meg a machine-info(5) man súgót.

Helyi hálózatban lévő hostname feloldása

Annak érdekében, hogy az Ön számítógépe a helyi hálózaton (LAN) a hosname néven keresztül elérhető legyen, a következőket teheti:

  • Szerkessze a /etc/hosts fájlt a helyi hálózat minden egyes számítógépén. Részletekért tekintse meg a hosts(5) man súgót.
  • Állítson be egy DNS szervert a hostname feloldása érdekében, és állítsa be a LAN hálózaton rajta lévő számítógépeket a DNS szerver használatára. (Például megteheti ezt a DHCP segítségével.)
  • Vagy az egyszerűbb módszer: Használjon egy nulla beállítást igénylő hálózati szolgáltatást:
    • Hostname feloldás a Microsoft NetBIOS szolgáltatásán keresztül. Linux rendszeren a Samba biztosítja. Ehhez csak az nmb.service szükséges. A Windows, macOS vagy Linux rendszert futtató számítógépek, amelyeken az nmb fut, képesek lesznek megtalálni az Ön számítógépét a helyi hálózaton.
    • Hostname feloldás mDNS segítségével. Ezt vagy az Avahi által biztosított nss_mdns (a beállítás részleteiért tekintse meg az Avahi#Hostname resolution című leírást) vagy a systemd-resolved biztosítja. Azok a számítógépek, amelyeken macOS, illetve Avahi vagy systemd-resolved rendszert futtató Linux működik, képesek lesznek megtalálni az Ön számítógépét. A régebbi Win32 API nem támogatja az mDNS protokollt, ami megakadályozhatja azt, hogy egyes régebbi Windows-alkalmazások hozzáférjenek az Ön számítógépéhez.

Tippek és trükkök

Bonding or LAG

Tekintse meg a netctl vagy systemd-networkd, illetve Vezeték nélküli összekapcsolás című leírásokat.

IP-cím aliaszolás

Az IP-aliaszolás az a folyamat, amely során egynél több IP-címet adnak hozzá egy hálózati interfészhez. Ennek segítségével egy hálózaton lévő csomópont több kapcsolattal rendelkezhet egy hálózathoz, amelyek mindegyike eltérő célt szolgál. Tipikus felhasználási módjai a webszerverek és FTP szerverek virtuális tárhelyszolgáltatása, illetve a szerverek átszervezése anélkül, hogy bármely más számítógépet frissíteni kellene (ez különösen hasznos névszerverek esetén).

Példa

Annak érdekében, hogy valamely hálózati kártyán egy alias manuális úton legyen beállítva, használja az iproute2 szoftvercsomagot, és futtassa a következő parancsot:

# ip addr add 192.168.2.101/24 dev enp2s0 label enp2s0:1

Egy adott alias eltávolítása érdekében hajtsa végre a következőt:

# ip addr del 192.168.2.101/24 dev enp2s0:1

Egy alhálózatnak szánt adatcsomagok alapértelmezés szerint az elsődleges aliast fogják használni. Ha a cél IP-cím egy másodlagos alias alhálózatán belül található, akkor a forrás IP-cím ennek megfelelően kerül beállításra. Vegye figyelembe azt az esetet, amikor egynél több hálózati kártya van, az alapértelmezett útvonalak az ip route paranccsal listázhatók.

Promiszkuitív mód

A promiszkuitív mód (kevert mód) bekapcsolása egy (vezeték nélküli) hálózati kártyát arra késztet, hogy az összes általa fogadott forgalmat továbbítsa az operációs rendszernek további feldolgozás céljából. Ez ellentétes a "normál móddal", amelyben a hálózati kártya eldobja azokat a kereteket, amelyeket nem neki szántak. Leggyakrabban fejlett hálózati hibaelhárításhoz és az éterben lévő csomagok szimatolásához használják. Wi-Fi, GSM és egyéb hálózatot lehallgató/feltörő hackereknek ez és a monitor mód kell. Ilyen módot és a monitor módot támogató (Wi-Fi, GSM, stb.) kártya beszerzése az első lépés. Hasznos munkát! ;) .

/etc/systemd/system/promiscuous@.service
[Unit]
Description=Set %i interface in promiscuous mode
After=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/ip link set dev %i promisc on
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

Amennyiben Ön engedélyezni szeretné a promiszkuitív módot az enp2s0 interfészen, akkor engedélyezze a promiscuous@enp2s0.service szolgáltatást.

Szoftvercsatornák vizsgálata

Az ss egy segédprogram a hálózati portok vizsgálatára. Az iproute2 szoftvercsomag részét képezi. Hasonló funkcionalitással rendelkezik, mint az elavult netstat segédprogram.

Gyakori használatai:

Az összes TCP szoftvercsatorna (socket) megjelenítése szolgáltatásnevekkel:

$ ss -at

Az összes TCP szoftvercsatorna (socket) megjelenítése portszámokkal:

$ ss -atn

Az összes UDP szoftvercsatorna (socket) megjelenítése:

$ ss -au

További információkért tekintse meg az ss(8) man súgót.

Hibaelhárítás

A TCP ablakméretezési probléma

A TCP-csomagok a fejlécükben egy "ablak" értéket tartalmaznak, amely azt jelzi, hogy a másik számítógép mennyi adatot küldhet vissza. Ezt az értéket mindössze 16 biten ábrázolják, ezért az ablakméret legfeljebb 64 KiB lehet. A TCP-csomagokat egy ideig gyorsítótárazni kell (újra kell őket rendezniük), és mivel a memória korlátozott (vagy korábban az volt), egy számítógép könnyen kifogyhatott belőle.

1992-ben, ahogy egyre több memória vált elérhetővé, az RFC:1323 dokumentumot azért írták meg, hogy javítsák a helyzetet: Ablakméretezés. Az "ablak" értékét, amely minden csomagban szerepel, egy egyszer, a kapcsolat legelején meghatározott méretezési tényező fogja módosítani. Ez a 8 bites méretezési tényező lehetővé teszi, hogy az ablak akár 32-szer nagyobb legyen a kezdeti 64 KiB mérethez értéknél.

Úgy tűnik, hogy néhány hibás útválasztó és tűzfal az interneten 0 értékre írja át a méretezési tényezőt, ami félreértéseket okoz az gépek között. A Linux kernel 2.6.17 egy új számítási sémát vezetett be, amely magasabb méretezési tényezőket állít elő, így gyakorlatilag láthatóbbá téve a hibás útválasztók és tűzfalak következményeit.

Az így létrejövő kapcsolat legjobb esetben is nagyon lassú, vagy megszakad.

Probléma diagnosztizálása

Először is tegyük egyértelművé: Ez a probléma szokatlan. Egyes esetekben Ön egyáltalán nem lesz képes TCP-kapcsolatokat (HTTP, FTP, ...) használni, más esetekben pedig képes lesz kommunikálni néhány géppel (nagyon kevéssel).

Amikor ez a probléma fennáll, a dmesg kimenete rendben van, a naplók tiszták, és az ip addr normális állapotot fog jelenteni... és valójában minden normálisnak tűnik.

Ha Ön nem tud egyetlen webhelyet sem böngészni, de néhány véletlenszerű állomást meg tud pingelni, akkor nagy az esélye annak, hogy ezt a problémát tapasztalja: A ping az ICMP-t használja, és nem érintik a TCP-problémák.

Megpróbálhatja használni a Wireshark programot. Sikeres UDP-kommunikációt és ICMP-kommunikációt láthat, de sikertelen TCP-kommunikációt láthat (csak külső állomások felé).

Ways of fixing it

Rossz de néha működő megoldás

A rossz megoldással történő javítás érdekében Ön megváltoztathatja a tcp_rmem értéket, amelyen a méretezési tényező számítása alapul. Bár ez a legtöbb állomás esetében működhet, nem garantált megoldás, különösen a nagyon távoli állomások esetében.

# sysctl -w net.ipv4.tcp_rmem="4096 87380 174760"
Jó megoldás

Egyszerűen tiltsa le az ablakméretezést. Mivel az ablakméretezés egy hasznos TCP-funkció, a letiltása kényelmetlen lehet, különösen akkor, ha nem tudja kijavítani a hibás útválasztót. Az ablakméretezés letiltására többféle mód is létezik, és úgy tűnik, hogy a legbiztosabb módszer (amely a legtöbb kernellel működni fog) az, ha hozzáadja a következő sort a /etc/sysctl.d/99-disable_window_scaling.conf fájlhoz (tekintse meg továbbá a sysctl című leírást is) :

net.ipv4.tcp_window_scaling = 0
Legjobb megoldás

Ezt a problémát hibás útválasztók/tűzfalak okozzák, ezért változtassuk meg ezeket. Néhány felhasználó arról számolt be, hogy a hibás útválasztó a saját DSL-útválasztójuk volt.

További információk

Ez a szakasz az LWN TCP window scaling and broken routers című cikkén és a Kernel Trap archivált cikkén alapul: Window Scaling on the Internet.

Az LKML-en is több kapcsolódó beszélgetés található.

Lokális hostname feloldása a hálózaton keresztül történik

nss-myhostname(8) (egy NSS modul, amelyet a systemd biztosít, és alapértelmezés szerint engedélyezve van az /etc/nsswitch.conf fájlban) biztosítja a localhost és a helyi hostname IP-címre történő feloldását. Egyes szoftverek azonban továbbra is közvetlenül az /etc/hosts fájlt olvashatják. Példákért tekintse meg ezeket: [4] [5].

Az ilyen szoftverek számára a lokális hostname hálózaton keresztüli nem biztonságos feloldásának megakadályozása érdekében adjon hozzá egy bejegyzést a hosts(5) fájlhoz:

/etc/hosts
127.0.0.1        localhost
::1              localhost
127.0.1.1        azönhostnameje

Állandó IP-címmel rendelkező rendszer esetén cserélje le az 127.0.1.1 értéket arra az állandó IP-címre. Teljes értékű tartománynévvel rendelkező rendszer esetén illessze be a teljes értékű tartománynevet a hostname elé (az indoklásért tekintse meg a következő linket: [6]). Például:

/etc/hosts
127.0.0.1        localhost
::1              localhost
203.0.113.45     host1.fqdomain.example host1
Megjegyzés Fontos az IP-címet követő hostname-k/aliaszok sorrendje az /etc/hosts fájlban. Az első karakterlánc tekinthető a kanonikus hostname-nek, és kiegészíthető szülőtartományokkal, ahol a tartomány-összetevőket pont választja el egymástól. Ugyanazon a soron az összes további karakterlánc aliaszának tekintendő. További információért tekintse meg a hosts(5). man súgót.

További olvasnivaló a témában