loopback interface (tsz. loopback interfaces)
lo
nevet viseli Linux/Unix rendszereken, és a hozzá tartozó legismertebb IP-cím a 127.0.0.1 (IPv4 esetén) és ::1
(IPv6 esetén). Ez a cím a gép saját magára mutat – ezért hívják loopback-nek, azaz „visszacsatolásnak”.
A loopback interfész célja, hogy egy számítógép önmagával tudjon kommunikálni a hálózati verem segítségével. Ez több szempontból is hasznos:
curl http://127.0.0.1
).
A loopback interfész teljes mértékben szoftveres eszköz. Amikor egy alkalmazás küld adatot a 127.0.0.1
címre, az operációs rendszer hálózati vereme nem küldi ki a csomagot a fizikai hálózatra, hanem azonnal visszairányítja azt a rendszerbe – ez a „visszacsatolás” (loopback). Ez az út ugyanazon a TCP/IP rétegen megy végig, mint a külső forgalom, így tesztelni lehet a hálózati stack működését is.
lo
127.0.0.1
::1
255.0.0.0
→ tehát az összes 127.x.x.x cím a loopback interfészhez tartozik.Linuxon a loopback interfész konfigurációja valahogy így néz ki:
ip addr show lo
Ha egy webszerver fut a gépen, akkor ezt kipróbálhatjuk:
curl http://127.0.0.1
ping 127.0.0.1
Ez teszteli, hogy működik-e a TCP/IP verem és a loopback interfész.
Fejlesztők gyakran állítanak be alkalmazásokat úgy, hogy a loopback interfészen figyeljenek (listen on 127.0.0.1
), például:
# Flask példában:
app.run(host="127.0.0.1", port=5000)
Mivel a loopback interfész nem érhető el kívülről, biztonságos módja annak, hogy alkalmazásokat futtassunk:
127.0.0.1
-en figyel.lo
interfészről jön.
Akár több IP-címet is hozzárendelhetünk a loopback interfészhez – például teszteléshez, vagy ha több helyi szolgáltatást szeretnénk külön címeken futtatni.
sudo ip addr add 127.0.0.2/8 dev lo
Ezután különböző szolgáltatásokat futtathatunk a 127.0.0.1
, 127.0.0.2
, stb. címeken.
Docker és más konténertechnológiák külön kezelik a loopback interfészt a konténeren belül és kívül. Például egy konténeren belül a 127.0.0.1
nem a hosztra mutat, hanem a konténer saját magára. Ezért ha egy szolgáltatást a host gépen akarunk elérni, nem használhatjuk a 127.0.0.1
címet – ilyenkor a host IP-címére van szükség.
ping 127.0.0.1
– teszteli a loopback kapcsolatot.traceroute 127.0.0.1
– megnézhetjük, hogy az útvonal valójában nem hagyja el a gépet.netstat -ltnp | grep 127.0.0.1
– megnézhetjük, milyen szolgáltatások figyelnek csak a loopback interfészen.
sudo ip link set lo up
127.0.0.1
-en figyel, akkor kívülről nem érhető el.0.0.0.0
-ra, ha azt akarjuk, hogy minden IP-n elérhető legyen.
Jellemző | Leírás |
---|---|
Típus | Virtuális (szoftveres) interfész |
Név | lo
|
IP-címek | 127.0.0.1 (IPv4), ::1 (IPv6)
|
Funkció | Belső kommunikáció, tesztelés |
Elérés | Kizárólag a gépen belülről |
Biztonság | Kívülről nem támadható, ezért megbízható szolgáltatásfuttatásra |