나는 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
- 이를 위해 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