local.m4: Fix IGMP acceptance (debris from old interface declarations).
[firewall] / icmp.m4
1 ### -*-sh-*-
2 ###
3 ### ICMP filtering for firewall scripts
4 ###
5 ### (c) 2008 Mark Wooding
6 ###
7
8 ###----- Licensing notice ---------------------------------------------------
9 ###
10 ### This program is free software; you can redistribute it and/or modify
11 ### it under the terms of the GNU General Public License as published by
12 ### the Free Software Foundation; either version 2 of the License, or
13 ### (at your option) any later version.
14 ###
15 ### This program is distributed in the hope that it will be useful,
16 ### but WITHOUT ANY WARRANTY; without even the implied warranty of
17 ### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 ### GNU General Public License for more details.
19 ###
20 ### You should have received a copy of the GNU General Public License
21 ### along with this program; if not, write to the Free Software Foundation,
22 ### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24 m4_divert(50)m4_dnl
25 ###--------------------------------------------------------------------------
26 ### ICMP filtering.
27
28 clearchain check-icmp
29
30 ## Ping needs inspecting on a host-by-host basis.
31 for type in echo-request echo-reply; do
32 run iptables -A check-icmp -p icmp --icmp-type $type -j RETURN
33 done
34
35 ## Certainly don't allow ping to broadcast addresses.
36 run iptables -A check-icmp -g forbidden \
37 -p icmp --icmp-type echo-request \
38 -m addrtype --dst-type BROADCAST
39
40 m4_divert(58)m4_dnl
41 ## Other ICMP is basically benign, we claim.
42 run iptables -A check-icmp -j ACCEPT
43
44 ## Done.
45 for i in INPUT FORWARD; do
46 run iptables -A $i -p icmp -j check-icmp
47 done
48
49 m4_divert(-1)
50 ###----- That's all, folks --------------------------------------------------