mirror of
https://gitlab.com/shorewall/code.git
synced 2025-02-23 21:21:49 +01:00
Add the '-p' option to start/restart (purge the conntrack table)
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@8485 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
da78a4d453
commit
e1c1468e82
@ -6,6 +6,8 @@ Changes in 4.1.8
|
|||||||
|
|
||||||
3) Improvements in parsing.
|
3) Improvements in parsing.
|
||||||
|
|
||||||
|
4) Add the -p option to start and stop
|
||||||
|
|
||||||
Changes in 4.1.7
|
Changes in 4.1.7
|
||||||
|
|
||||||
1) Fix port verification.
|
1) Fix port verification.
|
||||||
|
@ -107,6 +107,7 @@ loadmodule sch_sfq
|
|||||||
loadmodule sch_ingress
|
loadmodule sch_ingress
|
||||||
loadmodule sch_htb
|
loadmodule sch_htb
|
||||||
loadmodule cls_u32
|
loadmodule cls_u32
|
||||||
|
loadmodule cls_fw
|
||||||
loadmodule act_police
|
loadmodule act_police
|
||||||
#
|
#
|
||||||
# Extensions
|
# Extensions
|
||||||
|
@ -85,6 +85,12 @@ Problems Corrected in Shorewall 4.1.8
|
|||||||
the value of that variable was not passed to the shorewall[-lite]
|
the value of that variable was not passed to the shorewall[-lite]
|
||||||
command.
|
command.
|
||||||
|
|
||||||
|
3) With both Shorewall and Shorewall Lite, the 'start' and 'restart'
|
||||||
|
commands now support a '-p' option. This option causes the
|
||||||
|
Netfilter connection tracking table to be flushed (purged) as part
|
||||||
|
of the operation. The 'conntrack' utility must be installed to use
|
||||||
|
this option.
|
||||||
|
|
||||||
Other Changes in Shoreall 4.1.8.
|
Other Changes in Shoreall 4.1.8.
|
||||||
|
|
||||||
1) When using Shorewall-perl, the CEIL and RATE columns must now
|
1) When using Shorewall-perl, the CEIL and RATE columns must now
|
||||||
|
@ -484,6 +484,11 @@ start_command() {
|
|||||||
FAST=Yes
|
FAST=Yes
|
||||||
option=${option#f}
|
option=${option#f}
|
||||||
;;
|
;;
|
||||||
|
p*)
|
||||||
|
[ -n "$(which conntrack)" ] || fatal_error "The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
||||||
|
PURGE=Yes
|
||||||
|
option=${option%p}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@ -520,6 +525,7 @@ start_command() {
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
export NOROUTES
|
export NOROUTES
|
||||||
|
export PURGE
|
||||||
|
|
||||||
if [ -n "$FAST" ]; then
|
if [ -n "$FAST" ]; then
|
||||||
if qt mywhich make; then
|
if qt mywhich make; then
|
||||||
@ -765,6 +771,11 @@ restart_command() {
|
|||||||
option=
|
option=
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
p*)
|
||||||
|
[ -n "$(which conntrack)" ] || fatal_error "The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
||||||
|
PURGE=Yes
|
||||||
|
option=${option%p}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@ -803,6 +814,7 @@ restart_command() {
|
|||||||
[ -n "$STARTUP_ENABLED" ] || fatal_error "Startup is disabled"
|
[ -n "$STARTUP_ENABLED" ] || fatal_error "Startup is disabled"
|
||||||
|
|
||||||
export NOROUTES
|
export NOROUTES
|
||||||
|
export PURGE
|
||||||
|
|
||||||
progress_message3 "Compiling..."
|
progress_message3 "Compiling..."
|
||||||
|
|
||||||
@ -1416,11 +1428,11 @@ usage() # $1 = exit status
|
|||||||
echo " reject <address> ..."
|
echo " reject <address> ..."
|
||||||
echo " reload [ -s ] [ -c ] [ -r <root user> ] [ -C {shell|perl} ] [ <directory> ] <system>"
|
echo " reload [ -s ] [ -c ] [ -r <root user> ] [ -C {shell|perl} ] [ <directory> ] <system>"
|
||||||
echo " reset"
|
echo " reset"
|
||||||
echo " restart [ -n ] [ -C {shell|perl} ] [ <directory> ]"
|
echo " restart [ -n ] [ -p ] [ -C {shell|perl} ] [ <directory> ]"
|
||||||
echo " restore [ -n ] [ <file name> ]"
|
echo " restore [ -n ] [ <file name> ]"
|
||||||
echo " save [ <file name> ]"
|
echo " save [ <file name> ]"
|
||||||
echo " show [ -x ] [ -m ] [-f] [ -t {filter|mangle|nat} ] [ {chain [<chain> [ <chain> ... ]|actions|capabilities|classifiers|config|connections|filters|ip|log|macros|mangle|nat|routing|tc|vardir|zones} ]"
|
echo " show [ -x ] [ -m ] [-f] [ -t {filter|mangle|nat} ] [ {chain [<chain> [ <chain> ... ]|actions|capabilities|classifiers|config|connections|filters|ip|log|macros|mangle|nat|routing|tc|vardir|zones} ]"
|
||||||
echo " start [ -f ] [ -n ] [ -C {shell|perl} ] [ <directory> ]"
|
echo " start [ -f ] [ -n ] [ -p ] [ -C {shell|perl} ] [ <directory> ]"
|
||||||
echo " stop [ -f ]"
|
echo " stop [ -f ]"
|
||||||
echo " status"
|
echo " status"
|
||||||
echo " try [ -C {shell|perl} ] <directory> [ <timeout> ]"
|
echo " try [ -C {shell|perl} ] <directory> [ <timeout> ]"
|
||||||
@ -1454,6 +1466,7 @@ FAST=
|
|||||||
VERBOSE_OFFSET=0
|
VERBOSE_OFFSET=0
|
||||||
USE_VERBOSITY=
|
USE_VERBOSITY=
|
||||||
NOROUTES=
|
NOROUTES=
|
||||||
|
PURGE=
|
||||||
EXPORT=
|
EXPORT=
|
||||||
export TIMESTAMP=
|
export TIMESTAMP=
|
||||||
noroutes=
|
noroutes=
|
||||||
|
@ -222,6 +222,11 @@ start_command() {
|
|||||||
FAST=Yes
|
FAST=Yes
|
||||||
option=${option#f}
|
option=${option#f}
|
||||||
;;
|
;;
|
||||||
|
p*)
|
||||||
|
[ -n "$(which conntrack)" ] || fatal_error "The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
||||||
|
PURGE=Yes
|
||||||
|
option=${option%p}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@ -311,6 +316,11 @@ restart_command() {
|
|||||||
NOROUTES=Yes
|
NOROUTES=Yes
|
||||||
option=${option#n}
|
option=${option#n}
|
||||||
;;
|
;;
|
||||||
|
p*)
|
||||||
|
[ -n "$(which conntrack)" ] || fatal_error "The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
||||||
|
PURGE=Yes
|
||||||
|
option=${option%p}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@ -371,11 +381,11 @@ usage() # $1 = exit status
|
|||||||
echo " logwatch [<refresh interval>]"
|
echo " logwatch [<refresh interval>]"
|
||||||
echo " reject <address> ..."
|
echo " reject <address> ..."
|
||||||
echo " reset"
|
echo " reset"
|
||||||
echo " restart [ -n ]"
|
echo " restart [ -n ] [ -p ]"
|
||||||
echo " restore [ -n ] [ <file name> ]"
|
echo " restore [ -n ] [ <file name> ]"
|
||||||
echo " save [ <file name> ]"
|
echo " save [ <file name> ]"
|
||||||
echo " show [ -x ] [ -m ] [ -f ] [ -t {filter|mangle|nat} ] [ {chain [<chain> [ <chain> ... ]|capabilities|classifiers|config|connections|filters|ip|log|mangle|nat|routing|tc|vardir|zones} ]"
|
echo " show [ -x ] [ -m ] [ -f ] [ -t {filter|mangle|nat} ] [ {chain [<chain> [ <chain> ... ]|capabilities|classifiers|config|connections|filters|ip|log|mangle|nat|routing|tc|vardir|zones} ]"
|
||||||
echo " start [ -f ] [ -n ]"
|
echo " start [ -f ] [ -n ] [ -p ]"
|
||||||
echo " stop"
|
echo " stop"
|
||||||
echo " status"
|
echo " status"
|
||||||
echo " version"
|
echo " version"
|
||||||
|
@ -671,6 +671,7 @@ EOF
|
|||||||
else
|
else
|
||||||
setup_netfilter
|
setup_netfilter
|
||||||
restore_dynamic_rules
|
restore_dynamic_rules
|
||||||
|
conditionally_flush_conntrack
|
||||||
EOF
|
EOF
|
||||||
setup_forwarding;
|
setup_forwarding;
|
||||||
emit<<'EOF';
|
emit<<'EOF';
|
||||||
|
@ -1002,6 +1002,20 @@ find_mac() # $1 = IP address, $2 = interface
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Flush the conntrack table if $PURGE is non-empty
|
||||||
|
#
|
||||||
|
conditionally_flush_conntrack() {
|
||||||
|
|
||||||
|
if [ -n "$PURGE" ]; then
|
||||||
|
if [ -n $(which conntrack) ]; then
|
||||||
|
conntrack -F
|
||||||
|
else
|
||||||
|
error_message "WARNING: The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# End of functions imported from /usr/share/shorewall/lib.base
|
# End of functions imported from /usr/share/shorewall/lib.base
|
||||||
################################################################################
|
################################################################################
|
||||||
|
@ -72,7 +72,10 @@ case "$COMMAND" in
|
|||||||
progress_message3 "Starting $PRODUCT...."
|
progress_message3 "Starting $PRODUCT...."
|
||||||
define_firewall
|
define_firewall
|
||||||
status=$?
|
status=$?
|
||||||
[ -n "$SUBSYSLOCK" -a $status -eq 0 ] && touch $SUBSYSLOCK
|
if [ $status -eq 0 ]; then
|
||||||
|
[ -n "$PURGE" ] && conntrack -F
|
||||||
|
[ -n "$SUBSYSLOCK" ] && touch $SUBSYSLOCK
|
||||||
|
fi
|
||||||
progress_message3 "done."
|
progress_message3 "done."
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -106,9 +109,14 @@ case "$COMMAND" in
|
|||||||
|
|
||||||
define_firewall
|
define_firewall
|
||||||
status=$?
|
status=$?
|
||||||
if [ -n "$SUBSYSLOCK" ]; then
|
|
||||||
[ $status -eq 0 ] && touch $SUBSYSLOCK || rm -f $SUBSYSLOCK
|
if [ $status -eq 0 ]; then
|
||||||
|
[ -n "$PURGE" ] && conntrack -F
|
||||||
|
[ -n "$SUBSYSLOCK" ] && touch $SUBSYSLOCK
|
||||||
|
else
|
||||||
|
[ -n "$SUBSYSLOCK" ] && rm -f $SUBSYSLOCK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
progress_message3 "done."
|
progress_message3 "done."
|
||||||
;;
|
;;
|
||||||
refresh)
|
refresh)
|
||||||
|
@ -190,7 +190,7 @@
|
|||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg
|
<arg
|
||||||
choice="plain"><option>restart</option><arg><option>-n</option></arg></arg>
|
choice="plain"><option>restart</option><arg><option>-n</option></arg><arg><option>-p</option></arg></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
@ -316,7 +316,7 @@
|
|||||||
|
|
||||||
<arg><option>-n</option></arg>
|
<arg><option>-n</option></arg>
|
||||||
|
|
||||||
<arg><option>-f</option></arg>
|
<arg><option>-f</option><arg><option>-p</option></arg></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
@ -580,9 +580,14 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Restart is similar to <emphasis role="bold">shorewall-lite
|
<para>Restart is similar to <emphasis role="bold">shorewall-lite
|
||||||
stop</emphasis> followed by <emphasis role="bold">shorewall-lite
|
stop</emphasis> followed by <emphasis role="bold">shorewall-lite
|
||||||
start</emphasis>. Existing connections are maintained. The
|
start</emphasis>. Existing connections are maintained.</para>
|
||||||
<option>-n</option> option causes Shorewall to avoid updating the
|
|
||||||
routing table(s).</para>
|
<para>The <option>-n</option> option causes Shorewall to avoid
|
||||||
|
updating the routing table(s).</para>
|
||||||
|
|
||||||
|
<para>The <option>-p</option> option causes the connection tracking
|
||||||
|
table to be flushed; the <command>conntrack</command> utility must
|
||||||
|
be installed to use this option.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@ -763,10 +768,14 @@
|
|||||||
saved configuration specified by the RESTOREFILE option in <ulink
|
saved configuration specified by the RESTOREFILE option in <ulink
|
||||||
url="shorewall-lite.conf.html">shorewall-lite.conf</ulink>(5) will
|
url="shorewall-lite.conf.html">shorewall-lite.conf</ulink>(5) will
|
||||||
be restored if that saved configuration exists and has been modified
|
be restored if that saved configuration exists and has been modified
|
||||||
more recently than the files in /etc/shorewall.</para>
|
more recently than the files in /etc/shorewall. </para>
|
||||||
|
|
||||||
<para>The <option>-n</option> option causes Shorewall to avoid
|
<para>The <option>-n</option> option causes Shorewall to avoid
|
||||||
updating the routing table(s).</para>
|
updating the routing table(s).</para>
|
||||||
|
|
||||||
|
<para>The <option>-p</option> option causes the connection tracking
|
||||||
|
table to be flushed; the <command>conntrack</command> utility must
|
||||||
|
be installed to use this option.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@ -354,6 +354,8 @@
|
|||||||
|
|
||||||
<arg><option>-n</option></arg>
|
<arg><option>-n</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-p</option></arg>
|
||||||
|
|
||||||
<arg><option>-C</option> <option>{shell|perl}</option></arg>
|
<arg><option>-C</option> <option>{shell|perl}</option></arg>
|
||||||
|
|
||||||
<arg><replaceable>directory</replaceable></arg>
|
<arg><replaceable>directory</replaceable></arg>
|
||||||
@ -523,6 +525,8 @@
|
|||||||
|
|
||||||
<arg><option>-f</option></arg>
|
<arg><option>-f</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-n</option></arg>
|
||||||
|
|
||||||
<arg><replaceable>directory</replaceable></arg>
|
<arg><replaceable>directory</replaceable></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
@ -1056,6 +1060,10 @@
|
|||||||
<para>The <option>-n</option> option causes Shorewall to avoid
|
<para>The <option>-n</option> option causes Shorewall to avoid
|
||||||
updating the routing table(s).</para>
|
updating the routing table(s).</para>
|
||||||
|
|
||||||
|
<para>The <option>-p</option> option causes the connection tracking
|
||||||
|
table to be flushed; the <command>conntrack</command> utility must
|
||||||
|
be installed to use this option.</para>
|
||||||
|
|
||||||
<para>The <option>-C</option> option determines the compiler to use
|
<para>The <option>-C</option> option determines the compiler to use
|
||||||
(Shorewall-shell or Shorewall-perl). If not specified, the
|
(Shorewall-shell or Shorewall-perl). If not specified, the
|
||||||
SHOREWALL_COMPILER setting in <ulink
|
SHOREWALL_COMPILER setting in <ulink
|
||||||
@ -1307,6 +1315,10 @@
|
|||||||
<para>The <option>-n</option> option causes Shorewall to avoid
|
<para>The <option>-n</option> option causes Shorewall to avoid
|
||||||
updating the routing table(s).</para>
|
updating the routing table(s).</para>
|
||||||
|
|
||||||
|
<para>The <option>-p</option> option causes the connection tracking
|
||||||
|
table to be flushed; the <command>conntrack</command> utility must
|
||||||
|
be installed to use this option.</para>
|
||||||
|
|
||||||
<para>The <option>-C</option> option determines the compiler to use
|
<para>The <option>-C</option> option determines the compiler to use
|
||||||
(Shorewall-shell or Shorewall-perl). If not specified, the
|
(Shorewall-shell or Shorewall-perl). If not specified, the
|
||||||
SHOREWALL_COMPILER setting in <ulink
|
SHOREWALL_COMPILER setting in <ulink
|
||||||
|
Loading…
Reference in New Issue
Block a user