red.up: add script to cleanup conntrack-table if red ip has changed.

This commit is contained in:
Arne Fitzenreiter
2013-01-03 16:28:21 +01:00
parent a10733a5d8
commit f224c3f265
4 changed files with 28 additions and 0 deletions

View File

@@ -73,6 +73,7 @@ etc/rc.d/init.d/networking/red.down/10-ovpn
etc/rc.d/init.d/networking/red.down/20-RL-firewall
etc/rc.d/init.d/networking/red.down/99-D-dialctrl.pl
#etc/rc.d/init.d/networking/red.up
etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
etc/rc.d/init.d/networking/red.up/05-RS-dnsmasq
etc/rc.d/init.d/networking/red.up/10-miniupnpd
etc/rc.d/init.d/networking/red.up/10-multicast

View File

@@ -75,6 +75,7 @@ etc/rc.d/init.d/networking/red.down/10-ovpn
etc/rc.d/init.d/networking/red.down/20-RL-firewall
etc/rc.d/init.d/networking/red.down/99-D-dialctrl.pl
#etc/rc.d/init.d/networking/red.up
etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
etc/rc.d/init.d/networking/red.up/05-RS-dnsmasq
etc/rc.d/init.d/networking/red.up/10-miniupnpd
etc/rc.d/init.d/networking/red.up/10-multicast

View File

@@ -7,6 +7,7 @@ etc/rc.d/init.d/halt
etc/rc.d/init.d/leds
etc/rc.d/init.d/mountfs
etc/rc.d/init.d/network
etc/rc.d/init.d/networking/red.up/01-conntrack-cleanup
etc/rc.d/init.d/networking/red.up/98-leds
etc/rc.d/init.d/partresize
etc/rc.d/init.d/reboot

View File

@@ -0,0 +1,25 @@
#!/bin/bash
############################################################################
# conntrack-cleanup - remove conntrack entries with the last red ipaddress #
############################################################################
#
curr_ip=`cat /var/ipfire/red/local-ipaddress 2>/dev/null`
last_ip=`cat /var/lock/last-ipaddress 2>/dev/null`
if [ "$curr_ip" == "$last_ip" ]; then
exit 0
fi
if [ -z "$curr_ip" ]; then
echo ERROR: cannot read current IP.
exit 1
fi
if [ ! -z "$last_ip" ]; then
conntrack -D -s $last_ip 2>&1 > /dev/null
conntrack -D -d $last_ip 2>&1 > /dev/null
conntrack -D -r $last_ip 2>&1 > /dev/null
conntrack -D -q $last_ip 2>&1 > /dev/null
fi
echo $curr_ip > /var/lock/last-ipaddress