私はCentOを持っており、ここにすべてのルールを/etc/sysconfig/iptablesに保存します。 systemctl start iptables.serviceでもロードされるルールを含む別のファイルを作成したいと思います。私が何をすべきか知っていますか?
たぶん「/etc/sysconfig/iptables」に「/etc/sysconfig/iptables2を含める」のようなことができますか?
答え1
2番目のファイルをロードするシステムユニットを作成し、ユニットの依存関係に次のものを含めることができます。
After=iptables.service
有効にすると、起動時に iptables.service が自動的に起動します。サービスが再起動されるたびに実行されるようにするには、次のものを使用できますPartOf
。After
答え2
たぶん起動スクリプトがあり、そこに両方のルールファイルを復元できますか?
良い/etc/init.d/load-iptables-rules
#!/bin/sh
iptables-restore /etc/sysconfig/iptables
iptables-restore /etc/sysconfig/iptables2
答え3
- これを行うには、iptables-service初期化スクリプトを調整できます。
/usr/libexec/iptables/iptables.init
#!/bin/bash
#
# iptables Start iptables firewall
#
# chkconfig: 2345 08 92
# description: Starts, stops and saves iptables firewall
#
# config: /etc/sysconfig/iptables
# config: /etc/sysconfig/iptables-config
#
### BEGIN INIT INFO
# Provides: iptables
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop iptables firewall
# Description: Start, stop and save iptables firewall
### END INIT INFO
# Source function library.
. /etc/init.d/functions
IPTABLES=iptables
IPTABLES_DATA=/etc/sysconfig/$IPTABLES
IPTABLES_FALLBACK_DATA=${IPTABLES_DATA}.fallback
IPTABLES_CONFIG=/etc/sysconfig/${IPTABLES}-config
IPTABLES_CONFIG2=/etc/sysconfig/${IPTABLES}-config2 # your second iptables file
...
...
# Load firewall configuration.
[ -f "$IPTABLES_CONFIG" ] && . "$IPTABLES_CONFIG" && . "$IPTABLES_CONFIG2" # load your file
...
...
...
- cronタブを使用することもできます(iptablesサービスを無効にする)。
@reboot iptables-restore /etc/sysconfig/iptables @reboot iptables-restore /etc/sysconfig/iptables2