Fórumok
Sziasztok,
Linuxon lehet bindolni interface-re, vagy csak valami interfészhez tartozó _IP címen_ lehet hallgatózni? Ha utóbbi, akkor kinek/minek feladata, hogy esetleg megnézze, hogy a csomag valóban olyan interfészen jött-e be aminek a hálózatához az illető IP tartozik?
Hozzászólások
Alapvetően IP-re megy a bind, de a routing nem ip-hez hanem subnethez kapcsolódik, ami azt jelenti, hogy ha ugyanabba a subnetbe lóg két fizikai lábad az ennek megfelelő IP-vel, az egyiken indított kapcsolat csomagjai simán visszajöhetnek a másikon és fordítva. Ha közvetlen tűzfallal kommunikálsz, az rögtön beanyáz emiatt.
A kimenő forgalmadat kis trükkel tudod lábhoz kötni, de a bejövőt nem.
Azért a bejövőnél is megadható, hogy melyik interfészen szeretnéd megkapni az adott IP címre szóló, csak (IPv4 esetén) a megfelelő interfészen kell az ARP kérésekre válaszolni. Ezt pedig a sysctl net.ipv4.conf.{default,all,interface} szekciókon belül az arp_filter, arp_announce, arp_ignore beállításokkal tudod szabályozni.
Én az arp_filter=1, arp_announce=2 és arp_ignore=2 beállításokkal próbálkoznék a kérdéses interfészeken.
Az eredeti kérdésre visszatérve, rávehető a linux, hogy ellenőrizze, hogy a kapott csomagok azon az interfészen érkeznek-e be, ami kiküldené őket az adott IP címre. Ezt szintén a sysctl net.ipv4.conf.{default,all,interface} szekciókon belül az rp_filter beállítás szabályozza. Az rp_filter=1 vagy az rp_filter=2 beállítás a kérdéses interfészeken bekapcsolja az ellenőrzést.
A kérdéses sysctl paraméterek részletes leírása elérhető a https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt oldalon.
Hm. Kösz, ezt elteszem. Agyba vésve is :-)
http://stackoverflow.com/questions/3998569/how-to-bind-raw-socket-to-sp…
~~~~~~~~
deb http://deb.metaltux.tk/ wheezy yazzy repack
Ill esetleg ez is erdekes lehet: http://stackoverflow.com/questions/2283494/get-ip-address-of-an-interfa… (iface ip-cime lekerdez ne'v alapjan -> bind() -> minden oke)
1x ma'r csinaltam ilyet (mmint az eredeti kerdest sikerult abszolvalni) de az olyan reg volt hogy mar egyszerubb rakeresni neten hogy hogy kell mint elo"keresni a megf. kodot ;]