iptables 규칙을 저장하는 두 개의 파일

iptables 규칙을 저장하는 두 개의 파일

나는 CentO를 가지고 있으며 여기에 모든 규칙을 /etc/sysconfig/iptables에 저장합니다. systemctl start iptables.service에서도 로드될 규칙이 포함된 다른 파일을 만들고 싶습니다. 내가 무엇을 해야 하는지 아시나요?

어쩌면 "/etc/sysconfig/iptables"에 "/etc/sysconfig/iptables2 포함"과 같은 작업을 수행할 수 있을까요?

답변1

두 번째 파일을 로드하는 시스템 단위를 생성하고 단위 종속성에 다음을 넣을 수 있습니다.

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

  1. 이를 위해 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
...
...
...
  1. cron 탭을 사용할 수도 있습니다(iptables 서비스 비활성화).
@reboot iptables-restore /etc/sysconfig/iptables  
@reboot iptables-restore /etc/sysconfig/iptables2

관련 정보