forked from extern/shorewall_code
Compare commits
407 Commits
4.6.0-RC1
...
4.6.8-base
Author | SHA1 | Date | |
---|---|---|---|
|
eb3a162560 | ||
|
a8026999a5 | ||
|
44142ed457 | ||
|
551be3ed39 | ||
|
468167f9e5 | ||
|
6921270c77 | ||
|
50bbf9499a | ||
|
b00a7af619 | ||
|
0c11870e46 | ||
|
fdc36747ad | ||
|
79d8d73e02 | ||
|
ecaae1f644 | ||
|
52e7efc666 | ||
|
c5ef3fd905 | ||
|
86d6d6900e | ||
|
9a5cc5e51c | ||
|
d7a1ca41f9 | ||
|
d3552346b0 | ||
|
1e6c266b51 | ||
|
d6f8cda2d5 | ||
|
4cc866cd81 | ||
|
095e523c9f | ||
|
2817060edb | ||
|
30e750608b | ||
|
a85fdc45ac | ||
|
79b6b7cf08 | ||
|
5f2a8dd9cb | ||
|
a28cd7371c | ||
|
e9bb447537 | ||
|
cdc2d52208 | ||
|
18c8f1f835 | ||
|
aff8623a44 | ||
|
361f5af3e0 | ||
|
b14e7c54f9 | ||
|
30a5f508be | ||
|
9ad0b297e2 | ||
|
40104d0c86 | ||
|
5d110616a5 | ||
|
a2b8069ee3 | ||
|
c7cd0060f0 | ||
|
e3b96862ef | ||
|
a060f683cc | ||
|
01220d58ea | ||
|
c2b6d974e7 | ||
|
7ab055e61e | ||
|
758f3cf955 | ||
|
08a184d95b | ||
|
50a0103e89 | ||
|
6f2308e0fa | ||
|
a7cacdfee3 | ||
|
28ac76bde4 | ||
|
83431514fb | ||
|
111c454193 | ||
|
b06ba536e9 | ||
|
3f32afe371 | ||
|
740e19968b | ||
|
97846e14de | ||
|
07c21b8968 | ||
|
668759edad | ||
|
0f1f54b57b | ||
|
60d5a177a3 | ||
|
3ed5ced581 | ||
|
086f8b6073 | ||
|
fa377df9dc | ||
|
7dd9ccd06b | ||
|
33e2e19193 | ||
|
4a4bfe77ce | ||
|
3890b8a884 | ||
|
551a16d18f | ||
|
d1b597394f | ||
|
15a2fd14f9 | ||
|
f96baca780 | ||
|
1b5f439609 | ||
|
1655054de2 | ||
|
89877ed3f7 | ||
|
9649107a8e | ||
|
33eb47a48a | ||
|
93285e2798 | ||
|
2430796495 | ||
|
06ef7596cd | ||
|
227db0cfa7 | ||
|
c0f7d0e65d | ||
|
ba806379f4 | ||
|
6a15cead52 | ||
|
f925358872 | ||
|
52d2e62274 | ||
|
56e8068f3d | ||
|
35fc7b34b8 | ||
|
fdf513fba6 | ||
|
79430673b8 | ||
|
695db284c0 | ||
|
807b9ca627 | ||
|
62f480897e | ||
|
685825a336 | ||
|
8edb86ccdd | ||
|
2d7025dcc3 | ||
|
23e869ad50 | ||
|
a833815b31 | ||
|
664e3bb0a8 | ||
|
3a64ef7d3a | ||
|
b746c9319f | ||
|
6f81bb5c8e | ||
|
9241552c52 | ||
|
16c1809ef2 | ||
|
ec0ff7f305 | ||
|
7100af5380 | ||
|
f9932d2b08 | ||
|
2bf80ee3d9 | ||
|
22ac37b51e | ||
|
c4171a92f6 | ||
|
a5b2886ae9 | ||
|
9a6047b3c4 | ||
|
6f5de7ef3f | ||
|
5b4e3bc07c | ||
|
dc3f163e71 | ||
|
2f545012a6 | ||
|
c97226c46c | ||
|
8c0c1bd1e0 | ||
|
8b825c4c4c | ||
|
4493b2ab6b | ||
|
9598ac6fad | ||
|
8fb73026c8 | ||
|
4546cbaff7 | ||
|
a83c146636 | ||
|
2ffc97867c | ||
|
f08803e293 | ||
|
b7ab82dba4 | ||
|
113f95c11e | ||
|
3454e10525 | ||
|
edc30fcc8d | ||
|
85e5669fc7 | ||
|
055fceb82f | ||
|
f5bdc9e7f4 | ||
|
54461a9a90 | ||
|
b60d6dd6e5 | ||
|
4bc91e89db | ||
|
2784e93307 | ||
|
90d1e41dcb | ||
|
20c8bf02b1 | ||
|
38d4b1c5a9 | ||
|
e3a332ec27 | ||
|
49218a4d28 | ||
|
3236cd2660 | ||
|
e3b10343a5 | ||
|
286bc50bb3 | ||
|
a5086f785f | ||
|
19482ac197 | ||
|
42363da458 | ||
|
c5074bddb2 | ||
|
4b9d8ad5f6 | ||
|
8e9d769723 | ||
|
77015ebb4d | ||
|
12458d111a | ||
|
815e93e80c | ||
|
7771e5d48f | ||
|
0cd694370e | ||
|
5fd7c573fc | ||
|
80c024c4aa | ||
|
3bae6e61cf | ||
|
5204cbc95f | ||
|
ea1b8ac63a | ||
|
a31fd20f22 | ||
|
2c7ffb525d | ||
|
316866482b | ||
|
6c6a1d82d9 | ||
|
a72a1ef7a6 | ||
|
4398fb23d1 | ||
|
e3a7a4fc98 | ||
|
e36b34ce15 | ||
|
178d1fbc26 | ||
|
c9fd390782 | ||
|
3206021278 | ||
|
8571e0dca0 | ||
|
9dc2bba025 | ||
|
2fce05b3ab | ||
|
70bb9147cd | ||
|
00b0489047 | ||
|
f9a21bd90e | ||
|
5e81bdfe19 | ||
|
f2cc68b93b | ||
|
8a5e71a56f | ||
|
483ea3e437 | ||
|
2ec3adcc44 | ||
|
205dd6e250 | ||
|
770a505cd2 | ||
|
4071b9d337 | ||
|
820c769499 | ||
|
e6b0666ac9 | ||
|
2a463e06aa | ||
|
3174454300 | ||
|
ce1c367d1d | ||
|
3e2c903a41 | ||
|
b053cab630 | ||
|
6f7d063921 | ||
|
cbcb1ff7e1 | ||
|
3858683e94 | ||
|
38a18ac9ac | ||
|
a09484356c | ||
|
bc8588a68e | ||
|
10df9d31c4 | ||
|
4989f694cd | ||
|
b84a9e16e6 | ||
|
053df2a5fb | ||
|
976a1f3deb | ||
|
ea40068c10 | ||
|
56649e2183 | ||
|
520d21c056 | ||
|
540eff24aa | ||
|
580e00dabd | ||
|
4815f7eba3 | ||
|
a7b57ad32c | ||
|
ba7f88c912 | ||
|
7481514a97 | ||
|
20c68dddf2 | ||
|
35e60aa10c | ||
|
1f5439257a | ||
|
4495ed687b | ||
|
d97d45f4ad | ||
|
a69cec5228 | ||
|
a03f00bf0f | ||
|
8f05d0f16d | ||
|
f9d98b74a2 | ||
|
0d23b9c542 | ||
|
a7bdfcc47b | ||
|
988ee64621 | ||
|
9947f4d968 | ||
|
feb747260d | ||
|
fc58dab66d | ||
|
9e039e30e5 | ||
|
771e487b02 | ||
|
0b66c475a7 | ||
|
8727a6f1d8 | ||
|
f9a62e1650 | ||
|
6851744cb7 | ||
|
f963adccf5 | ||
|
48549b35ac | ||
|
9001643996 | ||
|
4bacfced82 | ||
|
7c1bbd4dc7 | ||
|
4347190f82 | ||
|
fa8c3b3b6c | ||
|
045d5ac048 | ||
|
e4a8cb31ba | ||
|
9e6fffc231 | ||
|
aaa561c831 | ||
|
3030219740 | ||
|
602ecad712 | ||
|
96102623ee | ||
|
aa6bd2819c | ||
|
8236ce572e | ||
|
bf5be7198b | ||
|
6f777098d7 | ||
|
e545329eb9 | ||
|
aedd9b5a76 | ||
|
cf33bac318 | ||
|
0005bb697b | ||
|
c5549ff21e | ||
|
427f38109e | ||
|
0e1a1a3f44 | ||
|
b6161b8be7 | ||
|
d3209ca624 | ||
|
34ecbb9074 | ||
|
beb70854ef | ||
|
7030fad572 | ||
|
c653a04a43 | ||
|
5ef5aa8cdb | ||
|
0ca12bd86f | ||
|
a2f1c57246 | ||
|
fd42fa9f74 | ||
|
e49832f4b5 | ||
|
0bf80c15d8 | ||
|
4e9a0b989d | ||
|
31e5aeeaea | ||
|
eb5026d3b7 | ||
|
a799d74901 | ||
|
7a41981487 | ||
|
aae23d7a9e | ||
|
a7b18ca875 | ||
|
ad6c91bcbd | ||
|
8c0fe063a7 | ||
|
dbf78d7dd0 | ||
|
bea2b49eb0 | ||
|
3b4012b60a | ||
|
21209504c5 | ||
|
44a34ceb95 | ||
|
848078873d | ||
|
3e6f57e699 | ||
|
461f7b10ba | ||
|
2c9eda9cee | ||
|
64fc3d2e43 | ||
|
d0aed87546 | ||
|
56fa6bd78a | ||
|
b207f64a85 | ||
|
9f381209d5 | ||
|
29e6bc9379 | ||
|
4b3196b959 | ||
|
6771dc54ad | ||
|
ba69708092 | ||
|
417bd0138e | ||
|
a1cc4847c7 | ||
|
0ec4cfd18d | ||
|
d5ea667c61 | ||
|
3e6e0b4a09 | ||
|
a97e2fd3d9 | ||
|
53dda803e2 | ||
|
cc935009ce | ||
|
a0ab9f6ab2 | ||
|
a7856e4dd6 | ||
|
4a4cea46c0 | ||
|
cf626b58da | ||
|
2ed523101c | ||
|
c72265667f | ||
|
77513da27e | ||
|
c663a14c4d | ||
|
c17a196838 | ||
|
8bfff55ed2 | ||
|
7184c9aa58 | ||
|
b1a6ec7f03 | ||
|
9f71791919 | ||
|
1a7cc9b86d | ||
|
a8f6d2f438 | ||
|
b8777c0fd5 | ||
|
cad8443e01 | ||
|
2ad81f1a81 | ||
|
166e1a3df9 | ||
|
84437ea689 | ||
|
20a567fea7 | ||
|
7082bf1971 | ||
|
87b5751a49 | ||
|
49aada0f9c | ||
|
7fdc398a5e | ||
|
1165b2689c | ||
|
2701b0a756 | ||
|
9c7fcd09fd | ||
|
380a159c8c | ||
|
80c09c4747 | ||
|
824b14b714 | ||
|
122d58b122 | ||
|
61bb73fd8c | ||
|
ff8d354c1c | ||
|
0b1dda2a31 | ||
|
50736fb8ae | ||
|
a2e514c0ab | ||
|
7b0cf2b665 | ||
|
6ad9b95351 | ||
|
ac4bf15606 | ||
|
4e5d24fd9b | ||
|
e6132b5630 | ||
|
041e8c445e | ||
|
a0bb7ca018 | ||
|
a8885844ae | ||
|
2610dd4744 | ||
|
b3acb4d30d | ||
|
e6372a3e04 | ||
|
41ab0d20c9 | ||
|
36e31ed839 | ||
|
b55b6a913c | ||
|
9c9ae04c86 | ||
|
1892cbf218 | ||
|
c0c6bedb17 | ||
|
c898129ad6 | ||
|
7adc16ace9 | ||
|
7b38bc9558 | ||
|
2cd5c41ec0 | ||
|
bea5434de6 | ||
|
8657dd97f7 | ||
|
ef038d5eab | ||
|
b6ea20e7df | ||
|
6632afaf6a | ||
|
0f55863076 | ||
|
9f9d9fd8d1 | ||
|
ec4fc4ee8f | ||
|
4e33948844 | ||
|
954cddc37a | ||
|
e64a7feda2 | ||
|
24721e01b6 | ||
|
5a22b14947 | ||
|
df738025a3 | ||
|
d49d352d77 | ||
|
0f6bd0e2af | ||
|
89c5d5080b | ||
|
66b3d9aeb5 | ||
|
b088ea77cd | ||
|
966926fac5 | ||
|
dcc2fb27c5 | ||
|
2859b1aa6e | ||
|
6d3b1d80d4 | ||
|
d5e83a5295 | ||
|
7835feb45e | ||
|
c6565f051e | ||
|
c9b6d4a670 | ||
|
b79191caa5 | ||
|
22662212e3 | ||
|
ffc564bdf9 | ||
|
00d3a94bfd | ||
|
d15956feea | ||
|
f717d097d7 | ||
|
ed9953adb8 | ||
|
670c33d20b | ||
|
bcbb48d16e | ||
|
2ce28154d1 | ||
|
afdcff10c9 | ||
|
77efea65de | ||
|
2b43c28e98 | ||
|
58700b2301 | ||
|
72869adcd6 | ||
|
0c8365001d |
8
Shorewall-core/configure
vendored
8
Shorewall-core/configure
vendored
@@ -98,7 +98,7 @@ if [ -z "$vendor" ]; then
|
|||||||
eval $(cat /etc/os-release | grep ^ID=)
|
eval $(cat /etc/os-release | grep ^ID=)
|
||||||
|
|
||||||
case $ID in
|
case $ID in
|
||||||
fedora)
|
fedora|rhel)
|
||||||
vendor=redhat
|
vendor=redhat
|
||||||
;;
|
;;
|
||||||
debian|ubuntu)
|
debian|ubuntu)
|
||||||
@@ -195,6 +195,10 @@ elif [ -n "${options[VARDIR]}" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -z "${options[SERVICEDIR]}" ]; then
|
||||||
|
options[SERVICEDIR]="${options[SYSTEMD]}"
|
||||||
|
fi
|
||||||
|
|
||||||
for on in \
|
for on in \
|
||||||
HOST \
|
HOST \
|
||||||
PREFIX \
|
PREFIX \
|
||||||
@@ -209,7 +213,7 @@ for on in \
|
|||||||
INITFILE \
|
INITFILE \
|
||||||
AUXINITSOURCE \
|
AUXINITSOURCE \
|
||||||
AUXINITFILE \
|
AUXINITFILE \
|
||||||
SYSTEMD \
|
SERVICEDIR \
|
||||||
SERVICEFILE \
|
SERVICEFILE \
|
||||||
SYSCONFFILE \
|
SYSCONFFILE \
|
||||||
SYSCONFDIR \
|
SYSCONFDIR \
|
||||||
|
@@ -64,7 +64,7 @@ unless ( defined $vendor ) {
|
|||||||
|
|
||||||
$id =~ s/ID=//;
|
$id =~ s/ID=//;
|
||||||
|
|
||||||
if ( $id eq 'fedora' ) {
|
if ( $id eq 'fedora' || $id eq 'rhel' ) {
|
||||||
$vendor = 'redhat';
|
$vendor = 'redhat';
|
||||||
} elsif ( $id eq 'opensuse' ) {
|
} elsif ( $id eq 'opensuse' ) {
|
||||||
$vendor = 'suse';
|
$vendor = 'suse';
|
||||||
@@ -100,7 +100,7 @@ if ( defined $vendor ) {
|
|||||||
} elsif ( `uname` =~ '^Darwin' ) {
|
} elsif ( `uname` =~ '^Darwin' ) {
|
||||||
$vendor = 'apple';
|
$vendor = 'apple';
|
||||||
$rcfilename = 'shorewallrc.apple';
|
$rcfilename = 'shorewallrc.apple';
|
||||||
} elsif ( `uname` =~ '^Cygwin' ) {
|
} elsif ( `uname` =~ /^Cygwin/i ) {
|
||||||
$vendor = 'cygwin';
|
$vendor = 'cygwin';
|
||||||
$rcfilename = 'shorewallrc.cygwin';
|
$rcfilename = 'shorewallrc.cygwin';
|
||||||
} else {
|
} else {
|
||||||
@@ -154,6 +154,8 @@ if ( $options{VARLIB} ) {
|
|||||||
$options{VARDIR} = '${VARLIB}/${PRODUCT}';
|
$options{VARDIR} = '${VARLIB}/${PRODUCT}';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$options{SERVICEDIR}=$options{SYSTEMD} unless $options{SERVICEDIR};
|
||||||
|
|
||||||
for ( qw/ HOST
|
for ( qw/ HOST
|
||||||
PREFIX
|
PREFIX
|
||||||
SHAREDIR
|
SHAREDIR
|
||||||
@@ -167,8 +169,8 @@ for ( qw/ HOST
|
|||||||
INITFILE
|
INITFILE
|
||||||
AUXINITSOURCE
|
AUXINITSOURCE
|
||||||
AUXINITFILE
|
AUXINITFILE
|
||||||
SYSTEMD
|
SERVICEDIR
|
||||||
SERVICEFILE
|
SERVICEFILE
|
||||||
SYSCONFFILE
|
SYSCONFFILE
|
||||||
SYSCONFDIR
|
SYSCONFDIR
|
||||||
SPARSE
|
SPARSE
|
||||||
|
@@ -187,7 +187,7 @@ INSTALLD='-D'
|
|||||||
|
|
||||||
if [ -z "$BUILD" ]; then
|
if [ -z "$BUILD" ]; then
|
||||||
case $(uname) in
|
case $(uname) in
|
||||||
cygwin*)
|
cygwin*|CYGWIN*)
|
||||||
BUILD=cygwin
|
BUILD=cygwin
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
@@ -198,7 +198,7 @@ if [ -z "$BUILD" ]; then
|
|||||||
eval $(cat /etc/os-release | grep ^ID)
|
eval $(cat /etc/os-release | grep ^ID)
|
||||||
|
|
||||||
case $ID in
|
case $ID in
|
||||||
fedora)
|
fedora|rhel|centos|foobar)
|
||||||
BUILD=redhat
|
BUILD=redhat
|
||||||
;;
|
;;
|
||||||
debian)
|
debian)
|
||||||
@@ -329,9 +329,13 @@ if [ -n "${SYSCONFDIR}" ]; then
|
|||||||
chmod 755 ${DESTDIR}${SYSCONFDIR}
|
chmod 755 ${DESTDIR}${SYSCONFDIR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -n "${SYSTEMD}" ]; then
|
if [ -z "${SERVICEDIR}" ]; then
|
||||||
mkdir -p ${DESTDIR}${SYSTEMD}
|
SERVICEDIR="$SYSTEMD"
|
||||||
chmod 755 ${DESTDIR}${SYSTEMD}
|
fi
|
||||||
|
|
||||||
|
if [ -n "${SERVICEDIR}" ]; then
|
||||||
|
mkdir -p ${DESTDIR}${SERVICEDIR}
|
||||||
|
chmod 755 ${DESTDIR}${SERVICEDIR}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mkdir -p ${DESTDIR}${SBINDIR}
|
mkdir -p ${DESTDIR}${SBINDIR}
|
||||||
|
@@ -25,7 +25,7 @@
|
|||||||
# loaded after this one and replaces some of the functions declared here.
|
# loaded after this one and replaces some of the functions declared here.
|
||||||
#
|
#
|
||||||
|
|
||||||
SHOREWALL_CAPVERSION=40600
|
SHOREWALL_CAPVERSION=40606
|
||||||
|
|
||||||
[ -n "${g_program:=shorewall}" ]
|
[ -n "${g_program:=shorewall}" ]
|
||||||
|
|
||||||
@@ -252,7 +252,15 @@ show_classifiers() {
|
|||||||
|
|
||||||
if [ -n "$qdisc" ]; then
|
if [ -n "$qdisc" ]; then
|
||||||
echo Device $device:
|
echo Device $device:
|
||||||
tc -s filter ls dev $device
|
qt tc -s filter ls root dev $device && tc -s filter ls root dev $device | grep -v '^$'
|
||||||
|
tc filter show dev $device
|
||||||
|
tc class show dev $device | fgrep 'leaf ' | fgrep -v ' hfsc' | sed 's/^.*leaf //;s/ .*//' | while read class; do
|
||||||
|
if [ -n "$class" ]; then
|
||||||
|
echo
|
||||||
|
echo Node $class
|
||||||
|
tc filter show dev $device parent $class
|
||||||
|
fi
|
||||||
|
done
|
||||||
echo
|
echo
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -263,6 +271,19 @@ show_classifiers() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Display blacklist chains
|
||||||
|
#
|
||||||
|
show_bl() {
|
||||||
|
$g_tool -L $g_ipt_options | \
|
||||||
|
awk 'BEGIN {prnt=0; };
|
||||||
|
/^$/ {if (prnt == 1) print ""; prnt=0; };
|
||||||
|
/Chain .*~ / {prnt=1; };
|
||||||
|
/Chain dynamic / {prnt=1; };
|
||||||
|
{if (prnt == 1) print; };
|
||||||
|
END {if (prnt == 1 ) print "" };'
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Watch the Firewall Log
|
# Watch the Firewall Log
|
||||||
#
|
#
|
||||||
@@ -346,6 +367,28 @@ resolve_arptables() {
|
|||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Try to run the 'savesets' command
|
||||||
|
#
|
||||||
|
savesets() {
|
||||||
|
local supported
|
||||||
|
|
||||||
|
supported=$(run_it ${VARDIR}/firewall help | fgrep savesets )
|
||||||
|
|
||||||
|
[ -n "$supported" ] && run_it ${VARDIR}/firewall savesets ${g_restorepath}-ipsets
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Proactive save of the current ipset contents
|
||||||
|
#
|
||||||
|
savesets1() {
|
||||||
|
local supported
|
||||||
|
|
||||||
|
supported=$(run_it ${VARDIR}/firewall help | fgrep savesets )
|
||||||
|
|
||||||
|
[ -n "$supported" ] && run_it ${VARDIR}/firewall savesets ${VARDIR}/ipsets.save && progress_message3 "The ipsets have been saved to ${VARDIR}/ipsets.save"
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Save currently running configuration
|
# Save currently running configuration
|
||||||
#
|
#
|
||||||
@@ -355,7 +398,7 @@ do_save() {
|
|||||||
status=0
|
status=0
|
||||||
|
|
||||||
if [ -f ${VARDIR}/firewall ]; then
|
if [ -f ${VARDIR}/firewall ]; then
|
||||||
if $iptables_save | iptablesbug > ${VARDIR}/restore-$$; then
|
if $iptables_save | iptablesbug | grep -v -- '-A dynamic.* -j ACCEPT' > ${VARDIR}/restore-$$; then
|
||||||
cp -f ${VARDIR}/firewall $g_restorepath
|
cp -f ${VARDIR}/firewall $g_restorepath
|
||||||
mv -f ${VARDIR}/restore-$$ ${g_restorepath}-iptables
|
mv -f ${VARDIR}/restore-$$ ${g_restorepath}-iptables
|
||||||
chmod +x $g_restorepath
|
chmod +x $g_restorepath
|
||||||
@@ -407,45 +450,47 @@ do_save() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
case ${SAVE_IPSETS:=No} in
|
if ! savesets; then
|
||||||
[Yy]es)
|
case ${SAVE_IPSETS:=No} in
|
||||||
case ${IPSET:=ipset} in
|
[Yy]es)
|
||||||
*/*)
|
case ${IPSET:=ipset} in
|
||||||
if [ ! -x "$IPSET" ]; then
|
*/*)
|
||||||
error_message "ERROR: IPSET=$IPSET does not exist or is not executable - ipsets are not saved"
|
if [ ! -x "$IPSET" ]; then
|
||||||
IPSET=
|
error_message "ERROR: IPSET=$IPSET does not exist or is not executable - ipsets are not saved"
|
||||||
|
IPSET=
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
IPSET="$(mywhich $IPSET)"
|
||||||
|
[ -n "$IPSET" ] || error_message "ERROR: The ipset utility cannot be located - ipsets are not saved"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ -n "$IPSET" ]; then
|
||||||
|
if [ -f /etc/debian_version ] && [ $(cat /etc/debian_version) = 5.0.3 ]; then
|
||||||
|
#
|
||||||
|
# The 'grep -v' is a hack for a bug in ipset's nethash implementation when xtables-addons is applied to Lenny
|
||||||
|
#
|
||||||
|
hack='| grep -v /31'
|
||||||
|
else
|
||||||
|
hack=
|
||||||
fi
|
fi
|
||||||
;;
|
|
||||||
*)
|
|
||||||
IPSET="$(mywhich $IPSET)"
|
|
||||||
[ -n "$IPSET" ] || error_message "ERROR: The ipset utility cannot be located - ipsets are not saved"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if [ -n "$IPSET" ]; then
|
if eval $IPSET -S $hack > ${VARDIR}/ipsets.tmp; then
|
||||||
if [ -f /etc/debian_version ] && [ $(cat /etc/debian_version) = 5.0.3 ]; then
|
#
|
||||||
#
|
# Don't save an 'empty' file
|
||||||
# The 'grep -v' is a hack for a bug in ipset's nethash implementation when xtables-addons is applied to Lenny
|
#
|
||||||
#
|
grep -qE -- '^(-N|create )' ${VARDIR}/ipsets.tmp && mv -f ${VARDIR}/ipsets.tmp ${g_restorepath}-ipsets
|
||||||
hack='| grep -v /31'
|
fi
|
||||||
else
|
|
||||||
hack=
|
|
||||||
fi
|
fi
|
||||||
|
;;
|
||||||
if eval $IPSET -S $hack > ${VARDIR}/ipsets.tmp; then
|
[Nn]o)
|
||||||
#
|
;;
|
||||||
# Don't save an 'empty' file
|
*)
|
||||||
#
|
error_message "WARNING: Invalid value ($SAVE_IPSETS) for SAVE_IPSETS"
|
||||||
grep -qE -- '^(-N|create )' ${VARDIR}/ipsets.tmp && mv -f ${VARDIR}/ipsets.tmp ${g_restorepath}-ipsets
|
;;
|
||||||
fi
|
esac
|
||||||
fi
|
fi
|
||||||
;;
|
|
||||||
[Nn]o)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
error_message "WARNING: Invalid value ($SAVE_IPSETS) for SAVE_IPSETS"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
return $status
|
return $status
|
||||||
}
|
}
|
||||||
@@ -459,6 +504,8 @@ save_config() {
|
|||||||
|
|
||||||
[ -x $iptables_save ] || echo "$iptables-save does not exist or is not executable" >&2
|
[ -x $iptables_save ] || echo "$iptables-save does not exist or is not executable" >&2
|
||||||
|
|
||||||
|
[ -n "$g_counters" ] && iptables_save="$iptables_save --counters"
|
||||||
|
|
||||||
if product_is_started ; then
|
if product_is_started ; then
|
||||||
[ -d ${VARDIR} ] || mkdir -p ${VARDIR}
|
[ -d ${VARDIR} ] || mkdir -p ${VARDIR}
|
||||||
|
|
||||||
@@ -1181,7 +1228,23 @@ show_command() {
|
|||||||
echo "$g_product $SHOREWALL_VERSION events at $g_hostname - $(date)"
|
echo "$g_product $SHOREWALL_VERSION events at $g_hostname - $(date)"
|
||||||
echo
|
echo
|
||||||
show_events
|
show_events
|
||||||
;;
|
;;
|
||||||
|
bl|blacklists)
|
||||||
|
[ $# -gt 1 ] && usage 1
|
||||||
|
echo "$g_product $SHOREWALL_VERSION blacklist chains at $g_hostname - $(date)"
|
||||||
|
echo
|
||||||
|
show_bl;
|
||||||
|
;;
|
||||||
|
opens)
|
||||||
|
[ $# -gt 1 ] && usage 1
|
||||||
|
echo "$g_product $SHOREWALL_VERSION Temporarily opened connections at $g_hostname - $(date)"
|
||||||
|
|
||||||
|
if chain_exists dynamic; then
|
||||||
|
g_ipt_options="$g_ipt_options --line-numbers"
|
||||||
|
$g_tool -t filter -L dynamic $g_ipt_options | head -n2
|
||||||
|
$g_tool -t filter -L dynamic $g_ipt_options | fgrep ACCEPT | $output_filter
|
||||||
|
fi
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
case "$g_program" in
|
case "$g_program" in
|
||||||
*-lite)
|
*-lite)
|
||||||
@@ -1443,10 +1506,22 @@ do_dump_command() {
|
|||||||
$g_tool -t rawpost -L $g_ipt_options
|
$g_tool -t rawpost -L $g_ipt_options
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local count=$(cat /proc/sys/net/netfilter/nf_conntrack_count)
|
local count
|
||||||
local max=$(cat /proc/sys/net/netfilter/nf_conntrack_max)
|
local max
|
||||||
|
|
||||||
heading "Conntrack Table ($count out of $max)"
|
if [ -f /proc/sys/net/netfilter/nf_conntrack_count ]; then
|
||||||
|
count=$(cat /proc/sys/net/netfilter/nf_conntrack_count)
|
||||||
|
max=$(cat /proc/sys/net/netfilter/nf_conntrack_max)
|
||||||
|
|
||||||
|
heading "Conntrack Table ($count out of $max)"
|
||||||
|
elif [ -f /proc/sys/net/ipv4/netfilter/ip_conntrack_count ]; then
|
||||||
|
count=$(cat /proc/sys/net/ipv4/netfilter/ip_conntrack_count)
|
||||||
|
max=$(cat /proc/sys/net/ipv4/netfilter/ip_conntrack_max)
|
||||||
|
|
||||||
|
heading "Conntrack Table ($count out of $max)"
|
||||||
|
else
|
||||||
|
heading "Conntrack Table"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ $g_family -eq 4 ]; then
|
if [ $g_family -eq 4 ]; then
|
||||||
[ -f /proc/net/ip_conntrack ] && cat /proc/net/ip_conntrack || grep -v '^ipv6' /proc/net/nf_conntrack
|
[ -f /proc/net/ip_conntrack ] && cat /proc/net/ip_conntrack || grep -v '^ipv6' /proc/net/nf_conntrack
|
||||||
@@ -1572,6 +1647,15 @@ restore_command() {
|
|||||||
g_noroutes=Yes
|
g_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"
|
||||||
|
g_purge=Yes
|
||||||
|
option=${option%p}
|
||||||
|
;;
|
||||||
|
C*)
|
||||||
|
g_counters=Yes
|
||||||
|
option=${option#C}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@@ -1896,7 +1980,7 @@ add_command() {
|
|||||||
ipset=6_${zone}_${interface};
|
ipset=6_${zone}_${interface};
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ipset=$(echo $ipset | sed 's/./_/g');
|
ipset=$(echo $ipset | sed 's/\./_/g');
|
||||||
|
|
||||||
if ! qt $IPSET -L $ipset; then
|
if ! qt $IPSET -L $ipset; then
|
||||||
fatal_error "Zone $zone, interface $interface does not have a dynamic host list"
|
fatal_error "Zone $zone, interface $interface does not have a dynamic host list"
|
||||||
@@ -2013,6 +2097,166 @@ delete_command() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open_close_command() {
|
||||||
|
local command
|
||||||
|
local desc
|
||||||
|
local proto
|
||||||
|
local icmptype
|
||||||
|
|
||||||
|
open_close_setup() {
|
||||||
|
[ -n "$g_nolock" ] || mutex_on
|
||||||
|
|
||||||
|
if ! product_is_started ; then
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
fatal_error "The $COMMAND command requires the firewall to be running"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! chain_exists dynamic; then
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
fatal_error "The $COMMAND command requires DYNAMIC_BLACKLIST=Yes in the running configuration"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
[ $# -le 4 ] || fatal_error "Too many parameters"
|
||||||
|
|
||||||
|
if [ $COMMAND = open ]; then
|
||||||
|
[ $# -ge 2 ] || fatal_error "Too few parameters"
|
||||||
|
else
|
||||||
|
[ $# -ge 1 ] || fatal_error "Too few parameters"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -eq 1 ]; then
|
||||||
|
#
|
||||||
|
# close <rule number>
|
||||||
|
#
|
||||||
|
case $1 in
|
||||||
|
[1-9]|[1-9][0-9]|[1-9][0-9][0-9]*)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
fatal_error "$1 is not a valid temporary open number"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
open_close_setup #Conditionally acquires mutex
|
||||||
|
|
||||||
|
if $g_tool -L dynamic --line-numbers | grep -q "^$1 .* ACCEPT "; then
|
||||||
|
if $g_tool -D dynamic $1; then
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
echo "Temporary open #$1 closed"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
return 2
|
||||||
|
else
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
fatal_error "$1 is not a valid temporary open number"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $1 = all ]; then
|
||||||
|
command=dynamic
|
||||||
|
else
|
||||||
|
command="dynamic -s $1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $2 != all ]; then
|
||||||
|
command="$command -d $2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
desc="from $1 to $2"
|
||||||
|
|
||||||
|
if [ $# -ge 3 ]; then
|
||||||
|
proto=$3
|
||||||
|
|
||||||
|
[ $proto = icmp -a $g_family -eq 6 ] && proto=58
|
||||||
|
|
||||||
|
command="$command -p $proto"
|
||||||
|
|
||||||
|
case $3 in
|
||||||
|
[0-9]*)
|
||||||
|
desc="$desc protocol $3"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
desc="$desc $3"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ $g_family -eq 4 ]; then
|
||||||
|
if [ $proto = 6 -o $proto = icmp ]; then
|
||||||
|
proto=icmp
|
||||||
|
icmptype='--icmp-type'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $proto = 58 -o $proto = ipv6-icmp ]; then
|
||||||
|
proto=icmp
|
||||||
|
icmptype='--icmpv6-type'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $# -eq 4 ]; then
|
||||||
|
if [ $proto = icmp ]; then
|
||||||
|
case $4 in
|
||||||
|
*,*)
|
||||||
|
fatal_error "Only a single ICMP type may be specified"
|
||||||
|
;;
|
||||||
|
[0-9]*)
|
||||||
|
desc="$desc type $4"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
desc="$desc $4"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
command="$command $icmptype $4"
|
||||||
|
else
|
||||||
|
case $4 in
|
||||||
|
*,*)
|
||||||
|
command="$command -m multiport --dports $4"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
command="$command --dport $4"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
case $4 in
|
||||||
|
[0-9]*,)
|
||||||
|
desc="$desc ports $4"
|
||||||
|
;;
|
||||||
|
[0-9]*)
|
||||||
|
desc="$desc port $4"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
desc="$desc $4"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
command="$command -j ACCEPT"
|
||||||
|
|
||||||
|
open_close_setup #Conditionally acquires mutex
|
||||||
|
|
||||||
|
if [ $COMMAND = open ]; then
|
||||||
|
if $g_tool -I $command ; then
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
echo "Firewall dynamically opened for connections $desc"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
return 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
if $g_tool -D $command 2> /dev/null; then
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
echo "Firewall dynamically closed for connections $desc (may still be permitted by rules/policies)"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -n "$g_nolock" ] || mutex_off
|
||||||
|
fatal_error "Connections $desc are not currently opened"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# 'hits' commmand executor
|
# 'hits' commmand executor
|
||||||
#
|
#
|
||||||
@@ -2329,6 +2573,8 @@ determine_capabilities() {
|
|||||||
MASQUERADE_TGT=
|
MASQUERADE_TGT=
|
||||||
UDPLITEREDIRECT=
|
UDPLITEREDIRECT=
|
||||||
NEW_TOS_MATCH=
|
NEW_TOS_MATCH=
|
||||||
|
TARPIT_TARGET=
|
||||||
|
IFACE_MATCH=
|
||||||
|
|
||||||
AMANDA_HELPER=
|
AMANDA_HELPER=
|
||||||
FTP_HELPER=
|
FTP_HELPER=
|
||||||
@@ -2482,6 +2728,10 @@ determine_capabilities() {
|
|||||||
qt $NFACCT del $chain
|
qt $NFACCT del $chain
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
qt $g_tool -A $chain -p tcp -j TARPIT && TARPIT_TARGET=Yes
|
||||||
|
|
||||||
|
qt $g_tool -A $chain -m iface --iface lo --loopback && IFACE_MATCH=Yes
|
||||||
|
|
||||||
if [ -n "$MANGLE_ENABLED" ]; then
|
if [ -n "$MANGLE_ENABLED" ]; then
|
||||||
qt $g_tool -t mangle -N $chain
|
qt $g_tool -t mangle -N $chain
|
||||||
|
|
||||||
@@ -2759,6 +3009,8 @@ report_capabilities_unsorted() {
|
|||||||
report_capability "MASQUERADE Target" $MASQUERADE_TGT
|
report_capability "MASQUERADE Target" $MASQUERADE_TGT
|
||||||
report_capability "UDPLITE Port Redirection" $UDPLITEREDIRECT
|
report_capability "UDPLITE Port Redirection" $UDPLITEREDIRECT
|
||||||
report_capability "New tos Match" $NEW_TOS_MATCH
|
report_capability "New tos Match" $NEW_TOS_MATCH
|
||||||
|
report_capability "TARPIT Target" $TARPIT_TARGET
|
||||||
|
report_capability "Iface Match" $IFACE_MATCH
|
||||||
|
|
||||||
report_capability "Amanda Helper" $AMANDA_HELPER
|
report_capability "Amanda Helper" $AMANDA_HELPER
|
||||||
report_capability "FTP Helper" $FTP_HELPER
|
report_capability "FTP Helper" $FTP_HELPER
|
||||||
@@ -2886,6 +3138,8 @@ report_capabilities_unsorted1() {
|
|||||||
report_capability1 MASQUERADE_TGT
|
report_capability1 MASQUERADE_TGT
|
||||||
report_capability1 UDPLITEREDIRECT
|
report_capability1 UDPLITEREDIRECT
|
||||||
report_capability1 NEW_TOS_MATCH
|
report_capability1 NEW_TOS_MATCH
|
||||||
|
report_capability1 TARPIT_TARGET
|
||||||
|
report_capability1 IFACE_MATCH
|
||||||
|
|
||||||
report_capability1 AMANDA_HELPER
|
report_capability1 AMANDA_HELPER
|
||||||
report_capability1 FTP_HELPER
|
report_capability1 FTP_HELPER
|
||||||
@@ -2944,9 +3198,74 @@ show_status() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface_status() {
|
||||||
|
case $(cat $1) in
|
||||||
|
0)
|
||||||
|
echo Enabled
|
||||||
|
;;
|
||||||
|
1)
|
||||||
|
echo Disabled
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo Unknown
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
show_interfaces() {
|
||||||
|
local f
|
||||||
|
local interface
|
||||||
|
local printed
|
||||||
|
|
||||||
|
for f in ${VARDIR}/*.status; do
|
||||||
|
interface=$(basename $f)
|
||||||
|
echo " Interface ${interface%.status} is $(interface_status $f)"
|
||||||
|
printed=Yes
|
||||||
|
done
|
||||||
|
|
||||||
|
[ -n "$printed" ] && echo
|
||||||
|
}
|
||||||
|
|
||||||
status_command() {
|
status_command() {
|
||||||
|
local finished
|
||||||
|
finished=0
|
||||||
|
local option
|
||||||
|
local interfaces
|
||||||
|
|
||||||
|
while [ $finished -eq 0 -a $# -gt 0 ]; do
|
||||||
|
option=$1
|
||||||
|
case $option in
|
||||||
|
-*)
|
||||||
|
option=${option#-}
|
||||||
|
|
||||||
|
while [ -n "$option" ]; do
|
||||||
|
case $option in
|
||||||
|
-)
|
||||||
|
finished=1
|
||||||
|
option=
|
||||||
|
;;
|
||||||
|
i*)
|
||||||
|
interfaces=Yes
|
||||||
|
option=${option#i}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
finished=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
[ $# -eq 0 ] || usage 1
|
||||||
|
|
||||||
[ $VERBOSITY -ge 1 ] && echo "${g_product}-$SHOREWALL_VERSION Status at $g_hostname - $(date)" && echo
|
[ $VERBOSITY -ge 1 ] && echo "${g_product}-$SHOREWALL_VERSION Status at $g_hostname - $(date)" && echo
|
||||||
show_status
|
show_status
|
||||||
|
[ -n "$interfaces" ] && show_interfaces
|
||||||
exit $status
|
exit $status
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2991,11 +3310,45 @@ reject_command() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
save_command() {
|
save_command() {
|
||||||
|
local finished
|
||||||
|
finished=0
|
||||||
|
|
||||||
|
shift
|
||||||
|
|
||||||
|
while [ $finished -eq 0 -a $# -gt 0 ]; do
|
||||||
|
option=$1
|
||||||
|
case $option in
|
||||||
|
-*)
|
||||||
|
option=${option#-}
|
||||||
|
|
||||||
|
while [ -n "$option" ]; do
|
||||||
|
case $option in
|
||||||
|
-)
|
||||||
|
finished=1
|
||||||
|
option=
|
||||||
|
;;
|
||||||
|
C*)
|
||||||
|
g_counters=Yes
|
||||||
|
option=${option#C}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
finished=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
case $# in
|
case $# in
|
||||||
1)
|
0)
|
||||||
;;
|
;;
|
||||||
2)
|
1)
|
||||||
RESTOREFILE="$2"
|
RESTOREFILE="$1"
|
||||||
validate_restorefile '<restore file>'
|
validate_restorefile '<restore file>'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -3228,11 +3581,6 @@ get_config() {
|
|||||||
|
|
||||||
g_hostname=$(hostname 2> /dev/null)
|
g_hostname=$(hostname 2> /dev/null)
|
||||||
|
|
||||||
IP=$(mywhich ip 2> /dev/null)
|
|
||||||
if [ -z "$IP" ] ; then
|
|
||||||
fatal_error "Can't find ip executable"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -n "$IPSET" ]; then
|
if [ -n "$IPSET" ]; then
|
||||||
case "$IPSET" in
|
case "$IPSET" in
|
||||||
*/*)
|
*/*)
|
||||||
@@ -3254,6 +3602,10 @@ get_config() {
|
|||||||
|
|
||||||
TC=tc
|
TC=tc
|
||||||
|
|
||||||
|
IP=$(mywhich ip 2> /dev/null)
|
||||||
|
|
||||||
|
g_loopback=$(find_loopback_interfaces)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -3290,7 +3642,11 @@ start_command() {
|
|||||||
[ -n "$g_nolock" ] || mutex_on
|
[ -n "$g_nolock" ] || mutex_on
|
||||||
|
|
||||||
if [ -x ${VARDIR}/firewall ]; then
|
if [ -x ${VARDIR}/firewall ]; then
|
||||||
run_it ${VARDIR}/firewall $g_debugging start
|
if [ -n "$g_fast" -a -x ${VARDIR}/${RESTOREFILE} -a ! ${VARDIR}/firewall -nt ${VARDIR}/${RESTOREFILE} ]; then
|
||||||
|
run_it ${VARDIR}/${RESTOREFILE} $g_debugging restore
|
||||||
|
else
|
||||||
|
run_it ${VARDIR}/firewall $g_debugging start
|
||||||
|
fi
|
||||||
rc=$?
|
rc=$?
|
||||||
else
|
else
|
||||||
error_message "${VARDIR}/firewall is missing or is not executable"
|
error_message "${VARDIR}/firewall is missing or is not executable"
|
||||||
@@ -3326,6 +3682,14 @@ start_command() {
|
|||||||
finished=1
|
finished=1
|
||||||
option=
|
option=
|
||||||
;;
|
;;
|
||||||
|
f*)
|
||||||
|
g_fast=Yes
|
||||||
|
option=${option#f}
|
||||||
|
;;
|
||||||
|
C*)
|
||||||
|
g_counters=Yes
|
||||||
|
option=${option#C}
|
||||||
|
;;
|
||||||
p*)
|
p*)
|
||||||
[ -n "$(which conntrack)" ] || fatal_error "The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
[ -n "$(which conntrack)" ] || fatal_error "The '-p' option requires the conntrack utility which does not appear to be installed on this system"
|
||||||
g_purge=Yes
|
g_purge=Yes
|
||||||
@@ -3387,6 +3751,10 @@ restart_command() {
|
|||||||
g_purge=Yes
|
g_purge=Yes
|
||||||
option=${option%p}
|
option=${option%p}
|
||||||
;;
|
;;
|
||||||
|
C*)
|
||||||
|
g_counters=Yes
|
||||||
|
option=${option#C}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@@ -3423,6 +3791,14 @@ restart_command() {
|
|||||||
return $rc
|
return $rc
|
||||||
}
|
}
|
||||||
|
|
||||||
|
run_command() {
|
||||||
|
if [ -x ${VARDIR}/firewall ] ; then
|
||||||
|
run_it ${VARDIR}/firewall $g_debugging $@
|
||||||
|
else
|
||||||
|
fatal_error "${VARDIR}/firewall does not exist or is not executable"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Give Usage Information
|
# Give Usage Information
|
||||||
#
|
#
|
||||||
@@ -3433,6 +3809,7 @@ usage() # $1 = exit status
|
|||||||
echo " add <interface>[:<host-list>] ... <zone>"
|
echo " add <interface>[:<host-list>] ... <zone>"
|
||||||
echo " allow <address> ..."
|
echo " allow <address> ..."
|
||||||
echo " clear"
|
echo " clear"
|
||||||
|
echo " close <source> <dest> [ <protocol> [ <port> ] ]"
|
||||||
echo " delete <interface>[:<host-list>] ... <zone>"
|
echo " delete <interface>[:<host-list>] ... <zone>"
|
||||||
echo " disable <interface>"
|
echo " disable <interface>"
|
||||||
echo " drop <address> ..."
|
echo " drop <address> ..."
|
||||||
@@ -3450,14 +3827,18 @@ usage() # $1 = exit status
|
|||||||
echo " logdrop <address> ..."
|
echo " logdrop <address> ..."
|
||||||
echo " logreject <address> ..."
|
echo " logreject <address> ..."
|
||||||
echo " logwatch [<refresh interval>]"
|
echo " logwatch [<refresh interval>]"
|
||||||
|
echo " open <source> <dest> [ <protocol> [ <port> ] ]"
|
||||||
echo " reject <address> ..."
|
echo " reject <address> ..."
|
||||||
echo " reset [ <chain> ... ]"
|
echo " reset [ <chain> ... ]"
|
||||||
echo " restart [ -n ] [ -p ] [ -f ] [ <directory> ]"
|
echo " restart [ -n ] [ -p ] [ -f ] [ -C ] [ <directory> ]"
|
||||||
echo " restore [ -n ] [ <file name> ]"
|
echo " restore [ -n ] [ -p ] [ -C ] [ <file name> ]"
|
||||||
echo " save [ <file name> ]"
|
echo " run <command> [ <parameter> ... ]"
|
||||||
|
echo " save [ -C ] [ <file name> ]"
|
||||||
|
echo " savesets"
|
||||||
echo " [ show | list | ls ] [ -b ] [ -x ] [ -t {filter|mangle|nat} ] [ {chain [<chain> [ <chain> ... ]"
|
echo " [ show | list | ls ] [ -b ] [ -x ] [ -t {filter|mangle|nat} ] [ {chain [<chain> [ <chain> ... ]"
|
||||||
echo " [ show | list | ls ] [ -f ] capabilities"
|
echo " [ show | list | ls ] [ -f ] capabilities"
|
||||||
echo " [ show | list | ls ] arptables"
|
echo " [ show | list | ls ] arptables"
|
||||||
|
echo " [ show | list | ls ] [ -x ] {bl|blacklists}"
|
||||||
echo " [ show | list | ls ] classifiers"
|
echo " [ show | list | ls ] classifiers"
|
||||||
echo " [ show | list | ls ] config"
|
echo " [ show | list | ls ] config"
|
||||||
echo " [ show | list | ls ] connections"
|
echo " [ show | list | ls ] connections"
|
||||||
@@ -3473,14 +3854,15 @@ usage() # $1 = exit status
|
|||||||
echo " [ show | list | ls ] [ -m ] log [<regex>]"
|
echo " [ show | list | ls ] [ -m ] log [<regex>]"
|
||||||
echo " [ show | list | ls ] [ -x ] mangle|nat|raw|rawpost"
|
echo " [ show | list | ls ] [ -x ] mangle|nat|raw|rawpost"
|
||||||
echo " [ show | list | ls ] nfacct"
|
echo " [ show | list | ls ] nfacct"
|
||||||
|
echo " [ show | list | ls ] opens"
|
||||||
echo " [ show | list | ls ] policies"
|
echo " [ show | list | ls ] policies"
|
||||||
echo " [ show | list | ls ] routing"
|
echo " [ show | list | ls ] routing"
|
||||||
echo " [ show | list | ls ] tc [ device ]"
|
echo " [ show | list | ls ] tc [ device ]"
|
||||||
echo " [ show | list | ls ] vardir"
|
echo " [ show | list | ls ] vardir"
|
||||||
echo " [ show | list | ls ] zones"
|
echo " [ show | list | ls ] zones"
|
||||||
echo " start [ -f ] [ -p ] [ <directory> ]"
|
echo " start [ -f ] [ -p ] [ -C ] [ <directory> ]"
|
||||||
echo " stop"
|
echo " stop"
|
||||||
echo " status"
|
echo " status [ -i ]"
|
||||||
echo " version [ -a ]"
|
echo " version [ -a ]"
|
||||||
echo
|
echo
|
||||||
exit $1
|
exit $1
|
||||||
@@ -3530,6 +3912,8 @@ shorewall_cli() {
|
|||||||
g_directives=
|
g_directives=
|
||||||
g_inline=
|
g_inline=
|
||||||
g_tcrules=
|
g_tcrules=
|
||||||
|
g_counters=
|
||||||
|
g_loopback=
|
||||||
|
|
||||||
VERBOSE=
|
VERBOSE=
|
||||||
VERBOSITY=1
|
VERBOSITY=1
|
||||||
@@ -3725,16 +4109,21 @@ shorewall_cli() {
|
|||||||
fatal_error "$g_product is not running"
|
fatal_error "$g_product is not running"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
run)
|
||||||
|
[ $# -gt 1 ] || fatal_error "Missing function name"
|
||||||
|
get_config Yes
|
||||||
|
run_command $@
|
||||||
|
;;
|
||||||
show|list|ls)
|
show|list|ls)
|
||||||
get_config Yes No Yes
|
get_config Yes No Yes
|
||||||
shift
|
shift
|
||||||
show_command $@
|
show_command $@
|
||||||
;;
|
;;
|
||||||
status)
|
status)
|
||||||
[ $# -eq 1 ] || usage 1
|
|
||||||
[ "$(id -u)" != 0 ] && fatal_error "The status command may only be run by root"
|
[ "$(id -u)" != 0 ] && fatal_error "The status command may only be run by root"
|
||||||
get_config
|
get_config
|
||||||
status_command
|
shift
|
||||||
|
status_command $@
|
||||||
;;
|
;;
|
||||||
dump)
|
dump)
|
||||||
get_config Yes No Yes
|
get_config Yes No Yes
|
||||||
@@ -3775,6 +4164,11 @@ shorewall_cli() {
|
|||||||
[ $# -eq 1 ] && usage 1
|
[ $# -eq 1 ] && usage 1
|
||||||
reject_command $@
|
reject_command $@
|
||||||
;;
|
;;
|
||||||
|
open|close)
|
||||||
|
get_config
|
||||||
|
shift
|
||||||
|
open_close_command $@
|
||||||
|
;;
|
||||||
allow)
|
allow)
|
||||||
get_config
|
get_config
|
||||||
allow_command $@
|
allow_command $@
|
||||||
@@ -3838,6 +4232,12 @@ shorewall_cli() {
|
|||||||
shift
|
shift
|
||||||
noiptrace_command $@
|
noiptrace_command $@
|
||||||
;;
|
;;
|
||||||
|
savesets)
|
||||||
|
[ $# -eq 1 ] || usage 1
|
||||||
|
get_config
|
||||||
|
[ -n "$g_debugging" ] && set -x
|
||||||
|
savesets1
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
if [ -z "$g_lite" ]; then
|
if [ -z "$g_lite" ]; then
|
||||||
compiler_command $@
|
compiler_command $@
|
||||||
|
@@ -157,6 +157,7 @@ run_it() {
|
|||||||
[ -n "$g_timestamp" ] && options=${options}t
|
[ -n "$g_timestamp" ] && options=${options}t
|
||||||
[ -n "$g_purge" ] && options=${options}p
|
[ -n "$g_purge" ] && options=${options}p
|
||||||
[ -n "$g_recovering" ] && options=${options}r
|
[ -n "$g_recovering" ] && options=${options}r
|
||||||
|
[ -n "$g_counters" ] && options=${options}c
|
||||||
|
|
||||||
options="${options}V $VERBOSITY"
|
options="${options}V $VERBOSITY"
|
||||||
|
|
||||||
@@ -172,6 +173,7 @@ run_it() {
|
|||||||
error_message() # $* = Error Message
|
error_message() # $* = Error Message
|
||||||
{
|
{
|
||||||
echo " $@" >&2
|
echo " $@" >&2
|
||||||
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -372,7 +374,7 @@ reload_kernel_modules() {
|
|||||||
moduleloader=insmod
|
moduleloader=insmod
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "${MODULE_SUFFIX:=ko ko.gz o o.gz gz}" ]
|
[ -n "${MODULE_SUFFIX:=ko ko.gz ko.xz o o.gz o.xz gz xz}" ]
|
||||||
|
|
||||||
[ -z "$MODULESDIR" ] && \
|
[ -z "$MODULESDIR" ] && \
|
||||||
uname=$(uname -r) && \
|
uname=$(uname -r) && \
|
||||||
@@ -411,7 +413,7 @@ load_kernel_modules() # $1 = Yes, if we are to save moduleinfo in $VARDIR
|
|||||||
moduleloader=insmod
|
moduleloader=insmod
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "${MODULE_SUFFIX:=o gz ko o.gz ko.gz}" ]
|
[ -n "${MODULE_SUFFIX:=o gz xz ko o.gz o.xz ko.gz ko.xz}" ]
|
||||||
|
|
||||||
[ -z "$MODULESDIR" ] && \
|
[ -z "$MODULESDIR" ] && \
|
||||||
uname=$(uname -r) && \
|
uname=$(uname -r) && \
|
||||||
@@ -643,6 +645,24 @@ find_first_interface_address_if_any() # $1 = interface
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
#Determines if the passed interface is a loopback interface
|
||||||
|
#
|
||||||
|
loopback_interface() { #$1 = Interface name
|
||||||
|
[ "$1" = lo ] || $IP link show $1 | fgrep -q LOOPBACK
|
||||||
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# Find Loopback Interfaces
|
||||||
|
#
|
||||||
|
find_loopback_interfaces() {
|
||||||
|
local interfaces
|
||||||
|
|
||||||
|
[ -x "$IP" ] && interfaces=$($IP link show | fgrep LOOPBACK | sed 's/://g' | cut -d ' ' -f 2)
|
||||||
|
|
||||||
|
[ -n "$interfaces" ] && echo $interfaces || echo lo
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# Internal version of 'which'
|
# Internal version of 'which'
|
||||||
#
|
#
|
||||||
|
@@ -14,7 +14,7 @@ INITDIR= #Unused on OS X
|
|||||||
INITFILE= #Unused on OS X
|
INITFILE= #Unused on OS X
|
||||||
INITSOURCE= #Unused on OS X
|
INITSOURCE= #Unused on OS X
|
||||||
ANNOTATED= #Unused on OS X
|
ANNOTATED= #Unused on OS X
|
||||||
SYSTEMD= #Unused on OS X
|
SERVICEDIR= #Unused on OS X
|
||||||
SERVICEFILE= #Unused on OS X
|
SERVICEFILE= #Unused on OS X
|
||||||
SYSCONFDIR= #Unused on OS X
|
SYSCONFDIR= #Unused on OS X
|
||||||
SPARSE=Yes #Only install $PRODUCT/$PRODUCT.conf in $CONFDIR.
|
SPARSE=Yes #Only install $PRODUCT/$PRODUCT.conf in $CONFDIR.
|
||||||
|
@@ -8,14 +8,14 @@ SHAREDIR=${PREFIX}/share #Directory for arch-neutral files.
|
|||||||
LIBEXECDIR=${PREFIX}/share #Directory for executable scripts.
|
LIBEXECDIR=${PREFIX}/share #Directory for executable scripts.
|
||||||
PERLLIBDIR=${PREFIX}/share/shorewall #Directory to install Shorewall Perl module directory
|
PERLLIBDIR=${PREFIX}/share/shorewall #Directory to install Shorewall Perl module directory
|
||||||
CONFDIR=/etc #Directory where subsystem configurations are installed
|
CONFDIR=/etc #Directory where subsystem configurations are installed
|
||||||
SBINDIR=/usr/sbin #Directory where system administration programs are installed
|
SBINDIR=/usr/bin #Directory where system administration programs are installed
|
||||||
MANDIR=${SHAREDIR}/man #Directory where manpages are installed.
|
MANDIR=${SHAREDIR}/man #Directory where manpages are installed.
|
||||||
INITDIR= #Directory where SysV init scripts are installed.
|
INITDIR= #Directory where SysV init scripts are installed.
|
||||||
INITFILE= #Name of the product's installed SysV init script
|
INITFILE= #Name of the product's installed SysV init script
|
||||||
INITSOURCE= #Name of the distributed file to be installed as the SysV init script
|
INITSOURCE= #Name of the distributed file to be installed as the SysV init script
|
||||||
ANNOTATED= #If non-zero, annotated configuration files are installed
|
ANNOTATED= #If non-zero, annotated configuration files are installed
|
||||||
SYSCONFDIR= #Directory where SysV init parameter files are installed
|
SYSCONFDIR= #Directory where SysV init parameter files are installed
|
||||||
SYSTEMD=/usr/lib/systemd/system #Directory where .service files are installed (systems running systemd only)
|
SERVICEDIR=/usr/lib/systemd/system #Directory where .service files are installed (systems running systemd only)
|
||||||
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
||||||
SPARSE= #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR
|
SPARSE= #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR
|
||||||
VARLIB=/var/lib #Directory where product variable data is stored.
|
VARLIB=/var/lib #Directory where product variable data is stored.
|
||||||
|
@@ -14,7 +14,7 @@ INITDIR=/etc/init.d #Unused on Cygwin
|
|||||||
INITFILE= #Unused on Cygwin
|
INITFILE= #Unused on Cygwin
|
||||||
INITSOURCE= #Unused on Cygwin
|
INITSOURCE= #Unused on Cygwin
|
||||||
ANNOTATED= #Unused on Cygwin
|
ANNOTATED= #Unused on Cygwin
|
||||||
SYSTEMD= #Unused on Cygwin
|
SERVICEDIR= #Unused on Cygwin
|
||||||
SERVICEFILE= #Unused on Cygwin
|
SERVICEFILE= #Unused on Cygwin
|
||||||
SYSCONFDIR= #Unused on Cygwin
|
SYSCONFDIR= #Unused on Cygwin
|
||||||
SPARSE=Yes #Only install $PRODUCT/$PRODUCT.conf in $CONFDIR.
|
SPARSE=Yes #Only install $PRODUCT/$PRODUCT.conf in $CONFDIR.
|
||||||
|
@@ -17,7 +17,7 @@ ANNOTATED= #If non-zero, annotated configuration fi
|
|||||||
SYSCONFFILE=default.debian #Name of the distributed file to be installed in $SYSCONFDIR
|
SYSCONFFILE=default.debian #Name of the distributed file to be installed in $SYSCONFDIR
|
||||||
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
||||||
SYSCONFDIR=/etc/default #Directory where SysV init parameter files are installed
|
SYSCONFDIR=/etc/default #Directory where SysV init parameter files are installed
|
||||||
SYSTEMD= #Directory where .service files are installed (systems running systemd only)
|
SERVICEDIR= #Directory where .service files are installed (systems running systemd only)
|
||||||
SPARSE=Yes #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR
|
SPARSE=Yes #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR
|
||||||
VARLIB=/var/lib #Directory where product variable data is stored.
|
VARLIB=/var/lib #Directory where product variable data is stored.
|
||||||
VARDIR=${VARLIB}/$PRODUCT #Directory where product variable data is stored.
|
VARDIR=${VARLIB}/$PRODUCT #Directory where product variable data is stored.
|
||||||
|
@@ -14,7 +14,7 @@ INITDIR=/etc/init.d #Directory where SysV init scripts are i
|
|||||||
INITFILE=$PRODUCT #Name of the product's installed SysV init script
|
INITFILE=$PRODUCT #Name of the product's installed SysV init script
|
||||||
INITSOURCE=init.sh #Name of the distributed file to be installed as the SysV init script
|
INITSOURCE=init.sh #Name of the distributed file to be installed as the SysV init script
|
||||||
ANNOTATED= #If non-zero, annotated configuration files are installed
|
ANNOTATED= #If non-zero, annotated configuration files are installed
|
||||||
SYSTEMD= #Directory where .service files are installed (systems running systemd only)
|
SERVICEDIR= #Directory where .service files are installed (systems running systemd only)
|
||||||
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
||||||
SYSCONFFILE= #Name of the distributed file to be installed in $SYSCONFDIR
|
SYSCONFFILE= #Name of the distributed file to be installed in $SYSCONFDIR
|
||||||
SYSCONFDIR= #Directory where SysV init parameter files are installed
|
SYSCONFDIR= #Directory where SysV init parameter files are installed
|
||||||
|
@@ -14,7 +14,7 @@ INITDIR=/etc/rc.d/init.d #Directory where SysV init scripts are i
|
|||||||
INITFILE=$PRODUCT #Name of the product's installed SysV init script
|
INITFILE=$PRODUCT #Name of the product's installed SysV init script
|
||||||
INITSOURCE=init.fedora.sh #Name of the distributed file to be installed as the SysV init script
|
INITSOURCE=init.fedora.sh #Name of the distributed file to be installed as the SysV init script
|
||||||
ANNOTATED= #If non-zero, annotated configuration files are installed
|
ANNOTATED= #If non-zero, annotated configuration files are installed
|
||||||
SYSTEMD=/lib/systemd/system #Directory where .service files are installed (systems running systemd only)
|
SERVICEDIR=/lib/systemd/system #Directory where .service files are installed (systems running systemd only)
|
||||||
SYSCONFFILE=sysconfig #Name of the distributed file to be installed as $SYSCONFDIR/$PRODUCT
|
SYSCONFFILE=sysconfig #Name of the distributed file to be installed as $SYSCONFDIR/$PRODUCT
|
||||||
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
||||||
SYSCONFDIR=/etc/sysconfig/ #Directory where SysV init parameter files are installed
|
SYSCONFDIR=/etc/sysconfig/ #Directory where SysV init parameter files are installed
|
||||||
|
@@ -15,7 +15,7 @@ AUXINITSOURCE=init.slackware.firewall.sh #Name of the distributed file to be i
|
|||||||
AUXINITFILE=rc.firewall #Name of the product's installed SysV init script
|
AUXINITFILE=rc.firewall #Name of the product's installed SysV init script
|
||||||
INITSOURCE=init.slackware.$PRODUCT.sh #Name of the distributed file to be installed as a second SysV init script
|
INITSOURCE=init.slackware.$PRODUCT.sh #Name of the distributed file to be installed as a second SysV init script
|
||||||
INITFILE=rc.$PRODUCT #Name of the product's installed second init script
|
INITFILE=rc.$PRODUCT #Name of the product's installed second init script
|
||||||
SYSTEMD= #Name of the directory where .service files are installed (systems running systemd only)
|
SERVICEDIR= #Name of the directory where .service files are installed (systems running systemd only)
|
||||||
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
||||||
SYSCONFFILE= #Name of the distributed file to be installed in $SYSCONFDIR
|
SYSCONFFILE= #Name of the distributed file to be installed in $SYSCONFDIR
|
||||||
SYSCONFDIR= #Name of the directory where SysV init parameter files are installed.
|
SYSCONFDIR= #Name of the directory where SysV init parameter files are installed.
|
||||||
|
@@ -8,13 +8,13 @@ CONFDIR=/etc #Directory where subsystem
|
|||||||
SHAREDIR=${PREFIX}/share #Directory for arch-neutral files.
|
SHAREDIR=${PREFIX}/share #Directory for arch-neutral files.
|
||||||
LIBEXECDIR=${PREFIX}/lib #Directory for executable scripts.
|
LIBEXECDIR=${PREFIX}/lib #Directory for executable scripts.
|
||||||
PERLLIBDIR=${PREFIX}/lib/perl5/vendor_perl/5.14.2 #Directory to install Shorewall Perl module directory
|
PERLLIBDIR=${PREFIX}/lib/perl5/vendor_perl/5.14.2 #Directory to install Shorewall Perl module directory
|
||||||
SBINDIR=/sbin #Directory where system administration programs are installed
|
SBINDIR=/usr/sbin #Directory where system administration programs are installed
|
||||||
MANDIR=${SHAREDIR}/man/ #Directory where manpages are installed.
|
MANDIR=${SHAREDIR}/man/ #Directory where manpages are installed.
|
||||||
INITDIR=/etc/init.d #Directory where SysV init scripts are installed.
|
INITDIR=/etc/init.d #Directory where SysV init scripts are installed.
|
||||||
INITFILE=$PRODUCT #Name of the product's SysV init script
|
INITFILE=$PRODUCT #Name of the product's SysV init script
|
||||||
INITSOURCE=init.suse.sh #Name of the distributed file to be installed as the SysV init script
|
INITSOURCE=init.suse.sh #Name of the distributed file to be installed as the SysV init script
|
||||||
ANNOTATED= #If non-zero, annotated configuration files are installed
|
ANNOTATED= #If non-zero, annotated configuration files are installed
|
||||||
SYSTEMD= #Directory where .service files are installed (systems running systemd only)
|
SERVICEDIR= #Directory where .service files are installed (systems running systemd only)
|
||||||
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
SERVICEFILE= #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
|
||||||
SYSCONFFILE=sysconfig #Name of the distributed file to be installed in $SYSCONFDIR
|
SYSCONFFILE=sysconfig #Name of the distributed file to be installed in $SYSCONFDIR
|
||||||
SYSCONFDIR=/etc/sysconfig/ #Directory where SysV init parameter files are installed
|
SYSCONFDIR=/etc/sysconfig/ #Directory where SysV init parameter files are installed
|
||||||
|
@@ -35,6 +35,12 @@ usage() # $1 = exit status
|
|||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fatal_error()
|
||||||
|
{
|
||||||
|
echo " ERROR: $@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
qt()
|
qt()
|
||||||
{
|
{
|
||||||
"$@" >/dev/null 2>&1
|
"$@" >/dev/null 2>&1
|
||||||
|
@@ -28,7 +28,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ ! -x $STATEDIR/firewall ]; then
|
if [ ! -x $STATEDIR/firewall ]; then
|
||||||
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
||||||
|
@@ -31,7 +31,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ ! -x "$STATEDIR/firewall" ]; then
|
if [ ! -x "$STATEDIR/firewall" ]; then
|
||||||
if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
|
if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
|
||||||
|
@@ -28,7 +28,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ ! -x $STATEDIR/firewall ]; then
|
if [ ! -x $STATEDIR/firewall ]; then
|
||||||
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
||||||
|
@@ -71,7 +71,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
||||||
${SBINDIR}/$PRODUCT ${OPTIONS} compile -c || echo_notdone
|
${SBINDIR}/$PRODUCT ${OPTIONS} compile -c || echo_notdone
|
||||||
@@ -105,24 +105,35 @@ shorewall_start () {
|
|||||||
for PRODUCT in $PRODUCTS; do
|
for PRODUCT in $PRODUCTS; do
|
||||||
setstatedir
|
setstatedir
|
||||||
|
|
||||||
if [ -x ${STATEDIR}/$PRODUCT/firewall ]; then
|
if [ -x ${STATEDIR}/firewall ]; then
|
||||||
#
|
#
|
||||||
# Run in a sub-shell to avoid name collisions
|
# Run in a sub-shell to avoid name collisions
|
||||||
#
|
#
|
||||||
(
|
(
|
||||||
if ! ${STATEDIR}/$PRODUCT/firewall status > /dev/null 2>&1; then
|
if ! ${STATEDIR}/firewall status > /dev/null 2>&1; then
|
||||||
${STATEDIR}/$PRODUCT/firewall ${OPTIONS} stop || echo_notdone
|
${STATEDIR}/firewall ${OPTIONS} stop || echo_notdone
|
||||||
else
|
else
|
||||||
echo_notdone
|
echo_notdone
|
||||||
fi
|
fi
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
echo echo_notdone
|
echo_notdone
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
if [ -n "$SAVE_IPSETS" -a -f "$SAVE_IPSETS" ]; then
|
||||||
|
|
||||||
|
echo -n "Restoring ipsets: "
|
||||||
|
|
||||||
|
if ! ipset -R < "$SAVE_IPSETS"; then
|
||||||
|
echo_notdone
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "done."
|
||||||
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,13 +146,27 @@ shorewall_stop () {
|
|||||||
for PRODUCT in $PRODUCTS; do
|
for PRODUCT in $PRODUCTS; do
|
||||||
setstatedir
|
setstatedir
|
||||||
|
|
||||||
if [ -x ${STATEDIR}/$PRODUCT/firewall ]; then
|
if [ -x ${STATEDIR}/firewall ]; then
|
||||||
${STATEDIR}/$PRODUCT/firewall ${OPTIONS} clear || echo_notdone
|
${STATEDIR}/firewall ${OPTIONS} clear || echo_notdone
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "done."
|
echo "done."
|
||||||
|
|
||||||
|
if [ -n "$SAVE_IPSETS" ]; then
|
||||||
|
|
||||||
|
echo "Saving ipsets: "
|
||||||
|
|
||||||
|
mkdir -p $(dirname "$SAVE_IPSETS")
|
||||||
|
if ipset -S > "${SAVE_IPSETS}.tmp"; then
|
||||||
|
grep -qE -- '^(-N|create )' "${SAVE_IPSETS}.tmp" && mv -f "${SAVE_IPSETS}.tmp" "$SAVE_IPSETS"
|
||||||
|
else
|
||||||
|
echo_notdone
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "done."
|
||||||
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -42,7 +42,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
|
if [ $PRODUCT == shorewall -o $PRODUCT == shorewall6 ]; then
|
||||||
${SBINDIR}/$PRODUCT $OPTIONS compile -c
|
${SBINDIR}/$PRODUCT $OPTIONS compile -c
|
||||||
|
@@ -67,7 +67,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ ! -x $STATEDIR/firewall ]; then
|
if [ ! -x $STATEDIR/firewall ]; then
|
||||||
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
||||||
|
@@ -77,7 +77,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
||||||
${SBINDIR}/$PRODUCT ${OPTIONS} compile -c || exit
|
${SBINDIR}/$PRODUCT ${OPTIONS} compile -c || exit
|
||||||
|
@@ -35,6 +35,7 @@ usage() # $1 = exit status
|
|||||||
echo "usage: $ME [ <configuration-file> ]"
|
echo "usage: $ME [ <configuration-file> ]"
|
||||||
echo " $ME -v"
|
echo " $ME -v"
|
||||||
echo " $ME -h"
|
echo " $ME -h"
|
||||||
|
echo " $ME -n"
|
||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,9 +106,12 @@ PRODUCT=shorewall-init
|
|||||||
T='-T'
|
T='-T'
|
||||||
|
|
||||||
finished=0
|
finished=0
|
||||||
|
configure=1
|
||||||
|
|
||||||
while [ $finished -eq 0 ] ; do
|
while [ $finished -eq 0 ] ; do
|
||||||
case "$1" in
|
option="$1"
|
||||||
|
|
||||||
|
case "$option" in
|
||||||
-*)
|
-*)
|
||||||
option=${option#-}
|
option=${option#-}
|
||||||
|
|
||||||
@@ -120,6 +124,10 @@ while [ $finished -eq 0 ] ; do
|
|||||||
echo "Shorewall-init Firewall Installer Version $VERSION"
|
echo "Shorewall-init Firewall Installer Version $VERSION"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
n*)
|
||||||
|
configure=0
|
||||||
|
option=${option#n}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@@ -176,8 +184,12 @@ for var in SHAREDIR LIBEXECDIR CONFDIR SBINDIR VARLIB VARDIR; do
|
|||||||
require $var
|
require $var
|
||||||
done
|
done
|
||||||
|
|
||||||
|
[ -n "$SANDBOX" ] && configure=0
|
||||||
|
|
||||||
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
|
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
|
||||||
|
|
||||||
|
[ $configure -eq 1 ] && ETC=/etc || ETC="${CONFDIR}"
|
||||||
|
|
||||||
if [ -z "$BUILD" ]; then
|
if [ -z "$BUILD" ]; then
|
||||||
case $(uname) in
|
case $(uname) in
|
||||||
cygwin*)
|
cygwin*)
|
||||||
@@ -191,7 +203,7 @@ if [ -z "$BUILD" ]; then
|
|||||||
eval $(cat /etc/os-release | grep ^ID=)
|
eval $(cat /etc/os-release | grep ^ID=)
|
||||||
|
|
||||||
case $ID in
|
case $ID in
|
||||||
fedora)
|
fedora|rhel|centos|foobar)
|
||||||
BUILD=redhat
|
BUILD=redhat
|
||||||
;;
|
;;
|
||||||
debian|ubuntu)
|
debian|ubuntu)
|
||||||
@@ -306,6 +318,7 @@ fi
|
|||||||
# Install the Firewall Script
|
# Install the Firewall Script
|
||||||
#
|
#
|
||||||
if [ -n "$INITFILE" ]; then
|
if [ -n "$INITFILE" ]; then
|
||||||
|
mkdir -p ${DESTDIR}${INITDIR}
|
||||||
install_file $INITSOURCE ${DESTDIR}${INITDIR}/$INITFILE 0544
|
install_file $INITSOURCE ${DESTDIR}${INITDIR}/$INITFILE 0544
|
||||||
[ "${SHAREDIR}" = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${INITDIR}/$INITFILE
|
[ "${SHAREDIR}" = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${INITDIR}/$INITFILE
|
||||||
|
|
||||||
@@ -319,13 +332,17 @@ fi
|
|||||||
#
|
#
|
||||||
# Install the .service file
|
# Install the .service file
|
||||||
#
|
#
|
||||||
if [ -n "$SYSTEMD" ]; then
|
if [ -z "${SERVICEDIR}" ]; then
|
||||||
mkdir -p ${DESTDIR}${SYSTEMD}
|
SERVICEDIR="$SYSTEMD"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$SERVICEDIR" ]; then
|
||||||
|
mkdir -p ${DESTDIR}${SERVICEDIR}
|
||||||
[ -z "$SERVICEFILE" ] && SERVICEFILE=$PRODUCT.service
|
[ -z "$SERVICEFILE" ] && SERVICEFILE=$PRODUCT.service
|
||||||
run_install $OWNERSHIP -m 600 $SERVICEFILE ${DESTDIR}${SYSTEMD}/$PRODUCT.service
|
run_install $OWNERSHIP -m 644 $SERVICEFILE ${DESTDIR}${SERVICEDIR}/$PRODUCT.service
|
||||||
[ ${SBINDIR} != /sbin ] && eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${SYSTEMD}/$PRODUCT.service
|
[ ${SBINDIR} != /sbin ] && eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${SERVICEDIR}/$PRODUCT.service
|
||||||
echo "Service file $SERVICEFILE installed as ${DESTDIR}${SYSTEMD}/$PRODUCT.service"
|
echo "Service file $SERVICEFILE installed as ${DESTDIR}${SERVICEDIR}/$PRODUCT.service"
|
||||||
if [ -n "$DESTDIR" ]; then
|
if [ -n "$DESTDIR" -o $configure -eq 0 ]; then
|
||||||
mkdir -p ${DESTDIR}${SBINDIR}
|
mkdir -p ${DESTDIR}${SBINDIR}
|
||||||
chmod 755 ${DESTDIR}${SBINDIR}
|
chmod 755 ${DESTDIR}${SBINDIR}
|
||||||
fi
|
fi
|
||||||
@@ -364,16 +381,22 @@ fi
|
|||||||
|
|
||||||
if [ $HOST = debian ]; then
|
if [ $HOST = debian ]; then
|
||||||
if [ -n "${DESTDIR}" ]; then
|
if [ -n "${DESTDIR}" ]; then
|
||||||
mkdir -p ${DESTDIR}/etc/network/if-up.d/
|
mkdir -p ${DESTDIR}${ETC}/network/if-up.d/
|
||||||
mkdir -p ${DESTDIR}/etc/network/if-down.d/
|
mkdir -p ${DESTDIR}${ETC}/network/if-down.d/
|
||||||
|
mkdir -p ${DESTDIR}${ETC}/network/if-post-down.d/
|
||||||
|
elif [ $configure -eq 0 ]; then
|
||||||
|
mkdir -p ${DESTDIR}${CONFDIR}/network/if-up.d/
|
||||||
|
mkdir -p ${DESTDIR}${CONFDIR}/network/if-down.d/
|
||||||
|
mkdir -p ${DESTDIR}${CONFDIR}/network/if-post-down.d/
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -f ${DESTDIR}/etc/default/shorewall-init ]; then
|
if [ ! -f ${DESTDIR}${CONFDIR}/default/shorewall-init ]; then
|
||||||
if [ -n "${DESTDIR}" ]; then
|
if [ -n "${DESTDIR}" ]; then
|
||||||
mkdir ${DESTDIR}/etc/default
|
mkdir ${DESTDIR}${ETC}/default
|
||||||
fi
|
fi
|
||||||
|
|
||||||
install_file sysconfig ${DESTDIR}/etc/default/shorewall-init 0644
|
[ $configure -eq 1 ] || mkdir -p ${DESTDIR}${CONFDIR}/default
|
||||||
|
install_file sysconfig ${DESTDIR}${ETC}/default/shorewall-init 0644
|
||||||
fi
|
fi
|
||||||
|
|
||||||
IFUPDOWN=ifupdown.debian.sh
|
IFUPDOWN=ifupdown.debian.sh
|
||||||
@@ -383,13 +406,13 @@ else
|
|||||||
|
|
||||||
if [ -z "$RPM" ]; then
|
if [ -z "$RPM" ]; then
|
||||||
if [ $HOST = suse ]; then
|
if [ $HOST = suse ]; then
|
||||||
mkdir -p ${DESTDIR}/etc/sysconfig/network/if-up.d
|
mkdir -p ${DESTDIR}${ETC}/sysconfig/network/if-up.d
|
||||||
mkdir -p ${DESTDIR}${SYSCONFDIR}/network/if-down.d
|
mkdir -p ${DESTDIR}${ETC}/sysconfig/network/if-down.d
|
||||||
elif [ $HOST = gentoo ]; then
|
elif [ $HOST = gentoo ]; then
|
||||||
# Gentoo does not support if-{up,down}.d
|
# Gentoo does not support if-{up,down}.d
|
||||||
/bin/true
|
/bin/true
|
||||||
else
|
else
|
||||||
mkdir -p ${DESTDIR}/etc/NetworkManager/dispatcher.d
|
mkdir -p ${DESTDIR}/${ETC}/NetworkManager/dispatcher.d
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -415,17 +438,29 @@ mkdir -p ${DESTDIR}${LIBEXECDIR}/shorewall-init
|
|||||||
install_file ifupdown ${DESTDIR}${LIBEXECDIR}/shorewall-init/ifupdown 0544
|
install_file ifupdown ${DESTDIR}${LIBEXECDIR}/shorewall-init/ifupdown 0544
|
||||||
|
|
||||||
if [ -d ${DESTDIR}/etc/NetworkManager ]; then
|
if [ -d ${DESTDIR}/etc/NetworkManager ]; then
|
||||||
install_file ifupdown ${DESTDIR}/etc/NetworkManager/dispatcher.d/01-shorewall 0544
|
[ $configure -eq 1 ] || mkdir -p ${DESTDIR}${CONFDIR}/NetworkManager/dispatcher.d/
|
||||||
|
install_file ifupdown ${DESTDIR}${ETC}/NetworkManager/dispatcher.d/01-shorewall 0544
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case $HOST in
|
case $HOST in
|
||||||
debian)
|
debian)
|
||||||
install_file ifupdown ${DESTDIR}/etc/network/if-up.d/shorewall 0544
|
if [ $configure -eq 1 ]; then
|
||||||
install_file ifupdown ${DESTDIR}/etc/network/if-down.d/shorewall 0544
|
install_file ifupdown ${DESTDIR}/etc/network/if-up.d/shorewall 0544
|
||||||
install_file ifupdown ${DESTDIR}/etc/network/if-post-down.d/shorewall 0544
|
install_file ifupdown ${DESTDIR}/etc/network/if-down.d/shorewall 0544
|
||||||
|
install_file ifupdown ${DESTDIR}/etc/network/if-post-down.d/shorewall 0544
|
||||||
|
else
|
||||||
|
install_file ifupdown ${DESTDIR}${CONFDIR}/network/if-up.d/shorewall 0544
|
||||||
|
install_file ifupdown ${DESTDIR}${CONFDIR}/network/if-down.d/shorewall 0544
|
||||||
|
install_file ifupdown ${DESTDIR}${CONFDIR}/network/if-post-down.d/shorewall 0544
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
suse)
|
suse)
|
||||||
if [ -z "$RPM" ]; then
|
if [ -z "$RPM" ]; then
|
||||||
|
if [ $configure -eq 0 ]; then
|
||||||
|
mkdir -p ${DESTDIR}${SYSCONFDIR}/network/if-up.d/
|
||||||
|
mkdir -p ${DESTDIR}${SYSCONFDIR}/network/if-down.d/
|
||||||
|
fi
|
||||||
|
|
||||||
install_file ifupdown ${DESTDIR}${SYSCONFDIR}/network/if-up.d/shorewall 0544
|
install_file ifupdown ${DESTDIR}${SYSCONFDIR}/network/if-up.d/shorewall 0544
|
||||||
install_file ifupdown ${DESTDIR}${SYSCONFDIR}/network/if-down.d/shorewall 0544
|
install_file ifupdown ${DESTDIR}${SYSCONFDIR}/network/if-down.d/shorewall 0544
|
||||||
fi
|
fi
|
||||||
@@ -453,7 +488,7 @@ case $HOST in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
if [ -z "$DESTDIR" ]; then
|
if [ -z "$DESTDIR" ]; then
|
||||||
if [ -n "$first_install" ]; then
|
if [ $configure -eq 1 -a -n "$first_install" ]; then
|
||||||
if [ $HOST = debian ]; then
|
if [ $HOST = debian ]; then
|
||||||
if mywhich insserv; then
|
if mywhich insserv; then
|
||||||
if insserv ${INITDIR}/shorewall-init; then
|
if insserv ${INITDIR}/shorewall-init; then
|
||||||
@@ -476,7 +511,7 @@ if [ -z "$DESTDIR" ]; then
|
|||||||
# not by the installer
|
# not by the installer
|
||||||
/bin/true
|
/bin/true
|
||||||
else
|
else
|
||||||
if [ -n "$SYSTEMD" ]; then
|
if [ -n "$SERVICEDIR" ]; then
|
||||||
if systemctl enable shorewall-init.service; then
|
if systemctl enable shorewall-init.service; then
|
||||||
echo "Shorewall Init will start automatically at boot"
|
echo "Shorewall Init will start automatically at boot"
|
||||||
fi
|
fi
|
||||||
@@ -505,7 +540,7 @@ if [ -z "$DESTDIR" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ -n "$first_install" ]; then
|
if [ $configure -eq 1 -a -n "$first_install" ]; then
|
||||||
if [ $HOST = debian ]; then
|
if [ $HOST = debian ]; then
|
||||||
if [ -n "${DESTDIR}" ]; then
|
if [ -n "${DESTDIR}" ]; then
|
||||||
mkdir -p ${DESTDIR}/etc/rcS.d
|
mkdir -p ${DESTDIR}/etc/rcS.d
|
||||||
|
@@ -30,7 +30,7 @@ setstatedir() {
|
|||||||
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
statedir=$( . /${CONFDIR}/${PRODUCT}/vardir && echo $VARDIR )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARDIR}/${PRODUCT}
|
[ -n "$statedir" ] && STATEDIR=${statedir} || STATEDIR=${VARLIB}/${PRODUCT}
|
||||||
|
|
||||||
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
if [ $PRODUCT = shorewall -o $PRODUCT = shorewall6 ]; then
|
||||||
${SBINDIR}/$PRODUCT ${OPTIONS} compile -c || exit 1
|
${SBINDIR}/$PRODUCT ${OPTIONS} compile -c || exit 1
|
||||||
@@ -63,18 +63,19 @@ shorewall_start () {
|
|||||||
for PRODUCT in $PRODUCTS; do
|
for PRODUCT in $PRODUCTS; do
|
||||||
setstatedir
|
setstatedir
|
||||||
|
|
||||||
if [ -x ${STATEDIR}/$PRODUCT/firewall ]; then
|
if [ -x ${STATEDIR}/firewall ]; then
|
||||||
#
|
#
|
||||||
# Run in a sub-shell to avoid name collisions
|
# Run in a sub-shell to avoid name collisions
|
||||||
#
|
#
|
||||||
(
|
(
|
||||||
if ! ${STATEDIR}/$PRODUCT/firewall status > /dev/null 2>&1; then
|
if ! ${STATEDIR}/firewall status > /dev/null 2>&1; then
|
||||||
${STATEDIR}/$PRODUCT/firewall ${OPTIONS} stop || exit 1
|
${STATEDIR}/firewall ${OPTIONS} stop || exit 1
|
||||||
else
|
else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
)
|
)
|
||||||
else
|
else
|
||||||
|
echo ERROR: ${STATEDIR}/firewall does not exist or is not executable!
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@@ -95,8 +96,8 @@ shorewall_stop () {
|
|||||||
for PRODUCT in $PRODUCTS; do
|
for PRODUCT in $PRODUCTS; do
|
||||||
setstatedir
|
setstatedir
|
||||||
|
|
||||||
if [ -x ${STATEDIR}/$PRODUCT/firewall ]; then
|
if [ -x ${STATEDIR}/firewall ]; then
|
||||||
${STATEDIR}/$PRODUCT/firewall ${OPTIONS} clear || exit 1
|
${STATEDIR}/firewall ${OPTIONS} clear || exit 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@@ -1,20 +1,20 @@
|
|||||||
#
|
#
|
||||||
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.4
|
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall
|
||||||
#
|
#
|
||||||
# Copyright 2011 Jonathan Underwood (jonathan.underwood@gmail.com)
|
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
|
||||||
#
|
#
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Shorewall IPv4 firewall
|
Description=Shorewall IPv4 firewall (bootup security)
|
||||||
After=syslog.target
|
|
||||||
Before=network.target
|
Before=network.target
|
||||||
|
Conflicts=iptables.service firewalld.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
EnvironmentFile=-/etc/sysconfig/shorewall-init
|
EnvironmentFile=-/etc/sysconfig/shorewall-init
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
ExecStart=/sbin/shorewall-init $OPTIONS start
|
ExecStart=/sbin/shorewall-init start
|
||||||
ExecStop=/sbin/shorewall-init $OPTIONS stop
|
ExecStop=/sbin/shorewall-init stop
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=basic.target
|
||||||
|
21
Shorewall-init/shorewall-init.service.214
Normal file
21
Shorewall-init/shorewall-init.service.214
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#
|
||||||
|
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall
|
||||||
|
#
|
||||||
|
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
|
||||||
|
#
|
||||||
|
[Unit]
|
||||||
|
Description=Shorewall IPv4 firewall (bootup security)
|
||||||
|
Before=network-pre.target
|
||||||
|
Wants=network-pre.target
|
||||||
|
Conflicts=iptables.service firewalld.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
EnvironmentFile=-/etc/sysconfig/shorewall-init
|
||||||
|
StandardOutput=syslog
|
||||||
|
ExecStart=/sbin/shorewall-init start
|
||||||
|
ExecStop=/sbin/shorewall-init stop
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
@@ -1,4 +1,4 @@
|
|||||||
\#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# Script to back uninstall Shoreline Firewall
|
# Script to back uninstall Shoreline Firewall
|
||||||
#
|
#
|
||||||
@@ -35,6 +35,12 @@ usage() # $1 = exit status
|
|||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fatal_error()
|
||||||
|
{
|
||||||
|
echo " ERROR: $@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
qt()
|
qt()
|
||||||
{
|
{
|
||||||
"$@" >/dev/null 2>&1
|
"$@" >/dev/null 2>&1
|
||||||
@@ -69,6 +75,42 @@ remove_file() # $1 = file to restore
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
finished=0
|
||||||
|
configure=1
|
||||||
|
|
||||||
|
while [ $finished -eq 0 ]; do
|
||||||
|
option=$1
|
||||||
|
|
||||||
|
case "$option" in
|
||||||
|
-*)
|
||||||
|
option=${option#-}
|
||||||
|
|
||||||
|
while [ -n "$option" ]; do
|
||||||
|
case $option in
|
||||||
|
h)
|
||||||
|
usage 0
|
||||||
|
;;
|
||||||
|
v)
|
||||||
|
echo "$Product Firewall Installer Version $VERSION"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
n*)
|
||||||
|
configure=0
|
||||||
|
option=${option#n}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
finished=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
#
|
#
|
||||||
# Read the RC file
|
# Read the RC file
|
||||||
#
|
#
|
||||||
@@ -114,22 +156,29 @@ fi
|
|||||||
|
|
||||||
echo "Uninstalling Shorewall Init $VERSION"
|
echo "Uninstalling Shorewall Init $VERSION"
|
||||||
|
|
||||||
|
[ -n "$SANDBOX" ] && configure=0
|
||||||
|
|
||||||
INITSCRIPT=${CONFDIR}/init.d/shorewall-init
|
INITSCRIPT=${CONFDIR}/init.d/shorewall-init
|
||||||
|
|
||||||
if [ -f "$INITSCRIPT" ]; then
|
if [ -f "$INITSCRIPT" ]; then
|
||||||
if mywhich updaterc.d ; then
|
if [ $configure -eq 1 ]; then
|
||||||
updaterc.d shorewall-init remove
|
if mywhich updaterc.d ; then
|
||||||
elif mywhich insserv ; then
|
updaterc.d shorewall-init remove
|
||||||
insserv -r $INITSCRIPT
|
elif mywhich insserv ; then
|
||||||
elif mywhich chkconfig ; then
|
insserv -r $INITSCRIPT
|
||||||
chkconfig --del $(basename $INITSCRIPT)
|
elif mywhich chkconfig ; then
|
||||||
elif mywhich systemctl ; then
|
chkconfig --del $(basename $INITSCRIPT)
|
||||||
systemctl disable shorewall-init
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
remove_file $INITSCRIPT
|
remove_file $INITSCRIPT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$SYSTEMD" ]; then
|
||||||
|
[ $configure -eq 1 ] && systemctl disable shorewall-init.service
|
||||||
|
rm -f $SYSTEMD/shorewall-init.service
|
||||||
|
fi
|
||||||
|
|
||||||
[ "$(readlink -m -q ${SBINDIR}/ifup-local)" = ${SHAREDIR}/shorewall-init ] && remove_file ${SBINDIR}/ifup-local
|
[ "$(readlink -m -q ${SBINDIR}/ifup-local)" = ${SHAREDIR}/shorewall-init ] && remove_file ${SBINDIR}/ifup-local
|
||||||
[ "$(readlink -m -q ${SBINDIR}/ifdown-local)" = ${SHAREDIR}/shorewall-init ] && remove_file ${SBINDIR}/ifdown-local
|
[ "$(readlink -m -q ${SBINDIR}/ifdown-local)" = ${SHAREDIR}/shorewall-init ] && remove_file ${SBINDIR}/ifdown-local
|
||||||
|
|
||||||
@@ -159,8 +208,9 @@ if [ -d ${CONFDIR}/ppp ]; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rm -f ${SBINDIR}/shorewall-init
|
||||||
rm -rf ${SHAREDIR}/shorewall-init
|
rm -rf ${SHAREDIR}/shorewall-init
|
||||||
rm -rf ${LIBEXEC}/shorewall-init
|
rm -rf ${LIBEXECDIR}/shorewall-init
|
||||||
|
|
||||||
echo "Shorewall Init Uninstalled"
|
echo "Shorewall Init Uninstalled"
|
||||||
|
|
||||||
|
@@ -39,7 +39,7 @@ fi
|
|||||||
|
|
||||||
start() {
|
start() {
|
||||||
echo -n $"Starting Shorewall: "
|
echo -n $"Starting Shorewall: "
|
||||||
$shorewall $OPTIONS start 2>&1 | $logger
|
$shorewall $OPTIONS start $STARTOPTIONS 2>&1 | $logger
|
||||||
retval=${PIPESTATUS[0]}
|
retval=${PIPESTATUS[0]}
|
||||||
if [[ $retval == 0 ]]; then
|
if [[ $retval == 0 ]]; then
|
||||||
touch $lockfile
|
touch $lockfile
|
||||||
@@ -69,7 +69,7 @@ restart() {
|
|||||||
# Note that we don't simply stop and start since shorewall has a built in
|
# Note that we don't simply stop and start since shorewall has a built in
|
||||||
# restart which stops the firewall if running and then starts it.
|
# restart which stops the firewall if running and then starts it.
|
||||||
echo -n $"Restarting Shorewall: "
|
echo -n $"Restarting Shorewall: "
|
||||||
$shorewall $OPTIONS restart 2>&1 | $logger
|
$shorewall $OPTIONS restart $RESTARTOPTIONS 2>&1 | $logger
|
||||||
retval=${PIPESTATUS[0]}
|
retval=${PIPESTATUS[0]}
|
||||||
if [[ $retval == 0 ]]; then
|
if [[ $retval == 0 ]]; then
|
||||||
touch $lockfile
|
touch $lockfile
|
||||||
|
@@ -30,6 +30,7 @@ usage() # $1 = exit status
|
|||||||
echo "usage: $ME [ <configuration-file> ]"
|
echo "usage: $ME [ <configuration-file> ]"
|
||||||
echo " $ME -v"
|
echo " $ME -v"
|
||||||
echo " $ME -h"
|
echo " $ME -h"
|
||||||
|
echo " $ME -n"
|
||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -113,9 +114,13 @@ fi
|
|||||||
# Parse the run line
|
# Parse the run line
|
||||||
#
|
#
|
||||||
finished=0
|
finished=0
|
||||||
|
configure=1
|
||||||
|
|
||||||
while [ $finished -eq 0 ] ; do
|
while [ $finished -eq 0 ] ; do
|
||||||
case "$1" in
|
|
||||||
|
option=$1
|
||||||
|
|
||||||
|
case "$option" in
|
||||||
-*)
|
-*)
|
||||||
option=${option#-}
|
option=${option#-}
|
||||||
|
|
||||||
@@ -128,6 +133,10 @@ while [ $finished -eq 0 ] ; do
|
|||||||
echo "$Product Firewall Installer Version $VERSION"
|
echo "$Product Firewall Installer Version $VERSION"
|
||||||
exit 0
|
exit 0
|
||||||
;;
|
;;
|
||||||
|
n*)
|
||||||
|
configure=0
|
||||||
|
option=${option#n}
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
usage 1
|
usage 1
|
||||||
;;
|
;;
|
||||||
@@ -186,6 +195,8 @@ done
|
|||||||
|
|
||||||
PATH=${SBINDIR}:/bin:/usr${SBINDIR}:/usr/bin:/usr/local/bin:/usr/local${SBINDIR}
|
PATH=${SBINDIR}:/bin:/usr${SBINDIR}:/usr/bin:/usr/local/bin:/usr/local${SBINDIR}
|
||||||
|
|
||||||
|
[ -n "$SANDBOX" ] && configure=0
|
||||||
|
|
||||||
#
|
#
|
||||||
# Determine where to install the firewall script
|
# Determine where to install the firewall script
|
||||||
#
|
#
|
||||||
@@ -195,7 +206,7 @@ T='-T'
|
|||||||
|
|
||||||
if [ -z "$BUILD" ]; then
|
if [ -z "$BUILD" ]; then
|
||||||
case $(uname) in
|
case $(uname) in
|
||||||
cygwin*)
|
cygwin*|CYGWIN*)
|
||||||
BUILD=cygwin
|
BUILD=cygwin
|
||||||
;;
|
;;
|
||||||
Darwin)
|
Darwin)
|
||||||
@@ -206,7 +217,7 @@ if [ -z "$BUILD" ]; then
|
|||||||
eval $(cat /etc/os-release | grep ^ID)
|
eval $(cat /etc/os-release | grep ^ID)
|
||||||
|
|
||||||
case $ID in
|
case $ID in
|
||||||
fedora)
|
fedora|rhel|centos|foobar)
|
||||||
BUILD=redhat
|
BUILD=redhat
|
||||||
;;
|
;;
|
||||||
debian)
|
debian)
|
||||||
@@ -242,7 +253,7 @@ if [ -z "$BUILD" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
case $BUILD in
|
case $BUILD in
|
||||||
cygwin*)
|
cygwin*|CYGWIN*)
|
||||||
OWNER=$(id -un)
|
OWNER=$(id -un)
|
||||||
GROUP=$(id -gn)
|
GROUP=$(id -gn)
|
||||||
;;
|
;;
|
||||||
@@ -346,6 +357,7 @@ fi
|
|||||||
delete_file ${DESTDIR}/usr/share/$PRODUCT/xmodules
|
delete_file ${DESTDIR}/usr/share/$PRODUCT/xmodules
|
||||||
|
|
||||||
install_file $PRODUCT ${DESTDIR}${SBINDIR}/$PRODUCT 0544
|
install_file $PRODUCT ${DESTDIR}${SBINDIR}/$PRODUCT 0544
|
||||||
|
[ -n "${INITFILE}" ] && install -d $OWNERSHIP -m 755 ${DESTDIR}${INITDIR}
|
||||||
|
|
||||||
echo "$Product control program installed in ${DESTDIR}${SBINDIR}/$PRODUCT"
|
echo "$Product control program installed in ${DESTDIR}${SBINDIR}/$PRODUCT"
|
||||||
|
|
||||||
@@ -358,7 +370,7 @@ mkdir -p ${DESTDIR}${LIBEXECDIR}/$PRODUCT
|
|||||||
mkdir -p ${DESTDIR}${VARDIR}
|
mkdir -p ${DESTDIR}${VARDIR}
|
||||||
|
|
||||||
chmod 755 ${DESTDIR}${CONFDIR}/$PRODUCT
|
chmod 755 ${DESTDIR}${CONFDIR}/$PRODUCT
|
||||||
chmod 755 ${DESTDIR}/usr/share/$PRODUCT
|
chmod 755 ${DESTDIR}${SHAREDIR}/$PRODUCT
|
||||||
|
|
||||||
if [ -n "$DESTDIR" ]; then
|
if [ -n "$DESTDIR" ]; then
|
||||||
mkdir -p ${DESTDIR}${CONFDIR}/logrotate.d
|
mkdir -p ${DESTDIR}${CONFDIR}/logrotate.d
|
||||||
@@ -369,7 +381,7 @@ fi
|
|||||||
|
|
||||||
if [ -n "$INITFILE" ]; then
|
if [ -n "$INITFILE" ]; then
|
||||||
if [ -f "${INITSOURCE}" ]; then
|
if [ -f "${INITSOURCE}" ]; then
|
||||||
initfile="${DESTDIR}/${INITDIR}/${INITFILE}"
|
initfile="${DESTDIR}${INITDIR}/${INITFILE}"
|
||||||
install_file ${INITSOURCE} "$initfile" 0544
|
install_file ${INITSOURCE} "$initfile" 0544
|
||||||
|
|
||||||
[ "${SHAREDIR}" = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' "$initfile"
|
[ "${SHAREDIR}" = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' "$initfile"
|
||||||
@@ -380,12 +392,16 @@ fi
|
|||||||
#
|
#
|
||||||
# Install the .service file
|
# Install the .service file
|
||||||
#
|
#
|
||||||
if [ -n "$SYSTEMD" ]; then
|
if [ -z "${SERVICEDIR}" ]; then
|
||||||
mkdir -p ${DESTDIR}${SYSTEMD}
|
SERVICEDIR="$SYSTEMD"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$SERVICEDIR" ]; then
|
||||||
|
mkdir -p ${DESTDIR}${SERVICEDIR}
|
||||||
[ -z "$SERVICEFILE" ] && SERVICEFILE=$PRODUCT.service
|
[ -z "$SERVICEFILE" ] && SERVICEFILE=$PRODUCT.service
|
||||||
run_install $OWNERSHIP -m 600 $SERVICEFILE ${DESTDIR}${SYSTEMD}/$PRODUCT.service
|
run_install $OWNERSHIP -m 644 $SERVICEFILE ${DESTDIR}${SERVICEDIR}/$PRODUCT.service
|
||||||
[ ${SBINDIR} != /sbin ] && eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${SYSTEMD}/$PRODUCT.service
|
[ ${SBINDIR} != /sbin ] && eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${SERVICEDIR}/$PRODUCT.service
|
||||||
echo "Service file $SERVICEFILE installed as ${DESTDIR}${SYSTEMD}/$PRODUCT.service"
|
echo "Service file $SERVICEFILE installed as ${DESTDIR}${SERVICEDIR}/$PRODUCT.service"
|
||||||
fi
|
fi
|
||||||
#
|
#
|
||||||
# Install the config file
|
# Install the config file
|
||||||
@@ -466,18 +482,18 @@ done
|
|||||||
if [ -d manpages ]; then
|
if [ -d manpages ]; then
|
||||||
cd manpages
|
cd manpages
|
||||||
|
|
||||||
[ -n "$INSTALLD" ] || mkdir -p ${DESTDIR}${SHAREDIR}/man/man5/ ${DESTDIR}${SHAREDIR}/man/man8/
|
[ -n "$INSTALLD" ] || mkdir -p ${DESTDIR}${MANDIR}/man5/ ${DESTDIR}${MANDIR}/man8/
|
||||||
|
|
||||||
for f in *.5; do
|
for f in *.5; do
|
||||||
gzip -c $f > $f.gz
|
gzip -c $f > $f.gz
|
||||||
run_install $T $INSTALLD $OWNERSHIP -m 0644 $f.gz ${DESTDIR}${SHAREDIR}/man/man5/$f.gz
|
run_install $T $INSTALLD $OWNERSHIP -m 0644 $f.gz ${DESTDIR}${MANDIR}/man5/$f.gz
|
||||||
echo "Man page $f.gz installed to ${DESTDIR}${SHAREDIR}/man/man5/$f.gz"
|
echo "Man page $f.gz installed to ${DESTDIR}${MANDIR}/man5/$f.gz"
|
||||||
done
|
done
|
||||||
|
|
||||||
for f in *.8; do
|
for f in *.8; do
|
||||||
gzip -c $f > $f.gz
|
gzip -c $f > $f.gz
|
||||||
run_install $T $INSTALLD $OWNERSHIP -m 0644 $f.gz ${DESTDIR}${SHAREDIR}/man/man8/$f.gz
|
run_install $T $INSTALLD $OWNERSHIP -m 0644 $f.gz ${DESTDIR}${MANDIR}/man8/$f.gz
|
||||||
echo "Man page $f.gz installed to ${DESTDIR}${SHAREDIR}/man/man8/$f.gz"
|
echo "Man page $f.gz installed to ${DESTDIR}${MANDIR}/man8/$f.gz"
|
||||||
done
|
done
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
@@ -499,7 +515,7 @@ chmod 644 ${DESTDIR}${SHAREDIR}/$PRODUCT/version
|
|||||||
# Remove and create the symbolic link to the init script
|
# Remove and create the symbolic link to the init script
|
||||||
#
|
#
|
||||||
|
|
||||||
if [ -z "$DESTDIR" ]; then
|
if [ -z "${DESTDIR}" -a -n "${INITFILE}" ]; then
|
||||||
rm -f ${SHAREDIR}/$PRODUCT/init
|
rm -f ${SHAREDIR}/$PRODUCT/init
|
||||||
ln -s ${INITDIR}/${INITFILE} ${SHAREDIR}/$PRODUCT/init
|
ln -s ${INITDIR}/${INITFILE} ${SHAREDIR}/$PRODUCT/init
|
||||||
fi
|
fi
|
||||||
@@ -526,8 +542,8 @@ if [ ${SHAREDIR} != /usr/share ]; then
|
|||||||
eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${SBINDIR}/$PRODUCT
|
eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${SBINDIR}/$PRODUCT
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$DESTDIR" -a -n "$first_install" -a -z "${cygwin}${mac}" ]; then
|
if [ $configure -eq 1 -a -z "$DESTDIR" -a -n "$first_install" -a -z "${cygwin}${mac}" ]; then
|
||||||
if [ -n "$SYSTEMD" ]; then
|
if [ -n "$SERVICEDIR" ]; then
|
||||||
if systemctl enable ${PRODUCT}.service; then
|
if systemctl enable ${PRODUCT}.service; then
|
||||||
echo "$Product will start automatically at boot"
|
echo "$Product will start automatically at boot"
|
||||||
fi
|
fi
|
||||||
|
@@ -59,6 +59,21 @@
|
|||||||
choice="plain"><option>clear</option><arg><option>-f</option></arg></arg>
|
choice="plain"><option>clear</option><arg><option>-f</option></arg></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
|
<arg
|
||||||
|
choice="opt"><option>trace</option>|<option>debug</option><arg><option>nolock</option></arg></arg>
|
||||||
|
|
||||||
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
|
<arg choice="plain"><option>close</option><arg choice="req">
|
||||||
|
<replaceable>open-number</replaceable> |
|
||||||
|
<replaceable>source</replaceable><replaceable>dest</replaceable><arg><replaceable>protocol</replaceable><arg>
|
||||||
|
<replaceable>port</replaceable> </arg></arg></arg><replaceable>
|
||||||
|
</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
<command>shorewall-lite</command>
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
@@ -116,6 +131,8 @@
|
|||||||
<arg><option>-l</option></arg>
|
<arg><option>-l</option></arg>
|
||||||
|
|
||||||
<arg><option>-m</option></arg>
|
<arg><option>-m</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-c</option></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
@@ -263,6 +280,15 @@
|
|||||||
expression</replaceable></arg>
|
expression</replaceable></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
|
<arg choice="plain"><option>open</option><replaceable>
|
||||||
|
source</replaceable><replaceable> dest</replaceable><arg>
|
||||||
|
<replaceable>protocol</replaceable><arg> <replaceable>port</replaceable>
|
||||||
|
</arg> </arg></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
<command>shorewall-lite</command>
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
@@ -299,7 +325,7 @@
|
|||||||
|
|
||||||
<arg><option>-n</option></arg>
|
<arg><option>-n</option></arg>
|
||||||
|
|
||||||
<arg><option>-p</option></arg>
|
<arg><option>-p</option><arg><option>-C</option></arg></arg>
|
||||||
|
|
||||||
<arg><replaceable>directory</replaceable></arg>
|
<arg><replaceable>directory</replaceable></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
@@ -314,6 +340,8 @@
|
|||||||
|
|
||||||
<arg choice="plain"><option>restore</option></arg>
|
<arg choice="plain"><option>restore</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-C</option></arg>
|
||||||
|
|
||||||
<arg><replaceable>filename</replaceable></arg>
|
<arg><replaceable>filename</replaceable></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
@@ -325,11 +353,38 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="plain"><option>save</option></arg>
|
<arg choice="plain"><option>run</option></arg>
|
||||||
|
|
||||||
|
<arg choice="plain">function</arg>
|
||||||
|
|
||||||
|
<arg><replaceable>parameter ...</replaceable></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
|
<arg
|
||||||
|
choice="opt"><option>trace</option>|<option>debug</option><arg><option>nolock</option></arg></arg>
|
||||||
|
|
||||||
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
|
<arg
|
||||||
|
choice="plain"><option>save</option><arg><option>-C</option></arg></arg>
|
||||||
|
|
||||||
<arg choice="opt"><replaceable>filename</replaceable></arg>
|
<arg choice="opt"><replaceable>filename</replaceable></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
|
<arg
|
||||||
|
choice="opt"><option>trace</option>|<option>debug</option><arg><option>nolock</option></arg></arg>
|
||||||
|
|
||||||
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
|
<arg choice="plain"><option>savesets</option></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
<command>shorewall-lite</command>
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
@@ -337,7 +392,7 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg><option>-b</option></arg>
|
<arg><option>-b</option></arg>
|
||||||
|
|
||||||
@@ -359,7 +414,21 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
|
<arg><option>-x</option></arg>
|
||||||
|
|
||||||
|
<arg choice="plain"><option>{bl|blacklists}</option></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
|
<arg choice="opt"><option>trace</option>|<option>debug</option></arg>
|
||||||
|
|
||||||
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg><option>-f</option></arg>
|
<arg><option>-f</option></arg>
|
||||||
|
|
||||||
@@ -373,7 +442,7 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg
|
<arg
|
||||||
choice="req"><option>classifiers|connections|config|events|filters|ip|ipa|zones|policies|marks</option></arg>
|
choice="req"><option>classifiers|connections|config|events|filters|ip|ipa|zones|policies|marks</option></arg>
|
||||||
@@ -386,7 +455,7 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg choice="plain"><option>event</option><arg
|
<arg choice="plain"><option>event</option><arg
|
||||||
choice="plain"><replaceable>event</replaceable></arg></arg>
|
choice="plain"><replaceable>event</replaceable></arg></arg>
|
||||||
@@ -399,11 +468,11 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg><option>-x</option></arg>
|
<arg><option>-c</option></arg>
|
||||||
|
|
||||||
<arg choice="req"><option>mangle|nat|routing|raw|rawpost</option></arg>
|
<arg choice="plain"><option>routing</option></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
@@ -413,7 +482,21 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
|
<arg><option>-x</option></arg>
|
||||||
|
|
||||||
|
<arg choice="req"><option>mangle|nat|raw|rawpost</option></arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>shorewall-lite</command>
|
||||||
|
|
||||||
|
<arg choice="opt"><option>trace</option>|<option>debug</option></arg>
|
||||||
|
|
||||||
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg choice="plain"><option>tc</option></arg>
|
<arg choice="plain"><option>tc</option></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
@@ -425,7 +508,7 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="opt"><option>show | list | ls </option></arg>
|
<arg choice="req"><option>show | list | ls </option></arg>
|
||||||
|
|
||||||
<arg><option>-m</option></arg>
|
<arg><option>-m</option></arg>
|
||||||
|
|
||||||
@@ -445,6 +528,10 @@
|
|||||||
<arg><option>-n</option></arg>
|
<arg><option>-n</option></arg>
|
||||||
|
|
||||||
<arg><option>-p</option></arg>
|
<arg><option>-p</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-f</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-C</option></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
@@ -465,7 +552,8 @@
|
|||||||
|
|
||||||
<arg>-<replaceable>options</replaceable></arg>
|
<arg>-<replaceable>options</replaceable></arg>
|
||||||
|
|
||||||
<arg choice="plain"><option>status</option></arg>
|
<arg choice="plain"><arg
|
||||||
|
choice="plain"><option>status</option><arg><option>-i</option></arg></arg></arg>
|
||||||
</cmdsynopsis>
|
</cmdsynopsis>
|
||||||
|
|
||||||
<cmdsynopsis>
|
<cmdsynopsis>
|
||||||
@@ -496,8 +584,9 @@
|
|||||||
|
|
||||||
<para>The nolock <option>option</option> prevents the command from
|
<para>The nolock <option>option</option> prevents the command from
|
||||||
attempting to acquire the Shorewall-lite lockfile. It is useful if you
|
attempting to acquire the Shorewall-lite lockfile. It is useful if you
|
||||||
need to include <command>shorewall</command> commands in
|
need to include <command>shorewall</command> commands in the
|
||||||
<filename>/etc/shorewall/started</filename>.</para>
|
<filename>started</filename> <ulink
|
||||||
|
url="../shorewall_extension_scripts.html">extension script</ulink>.</para>
|
||||||
|
|
||||||
<para>The <emphasis>options</emphasis> control the amount of output that
|
<para>The <emphasis>options</emphasis> control the amount of output that
|
||||||
the command produces. They consist of a sequence of the letters <emphasis
|
the command produces. They consist of a sequence of the letters <emphasis
|
||||||
@@ -508,8 +597,8 @@
|
|||||||
role="bold">v</emphasis> adds one to the effective verbosity and each
|
role="bold">v</emphasis> adds one to the effective verbosity and each
|
||||||
<emphasis role="bold">q</emphasis> subtracts one from the effective
|
<emphasis role="bold">q</emphasis> subtracts one from the effective
|
||||||
VERBOSITY. Alternately, <emphasis role="bold">v</emphasis> may be followed
|
VERBOSITY. Alternately, <emphasis role="bold">v</emphasis> may be followed
|
||||||
immediately with one of -1,0,1,2 to specify a specify VERBOSITY. There may
|
immediately with one of -1,0,1,2 to specify VERBOSITY. There may be no
|
||||||
be no white-space between <emphasis role="bold">v</emphasis> and the
|
white-space between <emphasis role="bold">v</emphasis> and the
|
||||||
VERBOSITY.</para>
|
VERBOSITY.</para>
|
||||||
|
|
||||||
<para>The <emphasis>options</emphasis> may also include the letter
|
<para>The <emphasis>options</emphasis> may also include the letter
|
||||||
@@ -577,6 +666,27 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><emphasis role="bold">close</emphasis> {
|
||||||
|
<replaceable>open-number</replaceable> |
|
||||||
|
<replaceable>source</replaceable> <replaceable>dest</replaceable> [
|
||||||
|
<replaceable>protocol</replaceable> [ <replaceable>port</replaceable>
|
||||||
|
] ] }</term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Added in Shorewall 4.5.8. This command closes a temporary open
|
||||||
|
created by the <command>open</command> command. In the first form,
|
||||||
|
an <replaceable>open-number</replaceable> specifies the open to be
|
||||||
|
closed. Open numbers are displayed in the <emphasis
|
||||||
|
role="bold">num</emphasis> column of the output of the
|
||||||
|
<command>shorewall-lite show opens </command>command.</para>
|
||||||
|
|
||||||
|
<para>When the second form of the command is used, the parameters
|
||||||
|
must match those given in the earlier <command>open</command>
|
||||||
|
command.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><emphasis role="bold">delete</emphasis></term>
|
<term><emphasis role="bold">delete</emphasis></term>
|
||||||
|
|
||||||
@@ -628,6 +738,9 @@
|
|||||||
|
|
||||||
<para>The <emphasis role="bold">-l</emphasis> option causes the rule
|
<para>The <emphasis role="bold">-l</emphasis> option causes the rule
|
||||||
number for each Netfilter rule to be displayed.</para>
|
number for each Netfilter rule to be displayed.</para>
|
||||||
|
|
||||||
|
<para>The <option>-c</option> option causes the route cache to be
|
||||||
|
dumped in addition to the other routing information.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -766,6 +879,45 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><emphasis role="bold">open</emphasis>
|
||||||
|
<replaceable>source</replaceable> <replaceable>dest</replaceable> [
|
||||||
|
<replaceable>protocol</replaceable> [ <replaceable>port</replaceable>
|
||||||
|
] ]</term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Added in Shorewall 4.6.8. This command requires that the
|
||||||
|
firewall be in the started state and that DYNAMIC_BLACKLIST=Yes in
|
||||||
|
<ulink url="/manpages/shorewall.conf.html">shorewall.conf
|
||||||
|
(5)</ulink>. The effect of the command is to temporarily open the
|
||||||
|
firewall for connections matching the parameters.</para>
|
||||||
|
|
||||||
|
<para>The <replaceable>source</replaceable> and
|
||||||
|
<replaceable>dest</replaceable> parameters may each be specified as
|
||||||
|
<emphasis role="bold">all</emphasis> if you don't wish to restrict
|
||||||
|
the connection source or destination respectively. Otherwise, each
|
||||||
|
must contain a host or network address or a valid DNS name.</para>
|
||||||
|
|
||||||
|
<para>The <replaceable>protocol</replaceable> may be specified
|
||||||
|
either as a number or as a name listed in /etc/protocols. The
|
||||||
|
<replaceable>port</replaceable> may be specified numerically or as a
|
||||||
|
name listed in /etc/services.</para>
|
||||||
|
|
||||||
|
<para>To reverse the effect of a successful <command>open</command>
|
||||||
|
command, use the <command>close</command> command with the same
|
||||||
|
parameters or simply restart the firewall.</para>
|
||||||
|
|
||||||
|
<para>Example: To open the firewall for SSH connections to address
|
||||||
|
192.168.1.1, the command would be:</para>
|
||||||
|
|
||||||
|
<programlisting> shorewall-lite open all 192.168.1.1 tcp 22</programlisting>
|
||||||
|
|
||||||
|
<para>To reverse that command, use:</para>
|
||||||
|
|
||||||
|
<screen> shorewall-lite close all 192.168.1.1 tcp 22</screen>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><emphasis role="bold">reset</emphasis></term>
|
<term><emphasis role="bold">reset</emphasis></term>
|
||||||
|
|
||||||
@@ -789,6 +941,12 @@
|
|||||||
<para>The <option>-p</option> option causes the connection tracking
|
<para>The <option>-p</option> option causes the connection tracking
|
||||||
table to be flushed; the <command>conntrack</command> utility must
|
table to be flushed; the <command>conntrack</command> utility must
|
||||||
be installed to use this option.</para>
|
be installed to use this option.</para>
|
||||||
|
|
||||||
|
<para>The <option>-C</option> option was added in Shorewall 4.6.5.
|
||||||
|
If the specified (or implicit) firewall script is the one that
|
||||||
|
generated the current running configuration, then the running
|
||||||
|
netfilter configuration will be reloaded as is so as to preserve the
|
||||||
|
iptables packet and byte counters.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -804,6 +962,36 @@
|
|||||||
<emphasis>filename</emphasis> is given then Shorewall-lite will be
|
<emphasis>filename</emphasis> is given then Shorewall-lite will be
|
||||||
restored from the file specified by the RESTOREFILE option in <ulink
|
restored from the file specified by the RESTOREFILE option in <ulink
|
||||||
url="shorewall.conf.html">shorewall.conf</ulink>(5).</para>
|
url="shorewall.conf.html">shorewall.conf</ulink>(5).</para>
|
||||||
|
|
||||||
|
<caution>
|
||||||
|
<para>If your iptables ruleset depends on variables that are
|
||||||
|
detected at run-time, either in your params file or by
|
||||||
|
Shorewall-generated code, <command>restore</command> will use the
|
||||||
|
values that were current when the ruleset was saved, which may be
|
||||||
|
different from the current values.</para>
|
||||||
|
</caution>
|
||||||
|
|
||||||
|
<para>The <option>-C</option> option was added in Shorewall 4.6.5.
|
||||||
|
If the <option>-C</option> option was specified during <emphasis
|
||||||
|
role="bold">shorewall save</emphasis>, then the counters saved by
|
||||||
|
that operation will be restored.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><emphasis role="bold">run</emphasis></term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Added in Shorewall 4.6.3. Executes
|
||||||
|
<replaceable>command</replaceable> in the context of the generated
|
||||||
|
script passing the supplied <replaceable>parameter</replaceable>s.
|
||||||
|
Normally, the <replaceable>command</replaceable> will be a function
|
||||||
|
declared in <filename>lib.private</filename>.</para>
|
||||||
|
|
||||||
|
<para>Before executing the <replaceable>command</replaceable>, the
|
||||||
|
script will detect the configuration, setting all SW_* variables and
|
||||||
|
will run your <filename>init</filename> extension script with
|
||||||
|
$COMMAND = 'run'.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -818,6 +1006,24 @@
|
|||||||
<emphasis>filename</emphasis> is not given then the state is saved
|
<emphasis>filename</emphasis> is not given then the state is saved
|
||||||
in the file specified by the RESTOREFILE option in <ulink
|
in the file specified by the RESTOREFILE option in <ulink
|
||||||
url="shorewall.conf.html">shorewall.conf</ulink>(5).</para>
|
url="shorewall.conf.html">shorewall.conf</ulink>(5).</para>
|
||||||
|
|
||||||
|
<para>The <option>-C</option> option, added in Shorewall 4.6.5,
|
||||||
|
causes the iptables packet and byte counters to be saved along with
|
||||||
|
the chains and rules.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><emphasis role="bold">savesets</emphasis></term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Added in shorewall 4.6.8. Performs the same action as the
|
||||||
|
<command>stop</command> command with respect to saving ipsets (see
|
||||||
|
the SAVE_IPSETS option in <ulink
|
||||||
|
url="/manpages/shorewall.conf.html">shorewall.conf</ulink> (5)).
|
||||||
|
This command may be used to proactively save your ipset contents in
|
||||||
|
the event that a system failure occurs prior to issuing a
|
||||||
|
<command>stop</command> command.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -829,6 +1035,19 @@
|
|||||||
arguments:</para>
|
arguments:</para>
|
||||||
|
|
||||||
<variablelist>
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term><emphasis role="bold">bl|blacklists</emphasis></term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Added in Shorewall 4.6.2. Displays the dynamic chain
|
||||||
|
along with any chains produced by entries in
|
||||||
|
shorewall-blrules(5).The <emphasis role="bold">-x</emphasis>
|
||||||
|
option is passed directly through to iptables and causes
|
||||||
|
actual packet and byte counts to be displayed. Without this
|
||||||
|
option, those counts are abbreviated.</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><emphasis role="bold">capabilities</emphasis></term>
|
<term><emphasis role="bold">capabilities</emphasis></term>
|
||||||
|
|
||||||
@@ -976,6 +1195,16 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><emphasis role="bold">opens</emphasis></term>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Added in Shorewall 4.5.8. Displays the iptables rules in
|
||||||
|
the 'dynamic' chain created through use of the <command>open
|
||||||
|
</command>command..</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
<varlistentry>
|
<varlistentry>
|
||||||
<term><emphasis role="bold">policies</emphasis></term>
|
<term><emphasis role="bold">policies</emphasis></term>
|
||||||
|
|
||||||
@@ -992,7 +1221,9 @@
|
|||||||
<term><emphasis role="bold">routing</emphasis></term>
|
<term><emphasis role="bold">routing</emphasis></term>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Displays the system's IPv4 routing configuration.</para>
|
<para>Displays the system's IPv4 routing configuration. The -c
|
||||||
|
option causes the route cache to be displayed in addition to
|
||||||
|
the other routing information.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -1042,6 +1273,22 @@
|
|||||||
<para>The <option>-p</option> option causes the connection tracking
|
<para>The <option>-p</option> option causes the connection tracking
|
||||||
table to be flushed; the <command>conntrack</command> utility must
|
table to be flushed; the <command>conntrack</command> utility must
|
||||||
be installed to use this option.</para>
|
be installed to use this option.</para>
|
||||||
|
|
||||||
|
<para>The <option>-m</option> option prevents the firewall script
|
||||||
|
from modifying the current routing configuration.</para>
|
||||||
|
|
||||||
|
<para>The <option>-f</option> option was added in Shorewall 4.6.5.
|
||||||
|
If the RESTOREFILE named in <ulink
|
||||||
|
url="shorewall.conf.html">shorewall.conf</ulink>(5) exists, is
|
||||||
|
executable and is not older than the current filewall script, then
|
||||||
|
that saved configuration is restored.</para>
|
||||||
|
|
||||||
|
<para>The <option>-C</option> option was added in Shorewall 4.6.5
|
||||||
|
and is only meaningful when the <option>-f</option> option is also
|
||||||
|
specified. If the previously-saved configuration is restored, and if
|
||||||
|
the <option>-C</option> option was also specified in the <emphasis
|
||||||
|
role="bold">save</emphasis> command, then the packet and byte
|
||||||
|
counters will be restored.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
@@ -1073,6 +1320,10 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Produces a short report about the state of the
|
<para>Produces a short report about the state of the
|
||||||
Shorewall-configured firewall.</para>
|
Shorewall-configured firewall.</para>
|
||||||
|
|
||||||
|
<para>The <option>-i </option>option was added in Shorewall 4.6.2
|
||||||
|
and causes the status of each optional or provider interface to be
|
||||||
|
displayed.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
@@ -38,7 +38,7 @@
|
|||||||
#
|
#
|
||||||
# IPTABLES - iptables
|
# IPTABLES - iptables
|
||||||
# MODULESDIR - /lib/modules/$(uname -r)/kernel/net/ipv4/netfilter
|
# MODULESDIR - /lib/modules/$(uname -r)/kernel/net/ipv4/netfilter
|
||||||
# MODULE_SUFFIX - "o gz ko o.gz ko.gz"
|
# MODULE_SUFFIX - "o gz xz ko o.gz o.xz ko.gz ko.xz"
|
||||||
#
|
#
|
||||||
# Shorewall need not be installed on the target system to run shorecap. If the '-e' flag is
|
# Shorewall need not be installed on the target system to run shorecap. If the '-e' flag is
|
||||||
# used during firewall compilation, then the generated firewall program will likewise not
|
# used during firewall compilation, then the generated firewall program will likewise not
|
||||||
|
@@ -1,20 +1,20 @@
|
|||||||
#
|
#
|
||||||
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.4
|
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall
|
||||||
#
|
#
|
||||||
# Copyright 2011 Jonathan Underwood (jonathan.underwood@gmail.com)
|
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
|
||||||
#
|
#
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Shorewall IPv4 firewall (lite)
|
Description=Shorewall IPv4 firewall (lite)
|
||||||
After=syslog.target
|
After=network-online.target
|
||||||
After=network.target
|
Conflicts=iptables.service firewalld.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
EnvironmentFile=-/etc/sysconfig/shorewall-lite
|
EnvironmentFile=-/etc/sysconfig/shorewall-lite
|
||||||
StandardOutput=syslog
|
StandardOutput=syslog
|
||||||
ExecStart=/sbin/shorewall-lite $OPTIONS start
|
ExecStart=/sbin/shorewall-lite $OPTIONS start $STARTOPTIONS
|
||||||
ExecStop=/sbin/shorewall-lite $OPTIONS stop
|
ExecStop=/sbin/shorewall-lite $OPTIONS stop
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=basic.target
|
||||||
|
20
Shorewall-lite/shorewall-lite.service.214
Normal file
20
Shorewall-lite/shorewall-lite.service.214
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#
|
||||||
|
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall
|
||||||
|
#
|
||||||
|
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
|
||||||
|
#
|
||||||
|
[Unit]
|
||||||
|
Description=Shorewall IPv4 firewall (lite)
|
||||||
|
After=network-online.target
|
||||||
|
Conflicts=iptables.service firewalld.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
RemainAfterExit=yes
|
||||||
|
EnvironmentFile=-/etc/sysconfig/shorewall-lite
|
||||||
|
StandardOutput=syslog
|
||||||
|
ExecStart=/sbin/shorewall-lite $OPTIONS start $STARTOPTIONS
|
||||||
|
ExecStop=/sbin/shorewall-lite $OPTIONS stop
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=basic.target
|
@@ -27,14 +27,25 @@
|
|||||||
# shown below. Simply run this script to remove Shorewall Firewall
|
# shown below. Simply run this script to remove Shorewall Firewall
|
||||||
|
|
||||||
VERSION=xxx #The Build script inserts the actual version
|
VERSION=xxx #The Build script inserts the actual version
|
||||||
|
PRODUCT=shorewall-lite
|
||||||
|
|
||||||
usage() # $1 = exit status
|
usage() # $1 = exit status
|
||||||
{
|
{
|
||||||
ME=$(basename $0)
|
ME=$(basename $0)
|
||||||
echo "usage: $ME [ <shorewallrc file> ]"
|
echo "usage: $ME [ <option> ] [ <shorewallrc file> ]"
|
||||||
|
echo "where <option> is one of"
|
||||||
|
echo " -h"
|
||||||
|
echo " -v"
|
||||||
|
echo " -n"
|
||||||
exit $1
|
exit $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fatal_error()
|
||||||
|
{
|
||||||
|
echo " ERROR: $@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
qt()
|
qt()
|
||||||
{
|
{
|
||||||
"$@" >/dev/null 2>&1
|
"$@" >/dev/null 2>&1
|
||||||
@@ -69,6 +80,42 @@ remove_file() # $1 = file to restore
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
finished=0
|
||||||
|
configure=1
|
||||||
|
|
||||||
|
while [ $finished -eq 0 ]; do
|
||||||
|
option=$1
|
||||||
|
|
||||||
|
case "$option" in
|
||||||
|
-*)
|
||||||
|
option=${option#-}
|
||||||
|
|
||||||
|
while [ -n "$option" ]; do
|
||||||
|
case $option in
|
||||||
|
h)
|
||||||
|
usage 0
|
||||||
|
;;
|
||||||
|
v)
|
||||||
|
echo "$Product Firewall Installer Version $VERSION"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
n*)
|
||||||
|
configure=0
|
||||||
|
option=${option#n}
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
finished=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
#
|
#
|
||||||
# Read the RC file
|
# Read the RC file
|
||||||
#
|
#
|
||||||
@@ -112,8 +159,12 @@ fi
|
|||||||
|
|
||||||
echo "Uninstalling Shorewall Lite $VERSION"
|
echo "Uninstalling Shorewall Lite $VERSION"
|
||||||
|
|
||||||
if qt iptables -L shorewall -n && [ ! -f ${SBINDIR}/shorewall ]; then
|
[ -n "$SANDBOX" ] && configure=0
|
||||||
shorewall-lite clear
|
|
||||||
|
if [ $configure -eq 1 ]; then
|
||||||
|
if qt iptables -L shorewall -n && [ ! -f ${SBINDIR}/shorewall ]; then
|
||||||
|
shorewall-lite clear
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -L ${SHAREDIR}/shorewall-lite/init ]; then
|
if [ -L ${SHAREDIR}/shorewall-lite/init ]; then
|
||||||
@@ -123,28 +174,34 @@ elif [ -n "$INITFILE" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -f "$FIREWALL" ]; then
|
if [ -f "$FIREWALL" ]; then
|
||||||
if mywhich updaterc.d ; then
|
if [ $configure -eq 1 ]; then
|
||||||
updaterc.d shorewall-lite remove
|
if mywhich updaterc.d ; then
|
||||||
elif mywhich insserv ; then
|
updaterc.d shorewall-lite remove
|
||||||
insserv -r $FIREWALL
|
elif mywhich insserv ; then
|
||||||
elif [ mywhich chkconfig ; then
|
insserv -r $FIREWALL
|
||||||
chkconfig --del $(basename $FIREWALL)
|
elif mywhich chkconfig ; then
|
||||||
elif mywhich systemctl ; then
|
chkconfig --del $(basename $FIREWALL)
|
||||||
systemctl disable shorewall-lite
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
remove_file $FIREWALL
|
remove_file $FIREWALL
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ -n "$SYSTEMD" ]; then
|
||||||
|
[ $configure -eq 1 ] && systemctl disable ${PRODUCT}
|
||||||
|
rm -f $SYSTEMD/shorewall-lite.service
|
||||||
|
fi
|
||||||
|
|
||||||
rm -f ${SBINDIR}/shorewall-lite
|
rm -f ${SBINDIR}/shorewall-lite
|
||||||
|
|
||||||
rm -rf ${SBINDIR}/shorewall-lite
|
rm -rf ${CONFDIR}/shorewall-lite
|
||||||
rm -rf ${VARDIR}/shorewall-lite
|
rm -rf ${VARDIR}/shorewall-lite
|
||||||
rm -rf ${SHAREDIR}/shorewall-lite
|
rm -rf ${SHAREDIR}/shorewall-lite
|
||||||
rm -rf ${LIBEXEC}/shorewall-lite
|
rm -rf ${LIBEXECDIR}/shorewall-lite
|
||||||
rm -f ${CONFDIR}/logrotate.d/shorewall-lite
|
rm -f ${CONFDIR}/logrotate.d/shorewall-lite
|
||||||
[ -n "$SYSTEMD" ] && rm -f ${SYSTEMD}/shorewall-lite.service
|
|
||||||
|
rm -f ${MANDIR}/man5/shorewall-lite*
|
||||||
|
rm -f ${MANDIR}/man8/shorewall-lite*
|
||||||
|
|
||||||
echo "Shorewall Lite Uninstalled"
|
echo "Shorewall Lite Uninstalled"
|
||||||
|
|
||||||
|
|
||||||
|
14
Shorewall/Macros/macro.AMQP
Normal file
14
Shorewall/Macros/macro.AMQP
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# Shorewall version 4 - AMQP Macro
|
||||||
|
#
|
||||||
|
# /usr/share/shorewall/macro.AMQP
|
||||||
|
#
|
||||||
|
# This macro handles AMQP traffic.
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
?FORMAT 2
|
||||||
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
PARAM - - tcp 5672
|
||||||
|
PARAM - - udp 5672
|
@@ -1,13 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Shorewall version 4 - Audited AllowICMPs Macro
|
# Shorewall version 4 - Audited AllowICMPs Macro
|
||||||
#
|
#
|
||||||
# /usr/share/shorewall/macro.AAllowICMPs
|
# /usr/share/shorewall/macro.A_AllowICMPs
|
||||||
#
|
#
|
||||||
# This macro A_ACCEPTs needed ICMP types
|
# This macro A_ACCEPTs needed ICMP types
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?COMMENT Needed ICMP types
|
?COMMENT Needed ICMP types
|
||||||
|
|
||||||
|
@@ -1,13 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Shorewall version 4 - Audited DropDNSrep Macro
|
# Shorewall version 4 - Audited DropDNSrep Macro
|
||||||
#
|
#
|
||||||
# /usr/share/shorewall/macro.ADropDNSrep
|
# /usr/share/shorewall/macro.A_DropDNSrep
|
||||||
#
|
#
|
||||||
# This macro silently audites and drops DNS UDP replies
|
# This macro silently audites and drops DNS UDP replies
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?COMMENT Late DNS Replies
|
?COMMENT Late DNS Replies
|
||||||
|
|
||||||
|
@@ -1,13 +1,15 @@
|
|||||||
#
|
#
|
||||||
# Shorewall version 4 - ADropUPnP Macro
|
# Shorewall version 4 - ADropUPnP Macro
|
||||||
#
|
#
|
||||||
# /usr/share/shorewall/macro.ADropUPnP
|
# /usr/share/shorewall/macro.A_DropUPnP
|
||||||
#
|
#
|
||||||
# This macro silently drops UPnP probes on UDP port 1900
|
# This macro silently drops UPnP probes on UDP port 1900
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?COMMENT UPnP
|
?COMMENT UPnP
|
||||||
|
|
||||||
|
@@ -7,10 +7,12 @@
|
|||||||
#
|
#
|
||||||
# You can comment out the ports you do not want open
|
# You can comment out the ports you do not want open
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 389 #LDAP services
|
PARAM - - tcp 389 #LDAP services
|
||||||
PARAM - - udp 389
|
PARAM - - udp 389
|
||||||
PARAM - - tcp 636 #LDAP SSL
|
PARAM - - tcp 636 #LDAP SSL
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro ACCEPTs needed ICMP types
|
# This macro ACCEPTs needed ICMP types
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?COMMENT Needed ICMP types
|
?COMMENT Needed ICMP types
|
||||||
|
|
||||||
|
@@ -9,11 +9,12 @@
|
|||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
?FORMAT 2
|
?FORMAT 2
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
###############################################################################
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?if ( __CT_TARGET && ! $AUTOHELPERS && __AMANDA_HELPER )
|
?if ( __CT_TARGET && ! $AUTOHELPERS && __AMANDA_HELPER )
|
||||||
PARAM - - udp 10080 ; helper=amanda
|
PARAM - - udp 10080 { helper=amanda }
|
||||||
?else
|
?else
|
||||||
PARAM - - udp 10080
|
PARAM - - udp 10080
|
||||||
?endif
|
?endif
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles Auth (identd) traffic.
|
# This macro handles Auth (identd) traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 113
|
PARAM - - tcp 113
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles BGP4 traffic.
|
# This macro handles BGP4 traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 179 # BGP4
|
PARAM - - tcp 179 # BGP4
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro handles blacklisting using BLACKLIST_DISPOSITION and BLACKLIST_LOGLEVEL
|
# This macro handles blacklisting using BLACKLIST_DISPOSITION and BLACKLIST_LOGLEVEL
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
?if $BLACKLIST_LOGLEVEL
|
?if $BLACKLIST_LOGLEVEL
|
||||||
blacklog
|
blacklog
|
||||||
?else
|
?else
|
||||||
|
@@ -7,9 +7,12 @@
|
|||||||
#
|
#
|
||||||
# If you are running BitTorrent 3.2 or later, you should use the
|
# If you are running BitTorrent 3.2 or later, you should use the
|
||||||
# BitTorrent32 macro.
|
# BitTorrent32 macro.
|
||||||
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 6881:6889
|
PARAM - - tcp 6881:6889
|
||||||
#
|
#
|
||||||
# It may also be necessary to allow UDP traffic:
|
# It may also be necessary to allow UDP traffic:
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro handles BitTorrent traffic for BitTorrent 3.2 and later.
|
# This macro handles BitTorrent traffic for BitTorrent 3.2 and later.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 6881:6999
|
PARAM - - tcp 6881:6999
|
||||||
#
|
#
|
||||||
# It may also be necessary to allow UDP traffic:
|
# It may also be necessary to allow UDP traffic:
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles connections to the CVS pserver.
|
# This macro handles connections to the CVS pserver.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 2401
|
PARAM - - tcp 2401
|
||||||
|
@@ -6,9 +6,11 @@
|
|||||||
# This macro handles Citrix/ICA traffic (ICA, ICA Browser, CGP a.k.a.
|
# This macro handles Citrix/ICA traffic (ICA, ICA Browser, CGP a.k.a.
|
||||||
# ICA Session Reliability)
|
# ICA Session Reliability)
|
||||||
#
|
#
|
||||||
####################################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 1494 # ICA
|
PARAM - - tcp 1494 # ICA
|
||||||
PARAM - - udp 1604 # ICA Browser
|
PARAM - - udp 1604 # ICA Browser
|
||||||
PARAM - - tcp 2598 # CGP Session Reliabilty
|
PARAM - - tcp 2598 # CGP Session Reliabilty
|
||||||
|
@@ -7,7 +7,9 @@
|
|||||||
# The protocol is used by iTunes, Rythmbox and other similar daemons.
|
# The protocol is used by iTunes, Rythmbox and other similar daemons.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 3689
|
PARAM - - tcp 3689
|
||||||
PARAM - - udp 3689
|
PARAM - - udp 3689
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
# DCC is a distributed spam filtering mechanism.
|
# DCC is a distributed spam filtering mechanism.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 6277
|
PARAM - - udp 6277
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
# This macro (bidirectional) handles forwarded DHCP traffic
|
# This macro (bidirectional) handles forwarded DHCP traffic
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 67:68 67:68 # DHCP
|
PARAM - - udp 67:68 67:68 # DHCP
|
||||||
PARAM DEST SOURCE udp 67:68 67:68 # DHCP
|
PARAM DEST SOURCE udp 67:68 67:68 # DHCP
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
# This macro handles DNS traffic.
|
# This macro handles DNS traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 53
|
PARAM - - udp 53
|
||||||
PARAM - - tcp 53
|
PARAM - - tcp 53
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles connections to the Distributed Compiler service.
|
# This macro handles connections to the Distributed Compiler service.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 3632
|
PARAM - - tcp 3632
|
||||||
|
@@ -11,12 +11,14 @@
|
|||||||
# Drop net all
|
# Drop net all
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
#
|
#
|
||||||
# Don't log 'auth' REJECT
|
# Don't log 'auth' DROP
|
||||||
#
|
#
|
||||||
REJECT - - tcp 113
|
DROP - - tcp 113
|
||||||
#
|
#
|
||||||
# Drop Broadcasts so they don't clutter up the log
|
# Drop Broadcasts so they don't clutter up the log
|
||||||
# (broadcasts must *not* be rejected).
|
# (broadcasts must *not* be rejected).
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro silently drops DNS UDP replies
|
# This macro silently drops DNS UDP replies
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?COMMENT Late DNS Replies
|
?COMMENT Late DNS Replies
|
||||||
|
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro silently drops UPnP probes on UDP port 1900
|
# This macro silently drops UPnP probes on UDP port 1900
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?COMMENT UPnP
|
?COMMENT UPnP
|
||||||
|
|
||||||
|
@@ -28,7 +28,9 @@
|
|||||||
# applications such as aMule WebServer or aMuleCMD.
|
# applications such as aMule WebServer or aMuleCMD.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 4662
|
PARAM - - tcp 4662
|
||||||
PARAM - - udp 4665
|
PARAM - - udp 4665
|
||||||
|
@@ -7,10 +7,11 @@
|
|||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
?FORMAT 2
|
?FORMAT 2
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
###############################################################################
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
?if ( __CT_TARGET && ! $AUTOHELPERS && __FTP_HELPER )
|
?if ( __CT_TARGET && ! $AUTOHELPERS && __FTP_HELPER )
|
||||||
PARAM - - tcp 21 ; helper=ftp
|
PARAM - - tcp 21 { helper=ftp }
|
||||||
?else
|
?else
|
||||||
PARAM - - tcp 21
|
PARAM - - tcp 21
|
||||||
?endif
|
?endif
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
# your finger information to internet.
|
# your finger information to internet.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 79
|
PARAM - - tcp 79
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro handles GNUnet (secure peer-to-peer networking) traffic.
|
# This macro handles GNUnet (secure peer-to-peer networking) traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 2086
|
PARAM - - tcp 2086
|
||||||
PARAM - - udp 2086
|
PARAM - - udp 2086
|
||||||
PARAM - - tcp 1080
|
PARAM - - tcp 1080
|
||||||
|
@@ -7,7 +7,9 @@
|
|||||||
# traffic (RFC 1701)
|
# traffic (RFC 1701)
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - 47 # GRE
|
PARAM - - 47 # GRE
|
||||||
PARAM DEST SOURCE 47 # GRE
|
PARAM DEST SOURCE 47 # GRE
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles Git traffic.
|
# This macro handles Git traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 9418
|
PARAM - - tcp 9418
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
# This macro handles Gnutella traffic.
|
# This macro handles Gnutella traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 6346
|
PARAM - - tcp 6346
|
||||||
PARAM - - udp 6346
|
PARAM - - udp 6346
|
||||||
|
14
Shorewall/Macros/macro.Goto-Meeting
Normal file
14
Shorewall/Macros/macro.Goto-Meeting
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#
|
||||||
|
# Shorewall version 4 - Citrix/Goto Meeting macro
|
||||||
|
#
|
||||||
|
# /usr/share/shorewall/macro.Goto-Meeting
|
||||||
|
# by Eric Teeter
|
||||||
|
# This macro handles Citrix/Goto Meeting
|
||||||
|
# Assumes that ports 80 and 443 are already open
|
||||||
|
# If needed, use the macros that open Http and Https to reduce redundancy
|
||||||
|
####################################################################################
|
||||||
|
?FORMAT 2
|
||||||
|
####################################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
PARAM - - tcp 8200 # Goto Meeting only needed (TCP outbound)
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles OpenPGP HTTP keyserver protocol traffic.
|
# This macro handles OpenPGP HTTP keyserver protocol traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 11371
|
PARAM - - tcp 11371
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles plaintext HTTP (WWW) traffic.
|
# This macro handles plaintext HTTP (WWW) traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 80
|
PARAM - - tcp 80
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles HTTPS (WWW over SSL) traffic.
|
# This macro handles HTTPS (WWW over SSL) traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 443
|
PARAM - - tcp 443
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles Internet Cache Protocol V2 (Squid) traffic
|
# This macro handles Internet Cache Protocol V2 (Squid) traffic
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 3130
|
PARAM - - udp 3130
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles ICQ, now called AOL Instant Messenger (or AIM).
|
# This macro handles ICQ, now called AOL Instant Messenger (or AIM).
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 5190
|
PARAM - - tcp 5190
|
||||||
|
23
Shorewall/Macros/macro.ILO
Normal file
23
Shorewall/Macros/macro.ILO
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
#
|
||||||
|
# Shorewall version 4 - ILO Macro
|
||||||
|
#
|
||||||
|
# /usr/share/shorewall/macro.ILO
|
||||||
|
#
|
||||||
|
# This macro handles console redirection with HP ILO 2+,
|
||||||
|
# Use this macro to open access to your ILO interface from management
|
||||||
|
# workstations.
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
?FORMAT 2
|
||||||
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
PARAM - - tcp 3002 # Raw serial data
|
||||||
|
PARAM - - tcp 9300 # Shared Remote Console
|
||||||
|
PARAM - - tcp 17988 # Virtual Media
|
||||||
|
PARAM - - tcp 17990 # Console Replay
|
||||||
|
HTTP
|
||||||
|
HTTPS
|
||||||
|
RDP
|
||||||
|
SSH
|
||||||
|
Telnet # Remote Console/Telnet
|
@@ -7,6 +7,8 @@
|
|||||||
# see macro.IMAPS.
|
# see macro.IMAPS.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 143
|
PARAM - - tcp 143
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
# (not recommended), see macro.IMAP.
|
# (not recommended), see macro.IMAP.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 993
|
PARAM - - tcp 993
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
# This macro (bidirectional) handles IPIP capsulation traffic
|
# This macro (bidirectional) handles IPIP capsulation traffic
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - 94 # IPIP
|
PARAM - - 94 # IPIP
|
||||||
PARAM DEST SOURCE 94 # IPIP
|
PARAM DEST SOURCE 94 # IPIP
|
||||||
|
26
Shorewall/Macros/macro.IPMI
Normal file
26
Shorewall/Macros/macro.IPMI
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
#
|
||||||
|
# Shorewall version 4 - IPMI Macro
|
||||||
|
#
|
||||||
|
# /usr/share/shorewall/macro.IPMI
|
||||||
|
#
|
||||||
|
# This macro handles IPMI console redirection with Asus (AMI),
|
||||||
|
# Dell DRAC5+ (Avocent), and Supermicro (Aten or AMI).
|
||||||
|
# Use this macro to open access to your IPMI interface from management
|
||||||
|
# workstations.
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
?FORMAT 2
|
||||||
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
PARAM - - tcp 623 # RMCP
|
||||||
|
PARAM - - tcp 3668,3669 # Virtual Media, Secure (Dell)
|
||||||
|
PARAM - - tcp 5120,5123 # CD, floppy (Asus, Aten)
|
||||||
|
PARAM - - tcp 5900,5901 # Remote Console (Aten, Dell)
|
||||||
|
PARAM - - tcp 7578 # Remote Console (AMI)
|
||||||
|
PARAM - - udp 623 # RMCP
|
||||||
|
HTTP
|
||||||
|
HTTPS
|
||||||
|
SNMP
|
||||||
|
SSH # Serial over Lan
|
||||||
|
Telnet
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles Internet Printing Protocol (IPP).
|
# This macro handles Internet Printing Protocol (IPP).
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 631
|
PARAM - - tcp 631
|
||||||
|
@@ -6,7 +6,10 @@
|
|||||||
# This macro handles Internet Printing Protocol (IPP) broadcasts.
|
# This macro handles Internet Printing Protocol (IPP) broadcasts.
|
||||||
# If you also need to handle TCP 631 connections in the opposite
|
# If you also need to handle TCP 631 connections in the opposite
|
||||||
# direction, use the IPPserver Macro
|
# direction, use the IPPserver Macro
|
||||||
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 631
|
PARAM - - udp 631
|
||||||
|
@@ -23,7 +23,9 @@
|
|||||||
# IPPserver/ACCEPT $FW loc
|
# IPPserver/ACCEPT $FW loc
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM SOURCE DEST tcp 631
|
PARAM SOURCE DEST tcp 631
|
||||||
PARAM DEST SOURCE udp 631
|
PARAM DEST SOURCE udp 631
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro (bidirectional) handles IPsec traffic
|
# This macro (bidirectional) handles IPsec traffic
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 500 500 # IKE
|
PARAM - - udp 500 500 # IKE
|
||||||
PARAM - - 50 # ESP
|
PARAM - - 50 # ESP
|
||||||
PARAM DEST SOURCE udp 500 500 # IKE
|
PARAM DEST SOURCE udp 500 500 # IKE
|
||||||
|
@@ -7,8 +7,10 @@
|
|||||||
# This is insecure. You should use ESP with encryption for security.
|
# This is insecure. You should use ESP with encryption for security.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 500 500 # IKE
|
PARAM - - udp 500 500 # IKE
|
||||||
PARAM - - 51 # AH
|
PARAM - - 51 # AH
|
||||||
PARAM DEST SOURCE udp 500 500 # IKE
|
PARAM DEST SOURCE udp 500 500 # IKE
|
||||||
|
@@ -6,8 +6,10 @@
|
|||||||
# This macro (bidirectional) handles IPsec traffic and Nat-Traversal
|
# This macro (bidirectional) handles IPsec traffic and Nat-Traversal
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 500 # IKE
|
PARAM - - udp 500 # IKE
|
||||||
PARAM - - udp 4500 # NAT-T
|
PARAM - - udp 4500 # NAT-T
|
||||||
PARAM - - 50 # ESP
|
PARAM - - 50 # ESP
|
||||||
|
@@ -7,11 +7,12 @@
|
|||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
?FORMAT 2
|
?FORMAT 2
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
###############################################################################
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
|
||||||
?if ( __CT_TARGET && ! $AUTOHELPERS && __IRC_HELPER )
|
?if ( __CT_TARGET && ! $AUTOHELPERS && __IRC_HELPER )
|
||||||
PARAM - - tcp 6667 ; helper=irc
|
PARAM - - tcp 6667 { helper=irc }
|
||||||
?else
|
?else
|
||||||
PARAM - - tcp 6667
|
PARAM - - tcp 6667
|
||||||
?endif
|
?endif
|
||||||
|
@@ -8,8 +8,10 @@
|
|||||||
# to browse anonymously!
|
# to browse anonymously!
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 8080 # HTTP port
|
PARAM - - tcp 8080 # HTTP port
|
||||||
PARAM - - tcp 6544 # HTTP port
|
PARAM - - tcp 6544 # HTTP port
|
||||||
PARAM - - tcp 6543 # InfoService port
|
PARAM - - tcp 6543 # InfoService port
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro accepts Jabber traffic (plaintext).
|
# This macro accepts Jabber traffic (plaintext).
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#TARGET SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 5222
|
PARAM - - tcp 5222
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro accepts Jabber traffic (ssl).
|
# This macro accepts Jabber traffic (ssl).
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#TARGET SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 5223
|
PARAM - - tcp 5223
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro accepts Jabberd intercommunication traffic
|
# This macro accepts Jabberd intercommunication traffic
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#TARGET SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 5269
|
PARAM - - tcp 5269
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles HP Jetdirect printing.
|
# This macro handles HP Jetdirect printing.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 9100
|
PARAM - - tcp 9100
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
# This macro handles Kerberos traffic.
|
# This macro handles Kerberos traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 88
|
PARAM - - tcp 88
|
||||||
PARAM - - udp 88
|
PARAM - - udp 88
|
||||||
|
@@ -7,7 +7,9 @@
|
|||||||
# (RFC 2661)
|
# (RFC 2661)
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 1701 # L2TP
|
PARAM - - udp 1701 # L2TP
|
||||||
PARAM DEST SOURCE udp 1701 # L2TP
|
PARAM DEST SOURCE udp 1701 # L2TP
|
||||||
|
@@ -11,6 +11,8 @@
|
|||||||
# Consult your LDAP server documentation for details.
|
# Consult your LDAP server documentation for details.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 389
|
PARAM - - tcp 389
|
||||||
|
@@ -11,6 +11,8 @@
|
|||||||
# Consult your LDAP server documentation for details.
|
# Consult your LDAP server documentation for details.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 636
|
PARAM - - tcp 636
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles MSNP (MicroSoft Notification Protocol)
|
# This macro handles MSNP (MicroSoft Notification Protocol)
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 1863
|
PARAM - - tcp 1863
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles MSSQL (Microsoft SQL Server)
|
# This macro handles MSSQL (Microsoft SQL Server)
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 1433
|
PARAM - - tcp 1433
|
||||||
|
@@ -12,8 +12,10 @@
|
|||||||
# the POP3 or IMAP macros.
|
# the POP3 or IMAP macros.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 25
|
PARAM - - tcp 25
|
||||||
PARAM - - tcp 465
|
PARAM - - tcp 465
|
||||||
PARAM - - tcp 587
|
PARAM - - tcp 587
|
||||||
|
13
Shorewall/Macros/macro.MongoDB
Normal file
13
Shorewall/Macros/macro.MongoDB
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# Shorewall version 4 - MongoDB Macro
|
||||||
|
#
|
||||||
|
# /usr/share/shorewall/macro.MongoDB
|
||||||
|
#
|
||||||
|
# This macro handles MongoDB Daemon/Router traffic.
|
||||||
|
#
|
||||||
|
###############################################################################
|
||||||
|
?FORMAT 2
|
||||||
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
|
PARAM - - tcp 27017
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles Munin networked resource monitoring traffic
|
# This macro handles Munin networked resource monitoring traffic
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 4949
|
PARAM - - tcp 4949
|
||||||
|
@@ -6,6 +6,8 @@
|
|||||||
# This macro handles connections to the MySQL server.
|
# This macro handles connections to the MySQL server.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 3306
|
PARAM - - tcp 3306
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
# encrypted NNTP, see macro.NNTPS.
|
# encrypted NNTP, see macro.NNTPS.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 119
|
PARAM - - tcp 119
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
# plaintext NNTP, see macro.NNTP.
|
# plaintext NNTP, see macro.NNTP.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - tcp 563
|
PARAM - - tcp 563
|
||||||
|
@@ -7,6 +7,8 @@
|
|||||||
# For broadcast NTP traffic, use NTPbrd Macro.
|
# For broadcast NTP traffic, use NTPbrd Macro.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 123
|
PARAM - - udp 123
|
||||||
|
@@ -6,7 +6,9 @@
|
|||||||
# This macro handles bi-directional NTP (for NTP peers)
|
# This macro handles bi-directional NTP (for NTP peers)
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 123
|
PARAM - - udp 123
|
||||||
PARAM DEST SOURCE udp 123
|
PARAM DEST SOURCE udp 123
|
||||||
|
@@ -11,7 +11,9 @@
|
|||||||
# Netfilter doesn't track connections for broadcast traffic.
|
# Netfilter doesn't track connections for broadcast traffic.
|
||||||
#
|
#
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/
|
?FORMAT 2
|
||||||
# PORT(S) PORT(S) LIMIT GROUP
|
###############################################################################
|
||||||
|
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGIN RATE USER/
|
||||||
|
# PORT(S) PORT(S) DEST LIMIT GROUP
|
||||||
PARAM - - udp 123
|
PARAM - - udp 123
|
||||||
PARAM - - udp 1024: 123
|
PARAM - - udp 1024: 123
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user