]> git.ipfire.org Git - people/ms/strongswan.git/blob - testing/hosts/sun/etc/init.d/iptables
- import of strongswan-2.7.0
[people/ms/strongswan.git] / testing / hosts / sun / etc / init.d / iptables
1 #!/sbin/runscript
2 # Copyright 1999-2004 Gentoo Foundation
3 # Distributed under the terms of the GNU General Public License v2
4
5 opts="start stop reload"
6
7 depend() {
8 before net
9 need logger
10 }
11
12 start() {
13 ebegin "Starting firewall"
14
15 # enable IP forwarding
16 echo 1 > /proc/sys/net/ipv4/ip_forward
17
18 # default policy is DROP
19 /sbin/iptables -P INPUT DROP
20 /sbin/iptables -P OUTPUT DROP
21 /sbin/iptables -P FORWARD DROP
22
23 # allow esp
24 iptables -A INPUT -i eth0 -p 50 -j ACCEPT
25 iptables -A OUTPUT -o eth0 -p 50 -j ACCEPT
26
27 # allow IKE
28 iptables -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT
29 iptables -A OUTPUT -o eth0 -p udp --sport 500 -j ACCEPT
30
31 # allow NAT-T
32 iptables -A INPUT -i eth0 -p udp --dport 4500 -j ACCEPT
33 iptables -A OUTPUT -o eth0 -p udp --sport 4500 -j ACCEPT
34
35 # allow crl fetch from winnetou
36 iptables -A INPUT -i eth0 -p tcp --sport 80 -s PH_IP_WINNETOU -j ACCEPT
37 iptables -A OUTPUT -o eth0 -p tcp --dport 80 -d PH_IP_WINNETOU -j ACCEPT
38
39 # allow ssh
40 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
41 iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
42
43 eend $?
44 }
45
46 stop() {
47 ebegin "Stopping firewall"
48 for a in `cat /proc/net/ip_tables_names`; do
49 /sbin/iptables -F -t $a
50 /sbin/iptables -X -t $a
51
52 if [ $a == nat ]; then
53 /sbin/iptables -t nat -P PREROUTING ACCEPT
54 /sbin/iptables -t nat -P POSTROUTING ACCEPT
55 /sbin/iptables -t nat -P OUTPUT ACCEPT
56 elif [ $a == mangle ]; then
57 /sbin/iptables -t mangle -P PREROUTING ACCEPT
58 /sbin/iptables -t mangle -P INPUT ACCEPT
59 /sbin/iptables -t mangle -P FORWARD ACCEPT
60 /sbin/iptables -t mangle -P OUTPUT ACCEPT
61 /sbin/iptables -t mangle -P POSTROUTING ACCEPT
62 elif [ $a == filter ]; then
63 /sbin/iptables -t filter -P INPUT ACCEPT
64 /sbin/iptables -t filter -P FORWARD ACCEPT
65 /sbin/iptables -t filter -P OUTPUT ACCEPT
66 fi
67 done
68 eend $?
69 }
70
71 reload() {
72 ebegin "Flushing firewall"
73 for a in `cat /proc/net/ip_tables_names`; do
74 /sbin/iptables -F -t $a
75 /sbin/iptables -X -t $a
76 done;
77 eend $?
78 start
79 }
80