lo interfészen másik helyi cím szaladgál

Viszonylag friss Linux kernel. Fejlesztettem a tűzfal szabályokon, és kiderült egy furcsaság. A lo interfészen másik interfész helyi IP címével megy a forgalom. Alapfelállás:


root@wicklow:/etc/iptables# ifconfig lo | grep "inet addr"
          inet addr:127.0.0.1  Mask:255.0.0.0
root@wicklow:/etc/iptables# ifconfig br0 | grep "inet addr"
          inet addr:192.168.55.1  Bcast:192.168.55.255  Mask:255.255.255.0

És amikor a gépen belülről csatlakozok a saját 192.168.55.1 címre, ezt logolja az iptables az INPUT-on:


Dec 19 19:20:33 wicklow kernel: [ 1297.744172] IN=lo \
OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=192.168.55.1 \
DST=192.168.55.1 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=51368 DF \
PROTO=TCP SPT=42209 DPT=80 WINDOW=32792 RES=0x00 SYN URGP=0

Miért van az lo-n 127.0.0.0/8-tól eltérő címen forgalom, és ki lehet-e ezt javítani? Értem én, hogy helyi forgalom így is, úgy is, mindegy az interfész, de azért mégse legyen már mindegy, tűzfal szabálynál éppen számít. Kevésbé reménykedek abban, hogy ezt meg lehetne javítani, de legalább érteni szeretném.

Hozzászólások

Aztán biztos vagy benne, hogy nem ez a helyes működés? A loopback eszköz pont a helyi forgalom bonyolítására van. Attól, hogy neki van egy címe, még keresztülmehetnek rajta olyan csomagok, amiknek sem a címzett, sem a feladó mezője nem egyezik meg ezzel a címmel. Ugyanúgy, mint fizikai eszközöknél is.

"kiderült egy furcsaság. A lo interfészen másik interfész helyi IP címével megy a forgalom."
Pedig ez teljesen logikus. Nem a br0 interfészeden jött be ez a csomag, még akkor sem, ha a br0 IP-jével helyben generálódott lokális célcímre. Ezt a nemes feladatot a lo interfészre bízták.

"Viszonylag friss Linux kernel."
Ez régóta így van, nem újonan belekerült dolog.

"de azért mégse legyen már mindegy, tűzfal szabálynál éppen számít"
Azért nem egy bonyolult probléma úgy megírni a szabályt vagy szabályrendszert, hogy jó legyen. Konkrétan mi a gond azzal - ha tényleg IP-szűrést szeretnél a loopbacken -, hogy a megfelelő helyi interfészek címeit is beengeded? Valószínűleg nincs olyan sok IP a gépen. Vagy azzal, hogy a külső interfészeken ellenőrzöd a cél IP-ket (csak IP), majd utána a többi jellemzőt az input interfész kivételével?

"ki lehet-e ezt javítani?"
Szerintem ne akard kijavítani, a tűzfalazással könnyen és fájdalommentesen kezelhető.

Miért van az lo-n 127.0.0.0/8-tól eltérő címen forgalom, és ki lehet-e ezt javítani?

Nem lehet "kijavítani", mert ez nem "hiba".

A probléma lényege, hogy a gép saját ip címeire menő forgalmak a standard routing tábla előtt kezelődnek, és az lo interfészen keresztül "záródnak rövidre".

ip rule list
ip route list table local
ip route list table main