Re: Disabling IPv6 accept_ra on just some interface
From: Pekka Savola <hidden>
Date: 2003-10-27 13:05:42
On Mon, 27 Oct 2003, YOSHIFUJI Hideaki / [iso-2022-jp] $B5HF#1QL@(B wrote:
In article [ref] (at Thu, 23 Oct 2003 15:22:47 +0300 (EEST)), Pekka Savola [off-list ref] says:quoted
So, my thought (comments welcome) is: 1) when accept_ra changes from 0 -> 1, initiate the route solicitation process, likewise as one would when the interface is brought up. Makes sense? 2) (probably not a good idea, but some food for thought..) when accept_ra changes from 1 -> 0, delete any autoconfigured routes or prefixes. (could be ugly / dangerous..)Well, we'd propose to have another config "send_rs" or something like that because accept_ra is also effective against unsolicited RAs. It, "send_rs," tells kernel to start sending RS when the variable is changed 0 to 1 and/or when interface is going up.
I don't have any major objections to this model, I'm just worried that it might make the configuration more complex (we already have accept_ra and "autoconf" toggles which are confusing enough without documentation :-) with little gain. That is, is there any case when you'd want to accept an RA but *not* send RS? I fail to see clear applicability for this, hence my proposal to overload accept_ra :-)
Assume the node has eth0 and eth1. Operation will be something like the following. If you want to listen RA and to send RS on some interfaces, sysctl -w net.ipv6.conf.default.accept_ra=0 sysctl -w net.ipv6.conf.default.send_rs=0 ifup -a sysctl -w net.ipv6.conf.eth0.accept_ra=1 sysctl -w net.ipv6.conf.eth0.send_rs=1 If you want to listen RA on all interfaces, but do not want to send RS on some of them, sysctl -w net.ipv6.conf.default.accept_ra=1 sysctl -w net.ipv6.conf.default.send_rs=0 ifup -a sysctl -w net.ipv6.cont.eth0.send_rs=1
-- Pekka Savola "You each name yourselves king, yet the Netcore Oy kingdom bleeds." Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings