Fix ROUTE_FILTER and LOG_MARTIANS

git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@5965 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
teastep
2007-04-17 14:37:28 +00:00
parent d3777adf63
commit ba6a6c1278
3 changed files with 24 additions and 18 deletions

View File

@ -105,10 +105,12 @@ sub setup_route_filtering() {
save_progress_message "Setting up Route Filtering...";
emit "for f in /proc/sys/net/ipv4/conf/*; do
[ -f \$f/log_martians ] && echo 0 > \$f/rp_filter
unless ( $config{ROUTE_FILTER} ) {
emit "for f in /proc/sys/net/ipv4/conf/*; do
[ -f \$f/rp_filter ] && echo 0 > \$f/rp_filter
done
";
}
for my $interface ( @$interfaces ) {
my $file = "/proc/sys/net/ipv4/conf/$interface/rp_filter";
@ -121,12 +123,8 @@ fi
";
}
emit 'echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter';
if ( $config{ROUTE_FILTER} ) {
emit 'echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter';
emit 'echo 1 > /proc/sys/net/ipv4/conf/all/rp_filter';
}
emit 'echo 1 0 /proc/sys/net/ipv4/conf/all/rp_filter';
emit 'echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter' if $config{ROUTE_FILTER};
emit "[ -n \"\$NOROUTES\" ] || ip route flush cache";
}
@ -162,11 +160,7 @@ fi
}
emit 'echo 1 > /proc/sys/net/ipv4/conf/all/log_martians';
if ( $config{LOG_MARTIANS} ) {
emit 'echo 1 > /proc/sys/net/ipv4/conf/default/log_martians';
emit 'echo 1 > /proc/sys/net/ipv4/conf/all/log_martians';
}
emit 'echo 1 > /proc/sys/net/ipv4/conf/default/log_martians' if $config{LOG_MARTIANS};
}
}