Network configuration (Magyar)
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
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:
- 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.
- Ö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.
- Az Ön hálózati interfészének van IP-címe.
- Az Ön útválasztó táblázata megfelelően be van állítva.
- Ön pingelhet egy helyi IP-címet (pl. az Ön alapértelmezett átjáróját).
- Ö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). - Ellenőrizze le, hogy fel tudja-e oldani a doménneveket (pl.
archlinux.org).
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:
- Győződjön meg arról, hogy az Ön hálózati intefésze szerepel a listában és engedélyezve van.
- Csatlakozzon a hálózathoz. Csatlakoztassa az Ethernet-kábelt, vagy csatlakozzon a vezeték nélküli LAN-hoz.
- Állítsa be a hálózati kapcsolatot:
- A legtöbb hálózat a Dynamic Host Configuration Protocol (DHCP) protokollt használja a hálózat beállításához. Az ügyfelek automatikusan szerezhetnek dinamikus vagy statikus IP-címet a DHCP szervertől önálló DHCP-ügyfél vagy hálózatkezelő használatával.
- Ha a hálózaton nincs DHCP-kiszolgáló, akkor Ön manuálisan is beállíthat statikus IP-címet, útválasztási táblát és DNS-kiszolgálókat minden egyes ügyfél számára. A részletekért tekintse meg a #Statikus IP-cím című szakaszt.
- A systemd-networkd szolgáltatást, amely DHCP-ügyfélként van beállítva Ethernet-, WLAN- és WWAN-hálózati csatolókhoz.
- A systemd-resolved szolgáltatást a rendszerszintű DNS számára. Tekintse meg a systemd-resolved#DNS című leírást.
Manuális hálózatkezelés
iproute2
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.
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 azipparancsot, 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
Ú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
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.
| 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 |
- 2022 eleje óta már nincs karbantartva. Az ISC azt javasolja, hogy éles (production) környezetben senki se használja.
- 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.
- A vezeték nélküli (Wi-Fi) hitelesítést külön kell beállítani a wpa_supplicant használatával.
- Kizárólag a Wi-Fi kapcsolatok kezelhetők.
- 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.
- A rendszer
/usr/lib/systemd/network/99-default.linkfá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özparancsot rendszergazdaként futtathatja a .link fájlokkal kapcsolatos problémák diagnosztizálása érdekében.
- 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.
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
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.
- A
Nameprioritása alacsonyabb, mint aNamePolicyé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 linkparancsot. - Ü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"
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.
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
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
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/hostsfá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.serviceszükséges. A Windows, macOS vagy Linux rendszert futtató számítógépek, amelyeken aznmbfut, 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.
- Hostname feloldás a Microsoft NetBIOS szolgáltatásán keresztül. Linux rendszeren a Samba biztosítja. Ehhez csak az
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
/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.