converted ha/both-active iptables scenario
This commit is contained in:
committed by
Tobias Brunner
parent
5c09942d54
commit
44e533b88e
@@ -1,104 +0,0 @@
|
|||||||
#!/sbin/runscript
|
|
||||||
# Copyright 1999-2004 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
opts="start stop reload"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
before net
|
|
||||||
need logger
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
ebegin "Starting firewall"
|
|
||||||
|
|
||||||
# enable IP forwarding
|
|
||||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
|
||||||
|
|
||||||
# default policy is DROP
|
|
||||||
/sbin/iptables -P INPUT DROP
|
|
||||||
/sbin/iptables -P OUTPUT DROP
|
|
||||||
/sbin/iptables -P FORWARD DROP
|
|
||||||
|
|
||||||
# forward ESP-tunneled traffic
|
|
||||||
iptables -A FORWARD -i eth1 -m policy --dir in --pol ipsec --proto esp -s PH_IP_CAROL -j ACCEPT
|
|
||||||
iptables -A FORWARD -i eth1 -m policy --dir in --pol ipsec --proto esp -s PH_IP_DAVE -j ACCEPT
|
|
||||||
iptables -A FORWARD -o eth1 -m policy --dir out --pol ipsec --proto esp -j ACCEPT
|
|
||||||
|
|
||||||
# clusterip rules
|
|
||||||
iptables -A INPUT -i eth1 -d 192.168.0.5 -j CLUSTERIP --new --hashmode sourceip \
|
|
||||||
--clustermac 01:00:c0:a8:00:05 --total-nodes 2 --local-node 2
|
|
||||||
iptables -A INPUT -i eth0 -d 10.1.0.5 -j CLUSTERIP --new --hashmode sourceip \
|
|
||||||
--clustermac 01:00:0a:01:00:05 --total-nodes 2 --local-node 2
|
|
||||||
|
|
||||||
# allow esp
|
|
||||||
iptables -A INPUT -p 50 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -p 50 -d PH_IP_CAROL -j ACCEPT
|
|
||||||
iptables -A OUTPUT -p 50 -d PH_IP_DAVE -j ACCEPT
|
|
||||||
|
|
||||||
# allow IKE
|
|
||||||
iptables -A INPUT -i eth1 -p udp --sport 500 --dport 500 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth1 -p udp --dport 500 --sport 500 -j ACCEPT
|
|
||||||
|
|
||||||
# allow MobIKE
|
|
||||||
iptables -A INPUT -i eth1 -p udp --sport 4500 --dport 4500 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth1 -p udp --dport 4500 --sport 4500 -j ACCEPT
|
|
||||||
|
|
||||||
# allow crl fetch from winnetou
|
|
||||||
iptables -A INPUT -i eth1 -p tcp --sport 80 -s PH_IP_WINNETOU -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth1 -p tcp --dport 80 -d PH_IP_WINNETOU -j ACCEPT
|
|
||||||
|
|
||||||
# allow ssh
|
|
||||||
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
|
|
||||||
|
|
||||||
# allow heartbeat
|
|
||||||
iptables -A INPUT -i eth0 -d PH_IP_ALICE -s PH_IP_MOON1 -p udp --dport 4510 --sport 4510 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth0 -s PH_IP_ALICE -d PH_IP_MOON1 -p udp --dport 4510 --sport 4510 -j ACCEPT
|
|
||||||
|
|
||||||
# allow ICMP type 3
|
|
||||||
iptables -A INPUT -i eth0 -d PH_IP_ALICE -s PH_IP_MOON1 -p icmp --icmp-type 3 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth0 -s PH_IP_ALICE -d PH_IP_MOON1 -p icmp --icmp-type 3 -j ACCEPT
|
|
||||||
|
|
||||||
# allow IGMP multicasts
|
|
||||||
iptables -A INPUT -d 224.0.0.1 -p igmp -j ACCEPT
|
|
||||||
iptables -A OUTPUT -s 224.0.0.1 -p igmp -j ACCEPT
|
|
||||||
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
ebegin "Stopping firewall"
|
|
||||||
for a in `cat /proc/net/ip_tables_names`; do
|
|
||||||
/sbin/iptables -F -t $a
|
|
||||||
/sbin/iptables -X -t $a
|
|
||||||
|
|
||||||
if [ $a == nat ]; then
|
|
||||||
/sbin/iptables -t nat -P PREROUTING ACCEPT
|
|
||||||
/sbin/iptables -t nat -P POSTROUTING ACCEPT
|
|
||||||
/sbin/iptables -t nat -P OUTPUT ACCEPT
|
|
||||||
elif [ $a == mangle ]; then
|
|
||||||
/sbin/iptables -t mangle -P PREROUTING ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P INPUT ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P FORWARD ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P OUTPUT ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
|
|
||||||
elif [ $a == filter ]; then
|
|
||||||
/sbin/iptables -t filter -P INPUT ACCEPT
|
|
||||||
/sbin/iptables -t filter -P FORWARD ACCEPT
|
|
||||||
/sbin/iptables -t filter -P OUTPUT ACCEPT
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
ebegin "Flushing firewall"
|
|
||||||
for a in `cat /proc/net/ip_tables_names`; do
|
|
||||||
/sbin/iptables -F -t $a
|
|
||||||
/sbin/iptables -X -t $a
|
|
||||||
done;
|
|
||||||
eend $?
|
|
||||||
start
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
*filter
|
||||||
|
|
||||||
|
# default policy is DROP
|
||||||
|
-P INPUT DROP
|
||||||
|
-P OUTPUT DROP
|
||||||
|
-P FORWARD DROP
|
||||||
|
|
||||||
|
# forward ESP-tunneled traffic
|
||||||
|
-A FORWARD -i eth1 -m policy --dir in --pol ipsec --proto esp -s PH_IP_CAROL -j ACCEPT
|
||||||
|
-A FORWARD -i eth1 -m policy --dir in --pol ipsec --proto esp -s PH_IP_DAVE -j ACCEPT
|
||||||
|
-A FORWARD -o eth1 -m policy --dir out --pol ipsec --proto esp -j ACCEPT
|
||||||
|
|
||||||
|
# clusterip rules
|
||||||
|
-A INPUT -i eth1 -d 192.168.0.5 -j CLUSTERIP --new --hashmode sourceip --clustermac 01:00:c0:a8:00:05 --total-nodes 2 --local-node 2
|
||||||
|
-A INPUT -i eth0 -d 10.1.0.5 -j CLUSTERIP --new --hashmode sourceip --clustermac 01:00:0a:01:00:05 --total-nodes 2 --local-node 2
|
||||||
|
|
||||||
|
# allow esp
|
||||||
|
-A INPUT -p 50 -j ACCEPT
|
||||||
|
-A OUTPUT -p 50 -d PH_IP_CAROL -j ACCEPT
|
||||||
|
-A OUTPUT -p 50 -d PH_IP_DAVE -j ACCEPT
|
||||||
|
|
||||||
|
# allow IKE
|
||||||
|
-A INPUT -i eth1 -p udp --sport 500 --dport 500 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth1 -p udp --dport 500 --sport 500 -j ACCEPT
|
||||||
|
|
||||||
|
# allow MobIKE
|
||||||
|
-A INPUT -i eth1 -p udp --sport 4500 --dport 4500 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth1 -p udp --dport 4500 --sport 4500 -j ACCEPT
|
||||||
|
|
||||||
|
# allow crl fetch from winnetou
|
||||||
|
-A INPUT -i eth1 -p tcp --sport 80 -s PH_IP_WINNETOU -j ACCEPT
|
||||||
|
-A OUTPUT -o eth1 -p tcp --dport 80 -d PH_IP_WINNETOU -j ACCEPT
|
||||||
|
|
||||||
|
# allow heartbeat
|
||||||
|
-A INPUT -i eth0 -d PH_IP_ALICE -s PH_IP_MOON1 -p udp --dport 4510 --sport 4510 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth0 -s PH_IP_ALICE -d PH_IP_MOON1 -p udp --dport 4510 --sport 4510 -j ACCEPT
|
||||||
|
|
||||||
|
# allow ICMP type 3
|
||||||
|
-A INPUT -i eth0 -d PH_IP_ALICE -s PH_IP_MOON1 -p icmp --icmp-type 3 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth0 -s PH_IP_ALICE -d PH_IP_MOON1 -p icmp --icmp-type 3 -j ACCEPT
|
||||||
|
|
||||||
|
# allow IGMP multicasts
|
||||||
|
-A INPUT -d 224.0.0.1 -p igmp -j ACCEPT
|
||||||
|
-A OUTPUT -s 224.0.0.1 -p igmp -j ACCEPT
|
||||||
|
|
||||||
|
# allow ssh
|
||||||
|
-A INPUT -p tcp --dport 22 -j ACCEPT
|
||||||
|
-A OUTPUT -p tcp --sport 22 -j ACCEPT
|
||||||
|
|
||||||
|
COMMIT
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
#!/sbin/runscript
|
|
||||||
# Copyright 1999-2004 Gentoo Foundation
|
|
||||||
# Distributed under the terms of the GNU General Public License v2
|
|
||||||
|
|
||||||
opts="start stop reload"
|
|
||||||
|
|
||||||
depend() {
|
|
||||||
before net
|
|
||||||
need logger
|
|
||||||
}
|
|
||||||
|
|
||||||
start() {
|
|
||||||
ebegin "Starting firewall"
|
|
||||||
|
|
||||||
# enable IP forwarding
|
|
||||||
echo 1 > /proc/sys/net/ipv4/ip_forward
|
|
||||||
|
|
||||||
# default policy is DROP
|
|
||||||
/sbin/iptables -P INPUT DROP
|
|
||||||
/sbin/iptables -P OUTPUT DROP
|
|
||||||
/sbin/iptables -P FORWARD DROP
|
|
||||||
|
|
||||||
# forward ESP-tunneled traffic
|
|
||||||
iptables -A FORWARD -m policy -i eth0 --dir in --pol ipsec --proto esp -s PH_IP_CAROL -j ACCEPT
|
|
||||||
iptables -A FORWARD -m policy -i eth0 --dir in --pol ipsec --proto esp -s PH_IP_DAVE -j ACCEPT
|
|
||||||
iptables -A FORWARD -m policy -o eth0 --dir out --pol ipsec --proto esp -j ACCEPT
|
|
||||||
|
|
||||||
# clusterip rules
|
|
||||||
iptables -A INPUT -i eth0 -d 192.168.0.5 -j CLUSTERIP --new --hashmode sourceip \
|
|
||||||
--clustermac 01:00:c0:a8:00:05 --total-nodes 2 --local-node 1
|
|
||||||
iptables -A INPUT -i eth1 -d 10.1.0.5 -j CLUSTERIP --new --hashmode sourceip \
|
|
||||||
--clustermac 01:00:0a:01:00:05 --total-nodes 2 --local-node 1
|
|
||||||
|
|
||||||
# allow esp
|
|
||||||
iptables -A INPUT -p 50 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -p 50 -d PH_IP_CAROL -j ACCEPT
|
|
||||||
iptables -A OUTPUT -p 50 -d PH_IP_DAVE -j ACCEPT
|
|
||||||
|
|
||||||
# allow IKE
|
|
||||||
iptables -A INPUT -i eth0 -p udp --sport 500 --dport 500 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth0 -p udp --dport 500 --sport 500 -j ACCEPT
|
|
||||||
|
|
||||||
# allow MobIKE
|
|
||||||
iptables -A INPUT -i eth0 -p udp --sport 4500 --dport 4500 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth0 -p udp --dport 4500 --sport 4500 -j ACCEPT
|
|
||||||
|
|
||||||
# allow crl fetch from winnetou
|
|
||||||
iptables -A INPUT -i eth0 -p tcp --sport 80 -s PH_IP_WINNETOU -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -d PH_IP_WINNETOU -j ACCEPT
|
|
||||||
|
|
||||||
# allow ssh
|
|
||||||
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
|
|
||||||
|
|
||||||
# allow heartbeat
|
|
||||||
iptables -A INPUT -i eth1 -d PH_IP_MOON1 -s PH_IP_ALICE -p udp --dport 4510 --sport 4510 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth1 -s PH_IP_MOON1 -d PH_IP_ALICE -p udp --dport 4510 --sport 4510 -j ACCEPT
|
|
||||||
|
|
||||||
# allow ICMP type 3
|
|
||||||
iptables -A INPUT -i eth1 -d PH_IP_MOON1 -s PH_IP_ALICE -p icmp --icmp-type 3 -j ACCEPT
|
|
||||||
iptables -A OUTPUT -o eth1 -s PH_IP_MOON1 -d PH_IP_ALICE -p icmp --icmp-type 3 -j ACCEPT
|
|
||||||
|
|
||||||
# allow IGMP multicasts
|
|
||||||
iptables -A INPUT -d 224.0.0.1 -p igmp -j ACCEPT
|
|
||||||
iptables -A OUTPUT -s 224.0.0.1 -p igmp -j ACCEPT
|
|
||||||
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
ebegin "Stopping firewall"
|
|
||||||
for a in `cat /proc/net/ip_tables_names`; do
|
|
||||||
/sbin/iptables -F -t $a
|
|
||||||
/sbin/iptables -X -t $a
|
|
||||||
|
|
||||||
if [ $a == nat ]; then
|
|
||||||
/sbin/iptables -t nat -P PREROUTING ACCEPT
|
|
||||||
/sbin/iptables -t nat -P POSTROUTING ACCEPT
|
|
||||||
/sbin/iptables -t nat -P OUTPUT ACCEPT
|
|
||||||
elif [ $a == mangle ]; then
|
|
||||||
/sbin/iptables -t mangle -P PREROUTING ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P INPUT ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P FORWARD ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P OUTPUT ACCEPT
|
|
||||||
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
|
|
||||||
elif [ $a == filter ]; then
|
|
||||||
/sbin/iptables -t filter -P INPUT ACCEPT
|
|
||||||
/sbin/iptables -t filter -P FORWARD ACCEPT
|
|
||||||
/sbin/iptables -t filter -P OUTPUT ACCEPT
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
eend $?
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
ebegin "Flushing firewall"
|
|
||||||
for a in `cat /proc/net/ip_tables_names`; do
|
|
||||||
/sbin/iptables -F -t $a
|
|
||||||
/sbin/iptables -X -t $a
|
|
||||||
done;
|
|
||||||
eend $?
|
|
||||||
start
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
*filter
|
||||||
|
|
||||||
|
# default policy is DROP
|
||||||
|
-P INPUT DROP
|
||||||
|
-P OUTPUT DROP
|
||||||
|
-P FORWARD DROP
|
||||||
|
|
||||||
|
# forward ESP-tunneled traffic
|
||||||
|
-A FORWARD -m policy -i eth0 --dir in --pol ipsec --proto esp -s PH_IP_CAROL -j ACCEPT
|
||||||
|
-A FORWARD -m policy -i eth0 --dir in --pol ipsec --proto esp -s PH_IP_DAVE -j ACCEPT
|
||||||
|
-A FORWARD -m policy -o eth0 --dir out --pol ipsec --proto esp -j ACCEPT
|
||||||
|
|
||||||
|
# clusterip rules
|
||||||
|
-A INPUT -i eth0 -d 192.168.0.5 -j CLUSTERIP --new --hashmode sourceip --clustermac 01:00:c0:a8:00:05 --total-nodes 2 --local-node 1
|
||||||
|
-A INPUT -i eth1 -d 10.1.0.5 -j CLUSTERIP --new --hashmode sourceip --clustermac 01:00:0a:01:00:05 --total-nodes 2 --local-node 1
|
||||||
|
|
||||||
|
# allow esp
|
||||||
|
-A INPUT -p 50 -j ACCEPT
|
||||||
|
-A OUTPUT -p 50 -d PH_IP_CAROL -j ACCEPT
|
||||||
|
-A OUTPUT -p 50 -d PH_IP_DAVE -j ACCEPT
|
||||||
|
|
||||||
|
# allow IKE
|
||||||
|
-A INPUT -i eth0 -p udp --sport 500 --dport 500 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth0 -p udp --dport 500 --sport 500 -j ACCEPT
|
||||||
|
|
||||||
|
# allow MobIKE
|
||||||
|
-A INPUT -i eth0 -p udp --sport 4500 --dport 4500 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth0 -p udp --dport 4500 --sport 4500 -j ACCEPT
|
||||||
|
|
||||||
|
# allow crl fetch from winnetou
|
||||||
|
-A INPUT -i eth0 -p tcp --sport 80 -s PH_IP_WINNETOU -j ACCEPT
|
||||||
|
-A OUTPUT -o eth0 -p tcp --dport 80 -d PH_IP_WINNETOU -j ACCEPT
|
||||||
|
|
||||||
|
# allow heartbeat
|
||||||
|
-A INPUT -i eth1 -d PH_IP_MOON1 -s PH_IP_ALICE -p udp --dport 4510 --sport 4510 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth1 -s PH_IP_MOON1 -d PH_IP_ALICE -p udp --dport 4510 --sport 4510 -j ACCEPT
|
||||||
|
|
||||||
|
# allow ICMP type 3
|
||||||
|
-A INPUT -i eth1 -d PH_IP_MOON1 -s PH_IP_ALICE -p icmp --icmp-type 3 -j ACCEPT
|
||||||
|
-A OUTPUT -o eth1 -s PH_IP_MOON1 -d PH_IP_ALICE -p icmp --icmp-type 3 -j ACCEPT
|
||||||
|
|
||||||
|
# allow IGMP multicasts
|
||||||
|
-A INPUT -d 224.0.0.1 -p igmp -j ACCEPT
|
||||||
|
-A OUTPUT -s 224.0.0.1 -p igmp -j ACCEPT
|
||||||
|
|
||||||
|
# allow ssh
|
||||||
|
-A INPUT -p tcp --dport 22 -j ACCEPT
|
||||||
|
-A OUTPUT -p tcp --sport 22 -j ACCEPT
|
||||||
|
|
||||||
|
COMMIT
|
||||||
@@ -2,10 +2,10 @@ carol::ipsec stop
|
|||||||
dave::ipsec stop
|
dave::ipsec stop
|
||||||
moon::ipsec stop
|
moon::ipsec stop
|
||||||
alice::ipsec stop
|
alice::ipsec stop
|
||||||
moon::/etc/init.d/iptables stop 2> /dev/null
|
moon::iptables-restore < /etc/iptables.flush
|
||||||
alice::/etc/init.d/iptables stop 2> /dev/null
|
alice::iptables-restore < /etc/iptables.flush
|
||||||
carol::/etc/init.d/iptables stop 2> /dev/null
|
carol::iptables-restore < /etc/iptables.flush
|
||||||
dave::/etc/init.d/iptables stop 2> /dev/null
|
dave::iptables-restore < /etc/iptables.flush
|
||||||
moon::ip addr del 192.168.0.5/24 dev eth0
|
moon::ip addr del 192.168.0.5/24 dev eth0
|
||||||
moon::ip addr del 10.1.0.5/16 dev eth1
|
moon::ip addr del 10.1.0.5/16 dev eth1
|
||||||
alice::ip addr del 192.168.0.5/24 dev eth1
|
alice::ip addr del 192.168.0.5/24 dev eth1
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ alice::ip addr add 192.168.0.5/24 dev eth1
|
|||||||
alice::ip addr add 10.1.0.5/16 dev eth0
|
alice::ip addr add 10.1.0.5/16 dev eth0
|
||||||
venus::ip route del default via 10.1.0.1 dev eth0
|
venus::ip route del default via 10.1.0.1 dev eth0
|
||||||
venus::ip route add default via 10.1.0.5 dev eth0
|
venus::ip route add default via 10.1.0.5 dev eth0
|
||||||
moon::/etc/init.d/iptables start 2> /dev/null
|
moon::iptables-restore < /etc/iptables.rules
|
||||||
alice::/etc/init.d/iptables start 2> /dev/null
|
alice::iptables-restore < /etc/iptables.rules
|
||||||
carol::/etc/init.d/iptables start 2> /dev/null
|
carol::iptables-restore < /etc/iptables.rules
|
||||||
dave::/etc/init.d/iptables start 2> /dev/null
|
dave::iptables-restore < /etc/iptables.rules
|
||||||
moon::ipsec start
|
moon::ipsec start
|
||||||
alice::ipsec start
|
alice::ipsec start
|
||||||
carol::ipsec start
|
carol::ipsec start
|
||||||
|
|||||||
Reference in New Issue
Block a user