ping na adresu interfacu co je DOWN?

Václav Ovsík vaclav.ovsik na seznam.cz
Pátek Prosinec 2 17:23:33 CET 2011


On Fri, Dec 02, 2011 at 02:11:34PM +0100, Jan Houstek wrote:
> ...
> Stručný popis viz např. http://en.wikipedia.org/wiki/Host_model

Jj, to mi Google taky už včera vrátil a to jsem prošel. Moji představu,
že by si ale IP stack neměl všímat adresy na interfacu, který ja down to
ale asi nevyvrací ne?

> Když na linux (nebo obecně každý stack s weak modelem) dorazí IP
> packet, jehož dst IP adresa odpovídá adrese na některém z jeho
> interfaců, tak jej bere jako lokální (bez ohledu na to kterým
> interfacem přišel). U tight modelu se jako lokální bere jen pokud
> dst IP adresa souhlasí s adresou na interface, kterým packet přišel
> (což se u DOWN interface zřejmě nestane).

No u adresy svázané s interfacem ve stavu down bych čekal, že si jí
nebude IP stack všímat.

> Ladění ARP je jen berlička, neovlivní to výše popsané chování, ale
> znesnadní nalezení adresy interface A ze sítě připojené na interface
> B (standardně je linux ochoten odpovídat na arp who-has na adresy
> všech interface, ne jen toho, kterým dotaz přišel).

No jasně, jinak by na ten interface nebylo možné pingnout, kdyby
neodpověděl na arp dotaz.

> ...
> Mě zase přijde lehce neintuitivní, když přes WAN link nepingnu na
> LAN adresu Cisco routeru jen proto, že LAN interface je DOWN (tj.
> link down, ne administratively down).

Nj, ale není toto právě případ na Linuxu `ip link set down dev blabla' ?
To bych skoro řekl, že je to obdova administratively down ne?

> 
> >Nebo je tahle featura snad součástí nějakého std chování v případě
> >toho multihomingu a weak host modelu?
> 
> Ano, je. Jak jsem psal, mě to chování celkem vyhovuje - u běžného
> serveru/stanice s jedním interface je to jedno. Stroj s více
> interface je buď server, který má všem poskytovat totéž (pak je weak
> multihoming výhoda, protože odpadají různé záhadné problémy s
> nedostupností), nebo je to firewall či server připojený do více sítí
> s jiným security kontextem, kde je tak jako tak nutné mít iptables.

Já jsem ten weak model už tak nějak akceptoval :).
S čím se ještě peru je to chování vzhledem k adrese přiřazené na
shozený interface. Zřejmě teda je v podstatě lhostejné na čem ta adresa
je, pouze kernel podle přiřazení modifikuje routovací tabulku.

Teď jsem zkusil zaexperimentovat s virtuálem, kde jsem nastavil dva
interfacy eth0 a eth1. Interface eth1 byl "v luftě" nezapojený do
žádného bridge. Na eth0 jsem odebral IP adresu a nechal ho UP.
Na eth1 jsem dal nějakou adresu a pak ručně přidal routovací záznam, že
má jít provoz na eth0 a ono to fakt funguje :). Mohu síťovat proti té
adrese na eth1, která není nikam zapojená a jiná IP adresa v tom boxu
není.

Teď je teda otázka jestli je dobře, že to jede i když mám

ip link set down dev eth1

Mno holt se se tím budu muset ještě trochu prokousat.
Díky za nakopnutí a odkazy
Pěkný víkend
-- 
Zito


Další informace o konferenci Linux