forked from extern/shorewall_code
Compare commits
49 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
36586e062d | ||
|
b32fcb42e8 | ||
|
3c12addbf4 | ||
|
f424b4325f | ||
|
cc561c0b61 | ||
|
b9c303cf92 | ||
|
4c6df657da | ||
|
0d1f5bf261 | ||
|
07cb262af4 | ||
|
e1f0b452e4 | ||
|
6c1c51261f | ||
|
c335c3ad80 | ||
|
a7ec75d084 | ||
|
2b7cbe25e6 | ||
|
d2d99a060c | ||
|
a40d2996ba | ||
|
1c23276cb0 | ||
|
0669c6cbc5 | ||
|
4bd533884f | ||
|
dd852cc291 | ||
|
b8dce4ed90 | ||
|
69fcf28562 | ||
|
b866a5917e | ||
|
67ab369082 | ||
|
6bfa7efab2 | ||
|
e9cb5261c4 | ||
|
c43650ed7e | ||
|
d1ab805917 | ||
|
1294ef4df4 | ||
|
e0e83281b4 | ||
|
e45af087eb | ||
|
3a9fc7ceb1 | ||
|
94fb15bec3 | ||
|
c9b46d5688 | ||
|
b18299a8f9 | ||
|
96fa1f3494 | ||
|
c9449f9ad4 | ||
|
467c79f81b | ||
|
16702547a1 | ||
|
275079724a | ||
|
34e59b066e | ||
|
e158509421 | ||
|
9efb7bed29 | ||
|
c1477fd719 | ||
|
acdd361540 | ||
|
41b666449e | ||
|
fab2ce3d74 | ||
|
9bb1caa4bc | ||
|
f363825261 |
@@ -28,7 +28,7 @@
|
|||||||
# shown below. Simply run this script to revert to your prior version of
|
# shown below. Simply run this script to revert to your prior version of
|
||||||
# Shoreline Firewall.
|
# Shoreline Firewall.
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
@@ -329,34 +329,37 @@ if [ -z "$PREFIX" ]; then
|
|||||||
ln -s ${DEST}/${INIT} /usr/share/shorewall-lite/init
|
ln -s ${DEST}/${INIT} /usr/share/shorewall-lite/init
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$PREFIX" -a -n "$first_install" ]; then
|
if [ -z "$PREFIX" ]; then
|
||||||
if [ -n "$DEBIAN" ]; then
|
touch /var/log/shorewall-lite-init.log
|
||||||
run_install $OWNERSHIP -m 0644 default.debian /etc/default/shorewall-lite
|
|
||||||
ln -s ../init.d/shorewall-lite /etc/rcS.d/S40shorewall-lite
|
if [ -n "$first_install" ]; then
|
||||||
echo "Shorewall Lite will start automatically at boot"
|
if [ -n "$DEBIAN" ]; then
|
||||||
touch /var/log/shorewall-init.log
|
run_install $OWNERSHIP -m 0644 default.debian /etc/default/shorewall-lite
|
||||||
else
|
ln -s ../init.d/shorewall-lite /etc/rcS.d/S40shorewall-lite
|
||||||
if [ -x /sbin/insserv -o -x /usr/sbin/insserv ]; then
|
echo "Shorewall Lite will start automatically at boot"
|
||||||
if insserv /etc/init.d/shorewall-lite ; then
|
else
|
||||||
echo "Shorewall Lite will start automatically at boot"
|
if [ -x /sbin/insserv -o -x /usr/sbin/insserv ]; then
|
||||||
else
|
if insserv /etc/init.d/shorewall-lite ; then
|
||||||
|
echo "Shorewall Lite will start automatically at boot"
|
||||||
|
else
|
||||||
|
cant_autostart
|
||||||
|
fi
|
||||||
|
elif [ -x /sbin/chkconfig -o -x /usr/sbin/chkconfig ]; then
|
||||||
|
if chkconfig --add shorewall-lite ; then
|
||||||
|
echo "Shorewall Lite will start automatically in run levels as follows:"
|
||||||
|
chkconfig --list shorewall-lite
|
||||||
|
else
|
||||||
|
cant_autostart
|
||||||
|
fi
|
||||||
|
elif [ -x /sbin/rc-update ]; then
|
||||||
|
if rc-update add shorewall-lite default; then
|
||||||
|
echo "Shorewall Lite will start automatically at boot"
|
||||||
|
else
|
||||||
|
cant_autostart
|
||||||
|
fi
|
||||||
|
elif [ "$INIT" != rc.firewall ]; then #Slackware starts this automatically
|
||||||
cant_autostart
|
cant_autostart
|
||||||
fi
|
fi
|
||||||
elif [ -x /sbin/chkconfig -o -x /usr/sbin/chkconfig ]; then
|
|
||||||
if chkconfig --add shorewall-lite ; then
|
|
||||||
echo "Shorewall Lite will start automatically in run levels as follows:"
|
|
||||||
chkconfig --list shorewall-lite
|
|
||||||
else
|
|
||||||
cant_autostart
|
|
||||||
fi
|
|
||||||
elif [ -x /sbin/rc-update ]; then
|
|
||||||
if rc-update add shorewall-lite default; then
|
|
||||||
echo "Shorewall Lite will start automatically at boot"
|
|
||||||
else
|
|
||||||
cant_autostart
|
|
||||||
fi
|
|
||||||
elif [ "$INIT" != rc.firewall ]; then #Slackware starts this automatically
|
|
||||||
cant_autostart
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/var/log/shorewall-init.log {
|
/var/log/shorewall-lite-init.log {
|
||||||
missingok
|
missingok
|
||||||
notifempty
|
notifempty
|
||||||
create 0600 root root
|
create 0600 root root
|
||||||
|
@@ -4,12 +4,11 @@
|
|||||||
# compile /var/lib/shorewall-lite/firewall. Those values may be found in
|
# compile /var/lib/shorewall-lite/firewall. Those values may be found in
|
||||||
# /var/lib/shorewall-lite/firewall.conf.
|
# /var/lib/shorewall-lite/firewall.conf.
|
||||||
#
|
#
|
||||||
# This program is under GPL [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt]
|
# For information about the settings in this file, type
|
||||||
#
|
# "man shorewall-lite.conf"
|
||||||
# This file should be placed in /etc/shorewall-lite
|
|
||||||
#
|
|
||||||
# (c) 2006,2007 - Tom Eastep (teastep@shorewall.net)
|
|
||||||
#
|
#
|
||||||
|
# Manpage also online at
|
||||||
|
# http://www.shorewall.net/manpages/shorewall-lite.conf.html
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# N 0 T E
|
# N 0 T E
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
%define name shorewall-lite
|
%define name shorewall-lite
|
||||||
%define version 4.4.8
|
%define version 4.4.8
|
||||||
%define release 0base
|
%define release 4
|
||||||
|
|
||||||
Summary: Shoreline Firewall Lite is an iptables-based firewall for Linux systems.
|
Summary: Shoreline Firewall Lite is an iptables-based firewall for Linux systems.
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
@@ -101,6 +101,14 @@ fi
|
|||||||
%doc COPYING changelog.txt releasenotes.txt
|
%doc COPYING changelog.txt releasenotes.txt
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 23 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-4
|
||||||
|
* Mon Apr 19 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-3
|
||||||
|
* Wed Apr 07 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-2
|
||||||
|
* Thu Mar 25 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-1
|
||||||
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
||||||
- Updated to 4.4.8-0base
|
- Updated to 4.4.8-0base
|
||||||
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
||||||
|
@@ -26,7 +26,7 @@
|
|||||||
# You may only use this script to uninstall the version
|
# You may only use this script to uninstall the version
|
||||||
# shown below. Simply run this script to remove Shorewall Firewall
|
# shown below. Simply run this script to remove Shorewall Firewall
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -674,22 +674,34 @@ sub move_rules( $$ ) {
|
|||||||
my ($chain1, $chain2 ) = @_;
|
my ($chain1, $chain2 ) = @_;
|
||||||
|
|
||||||
if ( $chain1->{referenced} ) {
|
if ( $chain1->{referenced} ) {
|
||||||
my $name = $chain1->{name};
|
my $name1 = $chain1->{name};
|
||||||
my $rules = $chain2->{rules};
|
my $name2 = $chain2->{name};
|
||||||
my $count = @{$chain1->{rules}};
|
my $rules = $chain2->{rules};
|
||||||
|
my $count = @{$chain1->{rules}};
|
||||||
|
my $tableref = $chain_table{$chain1->{table}};
|
||||||
#
|
#
|
||||||
# We allow '+' in chain names and '+' is an RE meta-character. Escape it.
|
# We allow '+' in chain names and '+' is an RE meta-character. Escape it.
|
||||||
#
|
#
|
||||||
$name =~ s/\+/\\+/;
|
$name1 =~ s/\+/\\+/;
|
||||||
|
|
||||||
( s/\-([AI]) $name /-$1 $chain2->{name} / ) for @{$chain1->{rules}};
|
for ( @{$chain1->{rules}} ) {
|
||||||
|
if ( s/\-([AI]) $name1 /-$1 $name2 / ) {
|
||||||
|
if ( / -[jg] ([^\s]+)\b/ ) {
|
||||||
|
my $toref = $tableref->{$1};
|
||||||
|
if ( $toref && ! $toref->{builtin} ) {
|
||||||
|
delete $toref->{references}{$name1} unless --$toref->{references}{$name1} > 0;
|
||||||
|
$toref->{references}{$name2}++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
splice @{$rules}, 0, 0, @{$chain1->{rules}};
|
unshift @{$rules}, @{$chain1->{rules}};
|
||||||
#
|
#
|
||||||
# In a firewall->x policy chain, multiple DHCP ACCEPT rules can be moved to the head of the chain.
|
# In a firewall->x policy chain, multiple DHCP ACCEPT rules can be moved to the head of the chain.
|
||||||
# This hack avoids that.
|
# This hack avoids that.
|
||||||
#
|
#
|
||||||
shift @{$rules} if @{$rules} > 1 && $rules->[0] eq $rules->[1];
|
shift @{$rules} while @{$rules} > 1 && $rules->[0] eq $rules->[1];
|
||||||
|
|
||||||
$chain2->{referenced} = 1;
|
$chain2->{referenced} = 1;
|
||||||
$chain1->{referenced} = 0;
|
$chain1->{referenced} = 0;
|
||||||
@@ -1322,7 +1334,7 @@ sub optimize_chain( $ ) {
|
|||||||
|
|
||||||
pop @$rules, $count++ while @$rules && $rules->[-1] =~ /-j ACCEPT\b/;
|
pop @$rules, $count++ while @$rules && $rules->[-1] =~ /-j ACCEPT\b/;
|
||||||
|
|
||||||
if ( @${rules} ) {
|
if ( @${rules} || $chainref->{dont_delete} ) {
|
||||||
add_rule $chainref, '-j ACCEPT';
|
add_rule $chainref, '-j ACCEPT';
|
||||||
progress_message " $count ACCEPT rules deleted from policy chain $chainref->{name}" if $count;
|
progress_message " $count ACCEPT rules deleted from policy chain $chainref->{name}" if $count;
|
||||||
} else {
|
} else {
|
||||||
@@ -1374,6 +1386,9 @@ sub replace_references( $$ ) {
|
|||||||
my ( $chainref, $target ) = @_;
|
my ( $chainref, $target ) = @_;
|
||||||
my $table = $chainref->{table};
|
my $table = $chainref->{table};
|
||||||
my $count = 0;
|
my $count = 0;
|
||||||
|
my $name = $chainref->{name};
|
||||||
|
|
||||||
|
$name =~ s/\+/\\+/;
|
||||||
|
|
||||||
if ( defined $chain_table{$table}{$target} && ! $chain_table{$table}{$target}{builtin} ) {
|
if ( defined $chain_table{$table}{$target} && ! $chain_table{$table}{$target}{builtin} ) {
|
||||||
#
|
#
|
||||||
@@ -1381,7 +1396,12 @@ sub replace_references( $$ ) {
|
|||||||
#
|
#
|
||||||
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
||||||
if ( $fromref->{referenced} ) {
|
if ( $fromref->{referenced} ) {
|
||||||
defined && s/ -([jg]) $chainref->{name}(\b)/ -$1 ${target}$2/ && $count++ for @{$fromref->{rules}};
|
for ( @{$fromref->{rules}} ) {
|
||||||
|
if ( defined && s/ -([jg]) $name(\b)/ -$1 ${target}$2/ ) {
|
||||||
|
add_reference( $fromref, $chain_table{$table}{$target} );
|
||||||
|
$count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1390,7 +1410,7 @@ sub replace_references( $$ ) {
|
|||||||
#
|
#
|
||||||
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
||||||
if ( $fromref->{referenced} ) {
|
if ( $fromref->{referenced} ) {
|
||||||
defined && s/ -[jg] $chainref->{name}(\b)/ -j ${target}$1/ && $count++ for @{$fromref->{rules}};
|
defined && s/ -[jg] $name(\b)/ -j ${target}$1/ && $count++ for @{$fromref->{rules}};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1408,6 +1428,9 @@ sub replace_references1( $$$ ) {
|
|||||||
my ( $chainref, $target, $matches ) = @_;
|
my ( $chainref, $target, $matches ) = @_;
|
||||||
my $table = $chainref->{table};
|
my $table = $chainref->{table};
|
||||||
my $count = 0;
|
my $count = 0;
|
||||||
|
my $name = $chainref->{name};
|
||||||
|
|
||||||
|
$name =~ s/\+/\\+/;
|
||||||
#
|
#
|
||||||
# Note: If $matches is non-empty, then it begins with white space
|
# Note: If $matches is non-empty, then it begins with white space
|
||||||
#
|
#
|
||||||
@@ -1417,13 +1440,18 @@ sub replace_references1( $$$ ) {
|
|||||||
#
|
#
|
||||||
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
||||||
if ( $fromref->{referenced} ) {
|
if ( $fromref->{referenced} ) {
|
||||||
|
my $fromname = $fromref->{name};
|
||||||
|
|
||||||
|
$fromname =~ s/\+/\\+/;
|
||||||
|
|
||||||
for ( @{$fromref->{rules}} ) {
|
for ( @{$fromref->{rules}} ) {
|
||||||
if ( defined && /^-A $fromref->{name} .*-[jg] $chainref->{name}\b/ ) {
|
if ( defined && /^-A $fromname .*-[jg] $name\b/ ) {
|
||||||
#
|
#
|
||||||
# Prevent multiple '-p' matches
|
# Prevent multiple '-p' matches
|
||||||
#
|
#
|
||||||
s/ -p [^ ]+ / / if / -p / && $matches =~ / -p /;
|
s/ -p [^ ]+ / / if / -p / && $matches =~ / -p /;
|
||||||
s/\s+-([jg]) $chainref->{name}(\b)/$matches -$1 ${target}$2/;
|
s/\s+-([jg]) $name(\b)/$matches -$1 ${target}$2/;
|
||||||
|
add_reference( $fromref, $chain_table{$table}{$target} );
|
||||||
$count++;
|
$count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1435,13 +1463,17 @@ sub replace_references1( $$$ ) {
|
|||||||
#
|
#
|
||||||
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
for my $fromref ( map $chain_table{$table}{$_} , keys %{$chainref->{references}} ) {
|
||||||
if ( $fromref->{referenced} ) {
|
if ( $fromref->{referenced} ) {
|
||||||
|
my $fromname = $fromref->{name};
|
||||||
|
|
||||||
|
$fromname =~ s/\+/\\+/;
|
||||||
|
|
||||||
for ( @{$fromref->{rules}} ) {
|
for ( @{$fromref->{rules}} ) {
|
||||||
if ( defined && /^-A $fromref->{name} .*-[jg] $chainref->{name}\b/ ) {
|
if ( defined && /^-A $fromname .*-[jg] $name\b/ ) {
|
||||||
#
|
#
|
||||||
# Prevent multiple '-p' matches
|
# Prevent multiple '-p' matches
|
||||||
#
|
#
|
||||||
s/ -p [^ ]+ / / if / -p / && $matches =~ / -p /;
|
s/ -p [^ ]+ / / if / -p / && $matches =~ / -p /;
|
||||||
s/\s+-[jg] $chainref->{name}(\b)/$matches -j ${target}$1/;
|
s/\s+-[jg] $name(\b)/$matches -j ${target}$1/;
|
||||||
$count++;
|
$count++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1569,7 +1601,11 @@ sub optimize_ruleset() {
|
|||||||
#
|
#
|
||||||
# Chain has a single non-nil rule which is in $firstrule
|
# Chain has a single non-nil rule which is in $firstrule
|
||||||
#
|
#
|
||||||
if ( $firstrule =~ /^-A $chainref->{name} -[jg] (.*)$/ ) {
|
my $name = $chainref->{name};
|
||||||
|
|
||||||
|
$name =~ s/\+/\\+/;
|
||||||
|
|
||||||
|
if ( $firstrule =~ /^-A $name -[jg] (.*)$/ ) {
|
||||||
#
|
#
|
||||||
# Easy case -- the rule is a simple jump
|
# Easy case -- the rule is a simple jump
|
||||||
#
|
#
|
||||||
@@ -1596,7 +1632,7 @@ sub optimize_ruleset() {
|
|||||||
replace_references $chainref, $1;
|
replace_references $chainref, $1;
|
||||||
$progress = 1;
|
$progress = 1;
|
||||||
}
|
}
|
||||||
} elsif ( $firstrule =~ /-A $chainref->{name}( +.+) -[jg] (.*)$/ ) {
|
} elsif ( $firstrule =~ /-A $name( +.+) -[jg] (.*)$/ ) {
|
||||||
#
|
#
|
||||||
# Not so easy -- the rule contains matches
|
# Not so easy -- the rule contains matches
|
||||||
#
|
#
|
||||||
|
@@ -823,7 +823,7 @@ sub compiler {
|
|||||||
#
|
#
|
||||||
generate_matrix;
|
generate_matrix;
|
||||||
|
|
||||||
if ( $config{OPTIMIZE} > 0 && $config{OPTIMIZE} & 6 ) {
|
if ( $config{OPTIMIZE} & 6 ) {
|
||||||
progress_message2 'Optimizing Ruleset...';
|
progress_message2 'Optimizing Ruleset...';
|
||||||
#
|
#
|
||||||
# Optimize Policy Chains
|
# Optimize Policy Chains
|
||||||
|
@@ -338,7 +338,7 @@ sub initialize( $ ) {
|
|||||||
TC_SCRIPT => '',
|
TC_SCRIPT => '',
|
||||||
EXPORT => 0,
|
EXPORT => 0,
|
||||||
UNTRACKED => 0,
|
UNTRACKED => 0,
|
||||||
VERSION => "4.4.8",
|
VERSION => "4.4.8.4",
|
||||||
CAPVERSION => 40408 ,
|
CAPVERSION => 40408 ,
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -3050,7 +3050,8 @@ sub get_configuration( $ ) {
|
|||||||
#
|
#
|
||||||
sub propagateconfig() {
|
sub propagateconfig() {
|
||||||
for my $option ( @propagateconfig ) {
|
for my $option ( @propagateconfig ) {
|
||||||
my $value = $config{$option} || '';
|
my $value = $config{$option};
|
||||||
|
$value = '' unless defined $value;
|
||||||
emit "$option=\"$value\"";
|
emit "$option=\"$value\"";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -118,6 +118,7 @@ sub setup_proxy_arp() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$interface = get_physical $interface;
|
$interface = get_physical $interface;
|
||||||
|
$external = get_physical $external;
|
||||||
|
|
||||||
$set{$interface} = 1;
|
$set{$interface} = 1;
|
||||||
$reset{$external} = 1 unless $set{$external};
|
$reset{$external} = 1 unless $set{$external};
|
||||||
|
@@ -223,9 +223,12 @@ sub setup_blacklist() {
|
|||||||
my $chainref;
|
my $chainref;
|
||||||
my ( $level, $disposition ) = @config{'BLACKLIST_LOGLEVEL', 'BLACKLIST_DISPOSITION' };
|
my ( $level, $disposition ) = @config{'BLACKLIST_LOGLEVEL', 'BLACKLIST_DISPOSITION' };
|
||||||
my $target = $disposition eq 'REJECT' ? 'reject' : $disposition;
|
my $target = $disposition eq 'REJECT' ? 'reject' : $disposition;
|
||||||
|
#
|
||||||
|
# We go ahead and generate the blacklist chain and jump to it, even if it turns out to be empty. That is necessary
|
||||||
|
# for 'refresh' to work properly.
|
||||||
|
#
|
||||||
if ( @$hosts ) {
|
if ( @$hosts ) {
|
||||||
$chainref = new_standard_chain 'blacklst';
|
$chainref = dont_delete new_standard_chain 'blacklst';
|
||||||
|
|
||||||
if ( defined $level && $level ne '' ) {
|
if ( defined $level && $level ne '' ) {
|
||||||
my $logchainref = new_standard_chain 'blacklog';
|
my $logchainref = new_standard_chain 'blacklog';
|
||||||
|
@@ -1374,7 +1374,7 @@ sub setup_tc() {
|
|||||||
# This is overloading TRACK_PROVIDERS a bit but sending tracked packets through PREROUTING is a PITA for users
|
# This is overloading TRACK_PROVIDERS a bit but sending tracked packets through PREROUTING is a PITA for users
|
||||||
#
|
#
|
||||||
for my $interface ( @routemarked_interfaces ) {
|
for my $interface ( @routemarked_interfaces ) {
|
||||||
add_rule $mangle_table->{PREROUTING} , match_source_dev( $interface ) . "-j tcpre";
|
add_jump $mangle_table->{PREROUTING} , 'tcpre', 0, match_source_dev( $interface );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -76,7 +76,7 @@ our @EXPORT = qw( NOTHING
|
|||||||
);
|
);
|
||||||
|
|
||||||
our @EXPORT_OK = qw( initialize );
|
our @EXPORT_OK = qw( initialize );
|
||||||
our $VERSION = '4.4_7';
|
our $VERSION = '4.4_8';
|
||||||
|
|
||||||
#
|
#
|
||||||
# IPSEC Option types
|
# IPSEC Option types
|
||||||
@@ -926,7 +926,7 @@ sub process_interface( $ ) {
|
|||||||
if ( $options{bridge} ) {
|
if ( $options{bridge} ) {
|
||||||
require_capability( 'PHYSDEV_MATCH', 'The "bridge" option', 's');
|
require_capability( 'PHYSDEV_MATCH', 'The "bridge" option', 's');
|
||||||
fatal_error "Bridges may not have wildcard names" if $wildcard;
|
fatal_error "Bridges may not have wildcard names" if $wildcard;
|
||||||
$options{routeback} = 1;
|
$hostoptions{routeback} = $options{routeback} = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
$zoneref->{options}{in_out}{routeback} = 1 if $zoneref && $options{routeback};
|
$zoneref->{options}{in_out}{routeback} = 1 if $zoneref && $options{routeback};
|
||||||
|
@@ -71,11 +71,11 @@ while [ $finished -eq 0 -a $# -gt 0 ]; do
|
|||||||
while [ -n "$option" ]; do
|
while [ -n "$option" ]; do
|
||||||
case $option in
|
case $option in
|
||||||
v*)
|
v*)
|
||||||
VERBOSITY=$(($VERBOSITY + 1 ))
|
[ $VERBOSITY -lt 2 ] && VERBOSITY=$(($VERBOSITY + 1 ))
|
||||||
option=${option#v}
|
option=${option#v}
|
||||||
;;
|
;;
|
||||||
q*)
|
q*)
|
||||||
VERBOSITY=$(($VERBOSITY - 1 ))
|
[ $VERBOSITY -gt -1 ] && VERBOSITY=$(($VERBOSITY - 1 ))
|
||||||
option=${option#q}
|
option=${option#q}
|
||||||
;;
|
;;
|
||||||
n*)
|
n*)
|
||||||
@@ -260,7 +260,7 @@ case "$COMMAND" in
|
|||||||
;;
|
;;
|
||||||
status)
|
status)
|
||||||
[ $# -ne 1 ] && usage 2
|
[ $# -ne 1 ] && usage 2
|
||||||
echo "$g_product-$SHORWEALL_VERSION Status at $(hostname) - $(date)"
|
echo "$g_product-$SHOREWALL_VERSION Status at $(hostname) - $(date)"
|
||||||
echo
|
echo
|
||||||
if shorewall_is_started; then
|
if shorewall_is_started; then
|
||||||
echo "$g_product is running"
|
echo "$g_product is running"
|
||||||
|
@@ -71,11 +71,11 @@ while [ $finished -eq 0 -a $# -gt 0 ]; do
|
|||||||
while [ -n "$option" ]; do
|
while [ -n "$option" ]; do
|
||||||
case $option in
|
case $option in
|
||||||
v*)
|
v*)
|
||||||
VERBOSITY=$(($VERBOSITY + 1 ))
|
[ $VERBOSITY -lt 2 ] && VERBOSITY=$(($VERBOSITY + 1 ))
|
||||||
option=${option#v}
|
option=${option#v}
|
||||||
;;
|
;;
|
||||||
q*)
|
q*)
|
||||||
VERBOSITY=$(($VERBOSITY - 1 ))
|
[ $VERBOSITY -gt -1 ] && VERBOSITY=$(($VERBOSITY - 1 ))
|
||||||
option=${option#q}
|
option=${option#q}
|
||||||
;;
|
;;
|
||||||
n*)
|
n*)
|
||||||
|
@@ -1,3 +1,34 @@
|
|||||||
|
Changes in Shorewall 4.4.8.4
|
||||||
|
|
||||||
|
1) Restore lone ACCEPT rule to the OUTPUT chain under OPTIMIZE 2.
|
||||||
|
|
||||||
|
2) Set IP before sourcing the params file.
|
||||||
|
|
||||||
|
Changes in Shorewall 4.4.8.3
|
||||||
|
|
||||||
|
1) Make wildcard interfaces play well with optimize 4.
|
||||||
|
|
||||||
|
2) Fix another add_rule() that should have been an add_jump().
|
||||||
|
|
||||||
|
3) Fix install scripts.
|
||||||
|
|
||||||
|
Changes in Shorewall 4.4.8.2
|
||||||
|
|
||||||
|
1) Fix OPTIMIZE 4 bug.
|
||||||
|
|
||||||
|
2) Rationalize startup logs.
|
||||||
|
|
||||||
|
3) Do proper accounting in move_rules().
|
||||||
|
|
||||||
|
Changes in Shorewall 4.4.8.1
|
||||||
|
|
||||||
|
1) Correct handling of a logical interface name in the EXTERNAL column
|
||||||
|
of proxyarp.
|
||||||
|
|
||||||
|
2) Fix find_first_interface_address() error reporting.
|
||||||
|
|
||||||
|
3) Fix propagation of zero-valued config variables.
|
||||||
|
|
||||||
Changes in Shorewall 4.4.8
|
Changes in Shorewall 4.4.8
|
||||||
|
|
||||||
1) Correct handling of RATE LIMIT on NAT rules.
|
1) Correct handling of RATE LIMIT on NAT rules.
|
||||||
@@ -35,6 +66,8 @@ Changes in Shorewall 4.4.8
|
|||||||
|
|
||||||
17) Issue warnings when 'blacklist' but no blacklist file entries.
|
17) Issue warnings when 'blacklist' but no blacklist file entries.
|
||||||
|
|
||||||
|
18) Don't optimize 'blacklst'.
|
||||||
|
|
||||||
Changes in Shorewall 4.4.7
|
Changes in Shorewall 4.4.7
|
||||||
|
|
||||||
1) Backport optimization changes from 4.5.
|
1) Backport optimization changes from 4.5.
|
||||||
|
@@ -1,19 +1,10 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# /etc/shorewall/shorewall.conf Version 4 - Change the following variables to
|
|
||||||
# match your setup
|
|
||||||
#
|
#
|
||||||
# This program is under GPL
|
# Shorewall Version 4 -- /etc/shorewall/shorewall.conf
|
||||||
# [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt]
|
|
||||||
#
|
|
||||||
# This file should be placed in /etc/shorewall
|
|
||||||
#
|
|
||||||
# (c) 1999,2000,2001,2002,2003,2004,2005,
|
|
||||||
# 2006,2007,2008 - Tom Eastep (teastep@shorewall.net)
|
|
||||||
#
|
#
|
||||||
# For information about the settings in this file, type "man shorewall.conf"
|
# For information about the settings in this file, type "man shorewall.conf"
|
||||||
#
|
#
|
||||||
# Additional information is available at
|
# Manpage also online at http://www.shorewall.net/manpages/shorewall.conf.html
|
||||||
# http://www.shorewall.net/Documentation.htm#Conf
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# S T A R T U P E N A B L E D
|
# S T A R T U P E N A B L E D
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
@@ -264,6 +264,7 @@ fi
|
|||||||
run_install $OWNERSHIP -m 0644 configfiles/shorewall.conf ${PREFIX}/usr/share/shorewall/configfiles/shorewall.conf
|
run_install $OWNERSHIP -m 0644 configfiles/shorewall.conf ${PREFIX}/usr/share/shorewall/configfiles/shorewall.conf
|
||||||
|
|
||||||
perl -p -w -i -e 's|^CONFIG_PATH=.*|CONFIG_PATH=/usr/share/shorewall/configfiles:/usr/share/shorewall|;' ${PREFIX}/usr/share/shorewall/configfiles/shorewall.conf
|
perl -p -w -i -e 's|^CONFIG_PATH=.*|CONFIG_PATH=/usr/share/shorewall/configfiles:/usr/share/shorewall|;' ${PREFIX}/usr/share/shorewall/configfiles/shorewall.conf
|
||||||
|
perl -p -w -i -e 's|^STARTUP_LOG=.*|STARTUP_LOG=/var/log/shorewall-lite-init.log|;' ${PREFIX}/usr/share/shorewall/configfiles/shorewall.conf
|
||||||
|
|
||||||
if [ ! -f ${PREFIX}/etc/shorewall/shorewall.conf ]; then
|
if [ ! -f ${PREFIX}/etc/shorewall/shorewall.conf ]; then
|
||||||
run_install $OWNERSHIP -m 0644 configfiles/shorewall.conf ${PREFIX}/etc/shorewall/shorewall.conf
|
run_install $OWNERSHIP -m 0644 configfiles/shorewall.conf ${PREFIX}/etc/shorewall/shorewall.conf
|
||||||
@@ -272,7 +273,7 @@ if [ ! -f ${PREFIX}/etc/shorewall/shorewall.conf ]; then
|
|||||||
#
|
#
|
||||||
# Make a Debian-like shorewall.conf
|
# Make a Debian-like shorewall.conf
|
||||||
#
|
#
|
||||||
perl -p -w -i -e 's|^STARTUP_ENABLED=.*|STARTUP_ENABLED=Yes|;' ${PREFIX}/etc/shorewall.conf
|
perl -p -w -i -e 's|^STARTUP_ENABLED=.*|STARTUP_ENABLED=Yes|;' ${PREFIX}/etc/shorewall/shorewall.conf
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Config file installed as ${PREFIX}/etc/shorewall/shorewall.conf"
|
echo "Config file installed as ${PREFIX}/etc/shorewall/shorewall.conf"
|
||||||
|
@@ -1 +1,84 @@
|
|||||||
There are no known problems in Shorewall 4.4.8
|
Known problems in Shorewall 4.4.8
|
||||||
|
|
||||||
|
1) Logical interface names in the EXTERNAL column of
|
||||||
|
/etc/shorewall/proxyarp were previously not mapped to their
|
||||||
|
corresponding physical interface names. This could cause 'start' or
|
||||||
|
'restart' to fail.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.1
|
||||||
|
|
||||||
|
2) If find_first_interface_address() cannot determine the address of
|
||||||
|
the passed interface, the following message is issued and the
|
||||||
|
process continues:
|
||||||
|
|
||||||
|
/usr/share/shorewall/lib.common: line 438:
|
||||||
|
startup_error: command not found
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.1
|
||||||
|
|
||||||
|
3) If LOG_VERBOSITY=0 in shorewall.conf, then when the compiled script
|
||||||
|
is executed, messages such as the following will be issued:
|
||||||
|
|
||||||
|
/var/lib/shorewall6/.restart: line 65: [: -gt: unary operator
|
||||||
|
expected
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.1
|
||||||
|
|
||||||
|
4) With optimize 4, if an unnecessary NONAT rule is included in
|
||||||
|
/etc/shorewall/rules, 'shorewall start' and/or 'shorewall restart'
|
||||||
|
can fail with invalid iptables-restore input.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.2
|
||||||
|
|
||||||
|
5) The -lite products are inconsistent in how they referred to their
|
||||||
|
startup log. Some references included '-lite' where some did
|
||||||
|
not. This was particularly bad in the case of the Shorewall-lite
|
||||||
|
logrotate file which duplicated the name used by the Shorewall
|
||||||
|
package. This inconsistency could cause logrotate to fail if both
|
||||||
|
packages were installed.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.2
|
||||||
|
|
||||||
|
6) Wildcard interface names (those ending in '+') can result in
|
||||||
|
iptables-restore failure with optimize 4.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.3
|
||||||
|
|
||||||
|
7) Invalid iptables-restore input involving the 'tcpre'
|
||||||
|
mangle chain is possible with optimize 4.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.3
|
||||||
|
|
||||||
|
8) A couple of fixes to the 4.4.8.2 change for startup log naming are
|
||||||
|
included. The main symptom occurred on Debian systems where perl
|
||||||
|
reported that /etc/shorewall.conf did not exist.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.3
|
||||||
|
|
||||||
|
9) If OPTIMIZE 2 and there are no OUTPUT rules and the only effective
|
||||||
|
output policy is $FW->all ACCEPT, then the OUTPUT chain is empty
|
||||||
|
and no packets can be sent.
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.4
|
||||||
|
|
||||||
|
10) If find_first_interface_address() is called in the params file, a
|
||||||
|
startup error occurs.
|
||||||
|
|
||||||
|
Workaround 1:
|
||||||
|
|
||||||
|
Surround the code that calls find_first_interface_address() with:
|
||||||
|
|
||||||
|
if [ -n "$IP" ]; then
|
||||||
|
|
||||||
|
<code that calls find_first_interface_address()>
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
Workaround 2:
|
||||||
|
|
||||||
|
At the top of /etc/shorewall/params, place this line:
|
||||||
|
|
||||||
|
[ -n "${IP:=$(which ip)" ]
|
||||||
|
|
||||||
|
Corrected in Shorewall 4.4.8.4
|
||||||
|
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
S H O R E W A L L 4 . 4 . 8
|
S H O R E W A L L 4 . 4 . 8 . 4
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
I. RELEASE 4.4 HIGHLIGHTS
|
I. RELEASE 4.4 HIGHLIGHTS
|
||||||
@@ -217,6 +217,62 @@ VI. PROBLEMS CORRECTED AND NEW FEATURES IN PRIOR RELEASES
|
|||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
I I I. P R O B L E M S C O R R E C T E D I N T H I S R E L E A S E
|
I I I. P R O B L E M S C O R R E C T E D I N T H I S R E L E A S E
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
|
4.4.8.4
|
||||||
|
|
||||||
|
1) If OPTIMIZE 2 and there were no OUTPUT rules and the only effective
|
||||||
|
output policy was $FW->all ACCEPT, then the OUTPUT chain was empty
|
||||||
|
and no packets could be sent.
|
||||||
|
|
||||||
|
2) If find_first_interface_address() was called in the params file, a
|
||||||
|
fatal error occured on start/restart.
|
||||||
|
|
||||||
|
4.4.8.3
|
||||||
|
|
||||||
|
1) A problem with optimize 4 and wildcard interface names (those
|
||||||
|
ending in '+' has been corrected. The most likely symptom of this
|
||||||
|
problem would be iptables-restore failure.
|
||||||
|
|
||||||
|
2) A second problem with optimize 4 has been corrected. This one
|
||||||
|
manifested as invalid iptables-restore input involving the 'tcpre'
|
||||||
|
mangle chain.
|
||||||
|
|
||||||
|
3) A couple of fixes to the 4.4.8.2 change for startup log naming are
|
||||||
|
included. The main symptom occurred on Debian systems where perl
|
||||||
|
reported that /etc/shorewall.conf did not exist.
|
||||||
|
|
||||||
|
4.4.8.2
|
||||||
|
|
||||||
|
1) With optimize 4, if an unnecessary NONAT rule was included in
|
||||||
|
/etc/shorewall/rules, 'shorewall start' and/or 'shorewall restart'
|
||||||
|
could fail with invalid iptables-restore input.
|
||||||
|
|
||||||
|
2) The -lite products previously were inconsistent in how they
|
||||||
|
referred to their startup log. Some references included '-lite'
|
||||||
|
where some did not. This was particularly bad in the case of the
|
||||||
|
Shorewall-lite logrotate file which duplicated the name used by the
|
||||||
|
Shorewall package. This inconsistency could cause logrotate to
|
||||||
|
fail if both packages were installed.
|
||||||
|
|
||||||
|
4.4.8.1
|
||||||
|
|
||||||
|
1) Logical interface names in the EXTERNAL column of
|
||||||
|
/etc/shorewall/proxyarp were previously not mapped to their
|
||||||
|
corresponding physical interface names. This could cause 'start' or
|
||||||
|
'restart' to fail.
|
||||||
|
|
||||||
|
2) If find_first_interface_address() cannot determine the address of
|
||||||
|
the passed interface, the following message is issued and the
|
||||||
|
process continues:
|
||||||
|
|
||||||
|
/usr/share/shorewall/lib.common: line 438:
|
||||||
|
startup_error: command not found
|
||||||
|
|
||||||
|
3) If LOG_VERBOSITY=0 in shorewall.conf, then when the compiled script
|
||||||
|
was executed, messages such as the following would be issued:
|
||||||
|
|
||||||
|
/var/lib/shorewall6/.restart: line 65: [: -gt: unary operator
|
||||||
|
expected
|
||||||
|
4.4.8
|
||||||
|
|
||||||
1) A CONTINUE rule specifying a log level would cause the compiler to
|
1) A CONTINUE rule specifying a log level would cause the compiler to
|
||||||
generate an incorrect rule sequence. The packet would be logged
|
generate an incorrect rule sequence. The packet would be logged
|
||||||
@@ -281,6 +337,16 @@ I I I. P R O B L E M S C O R R E C T E D I N T H I S R E L E A S E
|
|||||||
ERROR: iptables-restore Failed. Input is in
|
ERROR: iptables-restore Failed. Input is in
|
||||||
/var/lib/shorewall/.iptables-restore-input
|
/var/lib/shorewall/.iptables-restore-input
|
||||||
|
|
||||||
|
11) Previously, with optimization 4, the 'blacklst' chain could be
|
||||||
|
optimized away. If the blacklist file was then changed and a
|
||||||
|
'shorewall refresh' executed, those new changes would not be included
|
||||||
|
in the active ruleset.
|
||||||
|
|
||||||
|
12) In 4.4.7, it was documented that setting the 'bridge' option in an
|
||||||
|
interfaces file entry also set 'routeback'. That feature was
|
||||||
|
incomplete with the result that 'routeback' still needed to be
|
||||||
|
specified.
|
||||||
|
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
I V. K N O W N P R O B L E M S R E M A I N I N G
|
I V. K N O W N P R O B L E M S R E M A I N I N G
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
|
@@ -39,6 +39,8 @@ get_config() {
|
|||||||
ensure_config_path
|
ensure_config_path
|
||||||
|
|
||||||
if [ "$1" = Yes ]; then
|
if [ "$1" = Yes ]; then
|
||||||
|
[ -n "${IP:=ip}" ]
|
||||||
|
|
||||||
params=$(find_file params)
|
params=$(find_file params)
|
||||||
|
|
||||||
if [ -f $params ]; then
|
if [ -f $params ]; then
|
||||||
@@ -300,14 +302,19 @@ get_config() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Fatal error
|
||||||
|
#
|
||||||
|
startup_error() {
|
||||||
|
echo " ERROR: $@" >&2
|
||||||
|
kill $$
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Run the compiler
|
# Run the compiler
|
||||||
#
|
#
|
||||||
compiler() {
|
compiler() {
|
||||||
startup_error() {
|
|
||||||
echo " ERROR: $@" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if [ $(id -u) -ne 0 ]; then
|
if [ $(id -u) -ne 0 ]; then
|
||||||
if [ -z "$SHOREWALL_DIR" -o "$SHOREWALL_DIR" = /etc/shorewall ]; then
|
if [ -z "$SHOREWALL_DIR" -o "$SHOREWALL_DIR" = /etc/shorewall ]; then
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
%define name shorewall
|
%define name shorewall
|
||||||
%define version 4.4.8
|
%define version 4.4.8
|
||||||
%define release 0base
|
%define release 4
|
||||||
|
|
||||||
Summary: Shoreline Firewall is an iptables-based firewall for Linux systems.
|
Summary: Shoreline Firewall is an iptables-based firewall for Linux systems.
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
@@ -108,6 +108,14 @@ fi
|
|||||||
%doc COPYING INSTALL changelog.txt releasenotes.txt Contrib/* Samples
|
%doc COPYING INSTALL changelog.txt releasenotes.txt Contrib/* Samples
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 23 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-4
|
||||||
|
* Mon Apr 19 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-3
|
||||||
|
* Wed Apr 07 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-2
|
||||||
|
* Thu Mar 25 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-1
|
||||||
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
||||||
- Updated to 4.4.8-0base
|
- Updated to 4.4.8-0base
|
||||||
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
||||||
|
@@ -26,7 +26,7 @@
|
|||||||
# You may only use this script to uninstall the version
|
# You may only use this script to uninstall the version
|
||||||
# shown below. Simply run this script to remove Shorewall Firewall
|
# shown below. Simply run this script to remove Shorewall Firewall
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
# shown below. Simply run this script to revert to your prior version of
|
# shown below. Simply run this script to revert to your prior version of
|
||||||
# Shoreline Firewall.
|
# Shoreline Firewall.
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
@@ -327,34 +327,37 @@ if [ -z "$PREFIX" ]; then
|
|||||||
ln -s ${DEST}/${INIT} /usr/share/shorewall6-lite/init
|
ln -s ${DEST}/${INIT} /usr/share/shorewall6-lite/init
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$PREFIX" -a -n "$first_install" ]; then
|
if [ -z "$PREFIX" ]; then
|
||||||
if [ -n "$DEBIAN" ]; then
|
touch /var/log/shorewall6-lite-init.log
|
||||||
run_install $OWNERSHIP -m 0644 default.debian /etc/default/shorewall6-lite
|
|
||||||
ln -s ../init.d/shorewall6-lite /etc/rcS.d/S40shorewall6-lite
|
if [ -n "$first_install" ]; then
|
||||||
echo "Shorewall6 Lite will start automatically at boot"
|
if [ -n "$DEBIAN" ]; then
|
||||||
touch /var/log/shorewall-init.log
|
run_install $OWNERSHIP -m 0644 default.debian /etc/default/shorewall6-lite
|
||||||
else
|
ln -s ../init.d/shorewall6-lite /etc/rcS.d/S40shorewall6-lite
|
||||||
if [ -x /sbin/insserv -o -x /usr/sbin/insserv ]; then
|
echo "Shorewall6 Lite will start automatically at boot"
|
||||||
if insserv /etc/init.d/shorewall6-lite ; then
|
else
|
||||||
echo "Shorewall6 Lite will start automatically at boot"
|
if [ -x /sbin/insserv -o -x /usr/sbin/insserv ]; then
|
||||||
else
|
if insserv /etc/init.d/shorewall6-lite ; then
|
||||||
|
echo "Shorewall6 Lite will start automatically at boot"
|
||||||
|
else
|
||||||
|
cant_autostart
|
||||||
|
fi
|
||||||
|
elif [ -x /sbin/chkconfig -o -x /usr/sbin/chkconfig ]; then
|
||||||
|
if chkconfig --add shorewall6-lite ; then
|
||||||
|
echo "Shorewall6 Lite will start automatically in run levels as follows:"
|
||||||
|
chkconfig --list shorewall6-lite
|
||||||
|
else
|
||||||
|
cant_autostart
|
||||||
|
fi
|
||||||
|
elif [ -x /sbin/rc-update ]; then
|
||||||
|
if rc-update add shorewall6-lite default; then
|
||||||
|
echo "Shorewall6 Lite will start automatically at boot"
|
||||||
|
else
|
||||||
|
cant_autostart
|
||||||
|
fi
|
||||||
|
elif [ "$INIT" != rc.firewall ]; then #Slackware starts this automatically
|
||||||
cant_autostart
|
cant_autostart
|
||||||
fi
|
fi
|
||||||
elif [ -x /sbin/chkconfig -o -x /usr/sbin/chkconfig ]; then
|
|
||||||
if chkconfig --add shorewall6-lite ; then
|
|
||||||
echo "Shorewall6 Lite will start automatically in run levels as follows:"
|
|
||||||
chkconfig --list shorewall6-lite
|
|
||||||
else
|
|
||||||
cant_autostart
|
|
||||||
fi
|
|
||||||
elif [ -x /sbin/rc-update ]; then
|
|
||||||
if rc-update add shorewall6-lite default; then
|
|
||||||
echo "Shorewall6 Lite will start automatically at boot"
|
|
||||||
else
|
|
||||||
cant_autostart
|
|
||||||
fi
|
|
||||||
elif [ "$INIT" != rc.firewall ]; then #Slackware starts this automatically
|
|
||||||
cant_autostart
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/var/log/shorewall6-init.log {
|
/var/log/shorewall6-lite-init.log {
|
||||||
missingok
|
missingok
|
||||||
notifempty
|
notifempty
|
||||||
create 0600 root root
|
create 0600 root root
|
||||||
|
@@ -1,15 +1,14 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# /etc/shorewall6-lite/shorewall-lite.conf Version 4 - Change the following
|
# /etc/shorewall6-lite/shorewall6-lite.conf Version 4 - Change the following
|
||||||
# variables to override the values in the shorewall.conf file used to
|
# variables to override the values in the shorewall.conf file used to
|
||||||
# compile /var/lib/shorewall-lite/firewall. Those values may be found in
|
# compile /var/lib/shorewall-lite/firewall. Those values may be found in
|
||||||
# /var/lib/shorewall-lite/firewall.conf.
|
# /var/lib/shorewall-lite/firewall.conf.
|
||||||
#
|
#
|
||||||
# This program is under GPL [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt]
|
# For information about the settings in this file, type
|
||||||
#
|
# "man shorewall6-lite.conf"
|
||||||
# This file should be placed in /etc/shorewall-lite
|
|
||||||
#
|
|
||||||
# (c) 2006,2007,2008 - Tom Eastep (teastep@shorewall.net)
|
|
||||||
#
|
#
|
||||||
|
# Manpage also online at
|
||||||
|
# http://www.shorewall.net/manpages6/shorewall6-lite.conf.html.
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# N 0 T E
|
# N 0 T E
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
%define name shorewall6-lite
|
%define name shorewall6-lite
|
||||||
%define version 4.4.8
|
%define version 4.4.8
|
||||||
%define release 0base
|
%define release 4
|
||||||
|
|
||||||
Summary: Shoreline Firewall 6 Lite is an ip6tables-based firewall for Linux systems.
|
Summary: Shoreline Firewall 6 Lite is an ip6tables-based firewall for Linux systems.
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
@@ -92,6 +92,14 @@ fi
|
|||||||
%doc COPYING changelog.txt releasenotes.txt
|
%doc COPYING changelog.txt releasenotes.txt
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 23 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-4
|
||||||
|
* Mon Apr 19 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-3
|
||||||
|
* Wed Apr 07 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-2
|
||||||
|
* Thu Mar 25 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-1
|
||||||
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
||||||
- Updated to 4.4.8-0base
|
- Updated to 4.4.8-0base
|
||||||
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
||||||
|
@@ -26,7 +26,7 @@
|
|||||||
# You may only use this script to uninstall the version
|
# You may only use this script to uninstall the version
|
||||||
# shown below. Simply run this script to remove Shorewall Firewall
|
# shown below. Simply run this script to remove Shorewall Firewall
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -28,7 +28,7 @@
|
|||||||
# shown below. Simply run this script to revert to your prior version of
|
# shown below. Simply run this script to revert to your prior version of
|
||||||
# Shoreline Firewall.
|
# Shoreline Firewall.
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -22,7 +22,7 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
@@ -256,10 +256,19 @@ fi
|
|||||||
#
|
#
|
||||||
run_install $OWNERSHIP -m 0644 shorewall6.conf ${PREFIX}/usr/share/shorewall6/configfiles/shorewall6.conf
|
run_install $OWNERSHIP -m 0644 shorewall6.conf ${PREFIX}/usr/share/shorewall6/configfiles/shorewall6.conf
|
||||||
|
|
||||||
qt mywhich perl && perl -p -w -i -e 's|^CONFIG_PATH=.*|CONFIG_PATH=/usr/share/shorewall6/configfiles:/usr/share/shorewall6|;' ${PREFIX}/usr/share/shorewall6/configfiles/shorewall6.conf
|
perl -p -w -i -e 's|^CONFIG_PATH=.*|CONFIG_PATH=/usr/share/shorewall6/configfiles:/usr/share/shorewall6|;' ${PREFIX}/usr/share/shorewall6/configfiles/shorewall6.conf
|
||||||
|
perl -p -w -i -e 's|^STARTUP_LOG=.*|STARTUP_LOG=/var/log/shorewall6-lite-init.log|;' ${PREFIX}/usr/share/shorewall6/configfiles/shorewall6.conf
|
||||||
|
|
||||||
if [ ! -f ${PREFIX}/etc/shorewall6/shorewall6.conf ]; then
|
if [ ! -f ${PREFIX}/etc/shorewall6/shorewall6.conf ]; then
|
||||||
run_install $OWNERSHIP -m 0644 shorewall6.conf ${PREFIX}/etc/shorewall6/shorewall6.conf
|
run_install $OWNERSHIP -m 0644 shorewall6.conf ${PREFIX}/etc/shorewall6/shorewall6.conf
|
||||||
|
|
||||||
|
if [ -n "$DEBIAN" ] && mywhich perl; then
|
||||||
|
#
|
||||||
|
# Make a Debian-like shorewall6.conf
|
||||||
|
#
|
||||||
|
perl -p -w -i -e 's|^STARTUP_ENABLED=.*|STARTUP_ENABLED=Yes|;' ${PREFIX}/etc/shorewall6/shorewall6.conf
|
||||||
|
fi
|
||||||
|
|
||||||
echo "Config file installed as ${PREFIX}/etc/shorewall6/shorewall6.conf"
|
echo "Config file installed as ${PREFIX}/etc/shorewall6/shorewall6.conf"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@@ -39,6 +39,8 @@ get_config() {
|
|||||||
ensure_config_path
|
ensure_config_path
|
||||||
|
|
||||||
if [ "$1" = Yes ]; then
|
if [ "$1" = Yes ]; then
|
||||||
|
[ -n "${IP:=ip}" ]
|
||||||
|
|
||||||
params=$(find_file params)
|
params=$(find_file params)
|
||||||
|
|
||||||
if [ -f $params ]; then
|
if [ -f $params ]; then
|
||||||
@@ -226,17 +228,21 @@ get_config() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Issue an error message and die
|
||||||
|
#
|
||||||
|
startup_error() {
|
||||||
|
echo " ERROR: $@" >&2
|
||||||
|
kill $$
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Run the appropriate compiler
|
# Run the appropriate compiler
|
||||||
#
|
#
|
||||||
compiler() {
|
compiler() {
|
||||||
pc=${PERLSHAREDIR}/compiler.pl
|
pc=${PERLSHAREDIR}/compiler.pl
|
||||||
|
|
||||||
startup_error() {
|
|
||||||
echo " ERROR: $@" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
local command
|
local command
|
||||||
command=$1
|
command=$1
|
||||||
|
|
||||||
|
@@ -1,19 +1,11 @@
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
# /etc/shorewalls/shorewall6.conf Version 4 - Change the following variables to
|
|
||||||
# match your setup
|
|
||||||
#
|
#
|
||||||
# This program is under GPL
|
# Shorewall Version 4 -- /etc/shorewall6/shorewall6.conf
|
||||||
# [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt]
|
|
||||||
#
|
|
||||||
# This file should be placed in /etc/shorewall
|
|
||||||
#
|
|
||||||
# (c) 1999,2000,2001,2002,2003,2004,2005,
|
|
||||||
# 2006,2007,2008 - Tom Eastep (teastep@shorewall.net)
|
|
||||||
#
|
#
|
||||||
# For information about the settings in this file, type "man shorewall6.conf"
|
# For information about the settings in this file, type "man shorewall6.conf"
|
||||||
#
|
#
|
||||||
# Additional information is available at
|
# Manpage also online at
|
||||||
# http://www.shorewall.net/Documentation.htm#Conf
|
# http://www.shorewall.net/manpages6/shorewall6.conf.html
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# S T A R T U P E N A B L E D
|
# S T A R T U P E N A B L E D
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
%define name shorewall6
|
%define name shorewall6
|
||||||
%define version 4.4.8
|
%define version 4.4.8
|
||||||
%define release 0base
|
%define release 4
|
||||||
|
|
||||||
Summary: Shoreline Firewall 6 is an ip6tables-based firewall for Linux systems.
|
Summary: Shoreline Firewall 6 is an ip6tables-based firewall for Linux systems.
|
||||||
Name: %{name}
|
Name: %{name}
|
||||||
@@ -97,6 +97,14 @@ fi
|
|||||||
%doc COPYING INSTALL changelog.txt releasenotes.txt tunnel ipsecvpn ipv6 Samples6
|
%doc COPYING INSTALL changelog.txt releasenotes.txt tunnel ipsecvpn ipv6 Samples6
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Apr 23 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-4
|
||||||
|
* Mon Apr 19 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-3
|
||||||
|
* Wed Apr 07 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-2
|
||||||
|
* Thu Mar 25 2010 Tom Eastep tom@shorewall.net
|
||||||
|
- Updated to 4.4.8-1
|
||||||
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
* Fri Mar 19 2010 Tom Eastep tom@shorewall.net
|
||||||
- Updated to 4.4.8-0base
|
- Updated to 4.4.8-0base
|
||||||
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
* Tue Mar 16 2010 Tom Eastep tom@shorewall.net
|
||||||
|
@@ -26,7 +26,7 @@
|
|||||||
# You may only use this script to uninstall the version
|
# You may only use this script to uninstall the version
|
||||||
# shown below. Simply run this script to remove Shorewall Firewall
|
# shown below. Simply run this script to remove Shorewall Firewall
|
||||||
|
|
||||||
VERSION=4.4.8
|
VERSION=4.4.8.4
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
|
@@ -413,6 +413,10 @@ FTP(DNAT) net loc:192.168.1.5</programlisting>
|
|||||||
# PORT(S) PORT(S) DESTINATION
|
# PORT(S) PORT(S) DESTINATION
|
||||||
FTP(ACCEPT) dmz net</programlisting>
|
FTP(ACCEPT) dmz net</programlisting>
|
||||||
</example></para>
|
</example></para>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section>
|
||||||
|
<title id="Issues">Issues</title>
|
||||||
|
|
||||||
<para>Note that the FTP connection tracking in the kernel cannot handle
|
<para>Note that the FTP connection tracking in the kernel cannot handle
|
||||||
cases where a PORT command (or PASV reply) is broken across two packets or
|
cases where a PORT command (or PASV reply) is broken across two packets or
|
||||||
|
@@ -1522,7 +1522,7 @@ EOF
|
|||||||
# Since LSM assumes that interfaces start in the 'up' state, remove any
|
# Since LSM assumes that interfaces start in the 'up' state, remove any
|
||||||
# existing status files that might have an interface in the down state
|
# existing status files that might have an interface in the down state
|
||||||
#
|
#
|
||||||
rm -f /etc/shorewall/*.status
|
rm -f /var/lib/shorewall/*.status
|
||||||
#
|
#
|
||||||
# Run LSM -- by default, it forks into the background
|
# Run LSM -- by default, it forks into the background
|
||||||
#
|
#
|
||||||
|
@@ -86,6 +86,46 @@
|
|||||||
|
|
||||||
127.0.0.1 localhost
|
127.0.0.1 localhost
|
||||||
|
|
||||||
|
<emphasis role="bold">172.20.0.1 openvpn.shorewall.net openvpn
|
||||||
|
172.20.0.2 vpn02.shorewall.net vpn02
|
||||||
|
172.20.0.3 vpn03.shorewall.net vpn03
|
||||||
|
172.20.0.4 vpn04.shorewall.net vpn04
|
||||||
|
172.20.0.5 vpn05.shorewall.net vpn05
|
||||||
|
172.20.0.6 vpn06.shorewall.net vpn06
|
||||||
|
172.20.0.7 vpn07.shorewall.net vpn07
|
||||||
|
172.20.0.8 vpn08.shorewall.net vpn08
|
||||||
|
172.20.0.9 vpn09.shorewall.net vpn09
|
||||||
|
172.20.0.10 vpn10.shorewall.net vpn10
|
||||||
|
172.20.0.11 vpn11.shorewall.net vpn11
|
||||||
|
172.20.0.12 vpn12.shorewall.net vpn12
|
||||||
|
172.20.0.13 vpn13.shorewall.net vpn13
|
||||||
|
172.20.0.14 vpn14.shorewall.net vpn14
|
||||||
|
172.20.0.15 vpn15.shorewall.net vpn15
|
||||||
|
172.20.0.16 vpn16.shorewall.net vpn16
|
||||||
|
|
||||||
|
172.20.1.1 linksys.shorewall.net linksys
|
||||||
|
172.20.1.100 hp8500.shorewall.net hp8500
|
||||||
|
172.20.1.102 ursa.shorewall.net ursa
|
||||||
|
172.20.1.105 tarry.shorewall.net tarry
|
||||||
|
172.20.1.107 teastep.shorewall.net teastep
|
||||||
|
172.20.1.109 hpmini.shorewall.net hpmini
|
||||||
|
|
||||||
|
172.20.1.130 lanursa.shorewall.net lanursa
|
||||||
|
172.20.1.131 wookie.shorewall.net wookie
|
||||||
|
172.20.1.132 tipper.shorewall.net tipper
|
||||||
|
172.20.1.133 nasty.shorewall.net nasty
|
||||||
|
172.20.1.134 ursadog.shorewall.net ursadog
|
||||||
|
172.20.1.135 opensuse.shorewall.net opensuse
|
||||||
|
172.20.1.136 centos.shorewall.net centos
|
||||||
|
172.20.1.137 fedora.shorewall.net fedora
|
||||||
|
172.20.1.138 debian.shorewall.net debian
|
||||||
|
172.20.1.139 archlinux.shorewall.net archlinux
|
||||||
|
172.20.1.140 foobar.shorewall.net foobar
|
||||||
|
172.20.1.141 deblap.shorewall.net deblap
|
||||||
|
172.20.1.254 firewall.shorewall.net firewall
|
||||||
|
|
||||||
|
206.124.146.254 blarg.shorewall.net blarg
|
||||||
|
</emphasis>
|
||||||
# special IPv6 addresses
|
# special IPv6 addresses
|
||||||
::1 localhost ipv6-localhost ipv6-loopback
|
::1 localhost ipv6-localhost ipv6-loopback
|
||||||
|
|
||||||
@@ -95,24 +135,18 @@ ff00::0 ipv6-mcastprefix
|
|||||||
ff02::1 ipv6-allnodes
|
ff02::1 ipv6-allnodes
|
||||||
ff02::2 ipv6-allrouters
|
ff02::2 ipv6-allrouters
|
||||||
ff02::3 ipv6-allhosts
|
ff02::3 ipv6-allhosts
|
||||||
127.0.0.2 ursa.shorewall.net ursa
|
|
||||||
<emphasis role="bold">172.20.1.1 linksys.shorewall.net linksys
|
<emphasis role="bold">2002:ce7c:92b4::1 gateway6.shorewall.net gateway6
|
||||||
192.168.0.1 opensuse.shorewall.net opensuse
|
2002:ce7c:92b4:1::2 mail6.shorewall.net mail6
|
||||||
192.168.0.2 debian.shorewall.net debian
|
2002:ce7c:92b4:1::2 lists6.shorewall.net lists6
|
||||||
192.168.0.3 ubuntu.shorewall.net ubuntu
|
2002:ce7c:92b4:2::2 server6.shorewall.net server6</emphasis>
|
||||||
192.168.0.4 fedora.shoreawll.net fedora
|
|
||||||
192.168.0.5 opensuse11.shorewall.net opensuse11
|
|
||||||
192.168.0.6 centos.shorewall.net centos
|
|
||||||
192.168.0.7 debian32.shorewall.net debian32
|
|
||||||
192.168.0.8 fedora9.shorewall.net fedora9</emphasis>
|
|
||||||
206.124.146.254 blarg.shorewall.net blarg
|
|
||||||
</programlisting></para>
|
</programlisting></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Configure your local network hosts to use the firewall/router as
|
<para> If your local hosts are configured using DHCP, that is a simple
|
||||||
their DNS server. If your local hosts are configured using DHCP, that
|
one-line change to the DHCP configuration.</para>
|
||||||
is a simple one-line change to the DHCP configuration.</para>
|
|
||||||
</listitem>
|
</listitem>
|
||||||
</orderedlist>
|
</orderedlist>
|
||||||
|
|
||||||
@@ -128,8 +162,45 @@ ff02::3 ipv6-allhosts
|
|||||||
linksys.shorewall.net has address 206.124.146.180
|
linksys.shorewall.net has address 206.124.146.180
|
||||||
gateway:~ # </programlisting></para>
|
gateway:~ # </programlisting></para>
|
||||||
|
|
||||||
<para>From ubuntu (192.168.0.3):<programlisting>teastep@ubuntu:~$ host linksys
|
<para>From Tipper (192.168.1.132):<programlisting>teastep@tipper:~$ host linksys
|
||||||
linksys.shorewall.net has address 172.20.1.1
|
linksys.shorewall.net has address 172.20.1.1
|
||||||
teastep@ubuntu:~$ </programlisting></para>
|
teastep@tipper:~$ </programlisting></para>
|
||||||
|
|
||||||
|
<para>As a bonus, dnsmasq can also act as a DHCP server. Here are some
|
||||||
|
exerpts from the corresponding /etc/dnsmasq.conf:</para>
|
||||||
|
|
||||||
|
<programlisting>interface=eth1
|
||||||
|
|
||||||
|
dhcp-range=172.20.1.210,172.20.1.219,24h
|
||||||
|
|
||||||
|
dhcp-host=00:11:85:89:da:9b,172.20.1.220
|
||||||
|
|
||||||
|
dhcp-host=00:1A:73:DB:8C:35,172.20.1.102
|
||||||
|
dhcp-host=00:25:B3:9F:5B:FD,172.20.1.100
|
||||||
|
dhcp-host=00:1F:E1:07:53:CA,172.20.1.105
|
||||||
|
dhcp-host=00:1F:29:7B:04:04,172.20.1.107
|
||||||
|
dhcp-host=00:24:2b:59:96:e2,172.20.1.109
|
||||||
|
|
||||||
|
dhcp-host=00:1B:24:CB:2B:CC,172.20.1.130
|
||||||
|
dhcp-host=00:21:5a:22:ac:e0,172.20.1.131
|
||||||
|
dhcp-host=08:00:27:B1:46:a9,172.20.1.132
|
||||||
|
dhcp-host=08:00:27:31:45:83,172.20.1.133
|
||||||
|
dhcp-host=08:00:27:28:64:50,172.20.1.134
|
||||||
|
dhcp-host=08:00:27:4b:38:88,172.20.1.135
|
||||||
|
dhcp-host=08:00:27:f6:4d:65,172.20.1.136
|
||||||
|
dhcp-host=08:00:27:dc:cd:94,172.20.1.137
|
||||||
|
dhcp-host=08:00:27:0f:d3:8f,172.20.1.138
|
||||||
|
dhcp-host=08:00:27:42:9c:01,172.20.1.139
|
||||||
|
dhcp-host=08:00:27:5a:6c:d8,172.20.1.140
|
||||||
|
dhcp-host=08:00:27:da:96:78,172.20.1.141
|
||||||
|
|
||||||
|
dhcp-option=19,0 # option ip-forwarding off
|
||||||
|
dhcp-option=44,0.0.0.0 # set netbios-over-TCP/IP nameserver(s) aka WINS server(s)
|
||||||
|
dhcp-option=45,0.0.0.0 # netbios datagram distribution server
|
||||||
|
dhcp-option=46,8 # netbios node type
|
||||||
|
dhcp-option=47 # empty netbios scope.
|
||||||
|
|
||||||
|
dhcp-option=option:domain-search,shorewall.net
|
||||||
|
</programlisting>
|
||||||
</section>
|
</section>
|
||||||
</article>
|
</article>
|
@@ -935,7 +935,8 @@ net all DROP info</programlisting>then the chain name is 'net2all'
|
|||||||
logged packets. Please see iptables(8) for a description of the
|
logged packets. Please see iptables(8) for a description of the
|
||||||
behavior of these parameters (the iptables option --limit is set by
|
behavior of these parameters (the iptables option --limit is set by
|
||||||
LOGRATE and --limit-burst is set by LOGBURST). If both parameters
|
LOGRATE and --limit-burst is set by LOGBURST). If both parameters
|
||||||
are set empty, no rate-limiting will occur.</para>
|
are set empty, no rate-limiting will occur. If you supply one of
|
||||||
|
these, then you should also supply the other.</para>
|
||||||
|
|
||||||
<para>Example:</para>
|
<para>Example:</para>
|
||||||
|
|
||||||
@@ -1222,6 +1223,10 @@ net all DROP info</programlisting>then the chain name is 'net2all'
|
|||||||
<para>action chains (user-defined)</para>
|
<para>action chains (user-defined)</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>'blacklst' chain</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>dynamic</para>
|
<para>dynamic</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
@@ -812,7 +812,8 @@ net all DROP info</programlisting>then the chain name is 'net2all'
|
|||||||
logged packets. Please see ip6tables(8) for a description of the
|
logged packets. Please see ip6tables(8) for a description of the
|
||||||
behavior of these parameters (the ip6tables option --limit is set by
|
behavior of these parameters (the ip6tables option --limit is set by
|
||||||
LOGRATE and --limit-burst is set by LOGBURST). If both parameters
|
LOGRATE and --limit-burst is set by LOGBURST). If both parameters
|
||||||
are set empty, no rate-limiting will occur.</para>
|
are set empty, no rate-limiting will occur. If you supply one of
|
||||||
|
these, then you should also supply the other.</para>
|
||||||
|
|
||||||
<para>Example:</para>
|
<para>Example:</para>
|
||||||
|
|
||||||
@@ -1010,6 +1011,10 @@ net all DROP info</programlisting>then the chain name is 'net2all'
|
|||||||
<para>action chains (user-defined)</para>
|
<para>action chains (user-defined)</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>'blacklst' chain</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>dynamic</para>
|
<para>dynamic</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
Reference in New Issue
Block a user