Update iptables esvm service
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
# Flush iptables (Code from archlinux)
|
||||
iptables=ip$1tables
|
||||
if ! type -p "$iptables" &>/dev/null; then
|
||||
echo "error: invalid argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while read -r table; do
|
||||
tables+=("/usr/share/iptables/empty-$table.rules")
|
||||
done <"/proc/net/ip$1_tables_names"
|
||||
|
||||
if (( ${#tables[*]} )); then
|
||||
cat "${tables[@]}" | "$iptables-restore"
|
||||
fi
|
||||
@@ -1,5 +1,6 @@
|
||||
name: iptables
|
||||
description: IPv4 Packet Filtering Framework
|
||||
type: background
|
||||
start_cmd: /etc/esvm/scripts/iptables.sh
|
||||
exit_method: kill
|
||||
type: simple
|
||||
start_cmd: /usr/sbin/iptables-restore /etc/iptables/iptables.rules
|
||||
stop_cmd: /etc/esvm/scripts/iptables-flush.sh
|
||||
exit_method: stop_command
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
stop() {
|
||||
# Flush iptables (Code from archlinux)
|
||||
iptables=ip$1tables
|
||||
if ! type -p "$iptables" &>/dev/null; then
|
||||
echo "error: invalid argument"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
while read -r table; do
|
||||
tables+=("/usr/share/iptables/empty-$table.rules")
|
||||
done <"/proc/net/ip$1_tables_names"
|
||||
|
||||
if (( ${#tables[*]} )); then
|
||||
cat "${tables[@]}" | "$iptables-restore"
|
||||
fi
|
||||
|
||||
# Clear the trap
|
||||
trap - SIGINT SIGTERM
|
||||
kill -- -$(pgrep iptables.sh)
|
||||
}
|
||||
|
||||
/usr/sbin/iptables-restore /etc/iptables/iptables.rules
|
||||
|
||||
# Run stop function when SIGINT or SIGTERM signals are caught
|
||||
trap "stop $1" SIGINT SIGTERM
|
||||
sleep infinity
|
||||
|
||||
|
||||
Reference in New Issue
Block a user