|
3 | 3 | # parallelcluster-iptables
|
4 | 4 | #
|
5 | 5 | # chkconfig: 12345 99 99
|
6 |
| -# description: Backup and restore iptables rules |
| 6 | +# description: Backup and restore iptables rules (both for IPv4 and IPv6) |
7 | 7 |
|
8 | 8 | ### BEGIN INIT INFO
|
9 | 9 | # Provides: $parallelcluster-iptables
|
|
16 | 16 | ### END INIT INFO
|
17 | 17 |
|
18 | 18 | IPTABLES_RULES_FILE="<%= @iptables_rules_file %>"
|
| 19 | +IP6TABLES_RULES_FILE="<%= @ip6tables_rules_file %>" |
19 | 20 |
|
20 |
| -function start() { |
21 |
| - if [[ -f $IPTABLES_RULES_FILE ]]; then |
22 |
| - iptables-restore < $IPTABLES_RULES_FILE |
23 |
| - echo "iptables rules restored from file: $IPTABLES_RULES_FILE" |
| 21 | +function save_tables() { |
| 22 | + local iptables_command=$1 |
| 23 | + local iptables_file=$2 |
| 24 | + echo "saving iptables rules to file: $iptables_file" |
| 25 | + mkdir -p $(dirname $iptables_file) |
| 26 | + $iptables_command > $iptables_file |
| 27 | + echo "iptables rules saved to file: $iptables_file" |
| 28 | +} |
| 29 | + |
| 30 | +function restore_tables() { |
| 31 | + local iptables_command=$1 |
| 32 | + local iptables_file=$2 |
| 33 | + if [[ -f $iptables_file ]]; then |
| 34 | + $iptables_command < $iptables_file |
| 35 | + echo "iptables rules restored from file: $iptables_file" |
24 | 36 | else
|
25 |
| - echo "iptables rules left unchanged as file was not found: $IPTABLES_RULES_FILE" |
| 37 | + echo "iptables rules left unchanged as file was not found: $iptables_file" |
26 | 38 | fi
|
27 | 39 | }
|
28 | 40 |
|
| 41 | +function start() { |
| 42 | + restore_tables iptables-restore $IPTABLES_RULES_FILE |
| 43 | + restore_tables ip6tables-restore $IP6TABLES_RULES_FILE |
| 44 | +} |
| 45 | + |
29 | 46 | function stop() {
|
30 |
| - echo "saving iptables rules to file: $IPTABLES_RULES_FILE" |
31 |
| - mkdir -p $(dirname $IPTABLES_RULES_FILE) |
32 |
| - iptables-save > $IPTABLES_RULES_FILE |
33 |
| - echo "iptables rules saved to file: $IPTABLES_RULES_FILE" |
| 47 | + save_tables iptables-save $IPTABLES_RULES_FILE |
| 48 | + save_tables ip6tables-save $IP6TABLES_RULES_FILE |
34 | 49 | }
|
35 | 50 |
|
36 | 51 | case "$1" in
|
|
0 commit comments