rp_filter not working ??
Ian Mortimer
ian@physics.uq.edu.au
Thu, 21 Sep 2000 09:05:50 +1000
> But, shouldn't any packets with a private address
> like that get dropped before the netfilter code by rp_filter (which is set
> to 1 for all interfaces) since it is obviously spoofed ?
This probably doesn't answer your question but there seems to be two
levels you can set for rp_filter. From the 2.2 kernel docs
(networking/ip-sysctl.txt):
rp_filter - INTEGER
2 - do source validation by reversed path, as specified in RFC1812
Recommended option for single homed hosts and stub network
routers. Could cause troubles for complicated (not loop free)
networks running a slow unreliable protocol (sort of RIP),
or using static routes.
1 - (DEFAULT) Weaker form of RP filtering: drop all the packets
that look as sourced at a directly connected interface, but
were input from another interface.
0 - No source validation.
But in proc.txt it says:
rp_filter
Integer value deciding if source validation should be made.
1 means yes, 0 means no. Disabled by default, but
local/broadcast address spoofing is always on.
If you set this to 1 on a router that is the only connection
for a network to the net , it evidently prevents spoofing attacks
against your internal networks (external addresses can still be
spoofed), without the need for additional firewall rules.
So maybe you need to set it to 2 to get complete protection.
Ian