mirror of
https://gitlab.com/shorewall/code.git
synced 2025-06-20 01:37:59 +02:00
Add 'reload' command
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@4099 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
fb4ef97840
commit
1a58eafd64
@ -248,6 +248,15 @@ reset)
|
|||||||
All the packet and byte counters in the firewall are reset."
|
All the packet and byte counters in the firewall are reset."
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
reload)
|
||||||
|
echo "reload: reload <system>
|
||||||
|
Causes the shorewall configuration in the current working directory to be
|
||||||
|
compiled into a program called 'firewall'. If compilation is successful,
|
||||||
|
the 'firewall' script is copied via scp to the /usr/share/shorewall-lite/
|
||||||
|
directory on <system>. If the script is copied successfully, Shorewall
|
||||||
|
Lite on <system> is restarted via ssh."
|
||||||
|
;;
|
||||||
|
|
||||||
restart)
|
restart)
|
||||||
echo "restart: restart [ -n ] [ <configuration-directory> ]
|
echo "restart: restart [ -n ] [ <configuration-directory> ]
|
||||||
Restart is the same as a shorewall stop && shorewall start.
|
Restart is the same as a shorewall stop && shorewall start.
|
||||||
|
@ -1282,6 +1282,13 @@ restore_command() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
#
|
#
|
||||||
|
# Reload command executor
|
||||||
|
#
|
||||||
|
reload_command()
|
||||||
|
{
|
||||||
|
shorewall compile -e . firewall && scp firewall root@${1}:/usr/share/shorewall-lite/ && ssh root@${1} '/sbin/shorewall-lite restart' && progress_message3 "System $1 reloaded"
|
||||||
|
}
|
||||||
|
#
|
||||||
# Help information
|
# Help information
|
||||||
#
|
#
|
||||||
help()
|
help()
|
||||||
@ -1316,6 +1323,7 @@ usage() # $1 = exit status
|
|||||||
echo " logwatch [<refresh interval>]"
|
echo " logwatch [<refresh interval>]"
|
||||||
echo " refresh"
|
echo " refresh"
|
||||||
echo " reject <address> ..."
|
echo " reject <address> ..."
|
||||||
|
echo " reload <system>"
|
||||||
echo " reset"
|
echo " reset"
|
||||||
echo " restart [ -n ] [ <directory> ]"
|
echo " restart [ -n ] [ <directory> ]"
|
||||||
echo " restore [ -n ] [ <file name> ]"
|
echo " restore [ -n ] [ <file name> ]"
|
||||||
@ -1622,6 +1630,11 @@ case "$COMMAND" in
|
|||||||
shift
|
shift
|
||||||
show_command $@
|
show_command $@
|
||||||
;;
|
;;
|
||||||
|
reload)
|
||||||
|
shift
|
||||||
|
[ $# -eq 1 ] || usage 1
|
||||||
|
reload_command $1
|
||||||
|
;;
|
||||||
status)
|
status)
|
||||||
[ $# -eq 1 ] || usage 1
|
[ $# -eq 1 ] || usage 1
|
||||||
echo "Shorewall-$version Status at $HOSTNAME - $(date)"
|
echo "Shorewall-$version Status at $HOSTNAME - $(date)"
|
||||||
|
@ -305,6 +305,8 @@
|
|||||||
|
|
||||||
<member>refresh</member>
|
<member>refresh</member>
|
||||||
|
|
||||||
|
<member>reload</member>
|
||||||
|
|
||||||
<member>try</member>
|
<member>try</member>
|
||||||
|
|
||||||
<member>safe-start</member>
|
<member>safe-start</member>
|
||||||
@ -397,30 +399,20 @@
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<title>A simple shell program for remote firewall replacement</title>
|
<title>/sbin/shorewall reload command (Added in 3.2.0 RC4)</title>
|
||||||
|
|
||||||
<para>I use the following <ulink
|
<para>The reload command allows for easy updating of remote firewall
|
||||||
url="ftp://ftp1.shorewall.net/pub/shorewall/contrib/compile">simple
|
systems. At shorewall.net, I keep my firewall configurations in
|
||||||
shell program</ulink> for compiling firewall scripts and installing them
|
sub-directories under ~/Configs. The name of the directory corresponds
|
||||||
on firewall systems:</para>
|
to the DNS name of the system. </para>
|
||||||
|
|
||||||
<blockquote>
|
<para>To recompile the firewall script for the system named gateway and
|
||||||
<programlisting>#/bin/bash
|
to install that script on gateway, I issue the following
|
||||||
|
commands:</para>
|
||||||
[ $# -eq 1 ] || { echo "Usage: $(basename $0) <system>" >&2; exit 2; }
|
|
||||||
|
|
||||||
/sbin/shorewall compile -e . firewall && scp firewall root@${1}:/usr/share/shorewall-lite/ && ssh root@${1} 'shorewall-lite restart'</programlisting>
|
|
||||||
</blockquote>
|
|
||||||
|
|
||||||
<para>I install this program in
|
|
||||||
<filename>/usr/local/bin/compile</filename> and I have my configuration
|
|
||||||
directories in ~/Config. So, for example, to recompile the firewall
|
|
||||||
script for the 'gateway' system and install the script on gateway, I do
|
|
||||||
the following:</para>
|
|
||||||
|
|
||||||
<blockquote>
|
<blockquote>
|
||||||
<programlisting>teastep@wookie:~$ <command>cd Configs/gateway</command>
|
<programlisting>teastep@wookie:~$ <command>cd Configs/gateway</command>
|
||||||
teastep@wookie:~/Configs/gateway$ <command>compile gateway</command>
|
teastep@wookie:~/Configs/gateway$ <command>/sbin/shorewall reload gateway</command>
|
||||||
Compiling...
|
Compiling...
|
||||||
Shorewall configuration compiled to firewall
|
Shorewall configuration compiled to firewall
|
||||||
firewall 100% 29KB 29.3KB/s 00:00
|
firewall 100% 29KB 29.3KB/s 00:00
|
||||||
|
@ -943,6 +943,38 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term>reload (Added in Shorewall 3.2.0 RC4 -- not supported by
|
||||||
|
Shorewall Lite)</term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><command>reload <system></command></para>
|
||||||
|
|
||||||
|
<para>Allows a non-root user to compile a shorewall script and
|
||||||
|
install it on a remote system (provided that the user has access to
|
||||||
|
the remote system via ssh). The command is equivalent to:</para>
|
||||||
|
|
||||||
|
<simplelist>
|
||||||
|
<member><command>/sbin/shorewall compile -e . firewall
|
||||||
|
&&\</command></member>
|
||||||
|
|
||||||
|
<member><command>scp firewall
|
||||||
|
root@<system>:/usr/share/shorewall-lite/
|
||||||
|
&&\</command></member>
|
||||||
|
|
||||||
|
<member><command>ssh root@<system> '/sbin/shorewall-lite
|
||||||
|
restart'</command></member>
|
||||||
|
</simplelist>
|
||||||
|
|
||||||
|
<para>In other words, the configuration in the current working
|
||||||
|
directory is compiled to a file called <filename>firewall</filename>
|
||||||
|
in that directory. If compilation succeeds, then
|
||||||
|
<filename>firewall</filename> is copied to the remote system using
|
||||||
|
scp. If the copy succeeds, Shorewall Lite on the remote system is
|
||||||
|
restarted via ssh.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term>reset</term>
|
<term>reset</term>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user