개요
iptables-restore는 텍스트 파일에 저장된 iptables 규칙을 읽어와 커널의 네트워크 필터링 테이블에 적용합니다. 이는 시스템 재부팅 후에도 방화벽 설정을 유지하거나, 특정 시점의 방화벽 구성을 복원하는 데 필수적인 도구입니다.
주요 기능
- 저장된 iptables 규칙을 커널에 로드
- IPv4 및 IPv6 규칙 모두 지원 (ip6tables-restore 별도)
- 방화벽 규칙의 영구 적용을 위한 핵심 도구
- 백업 및 복구 시 활용
주요 옵션
iptables-restore 명령어는 규칙 복원 시 동작 방식을 제어하는 몇 가지 유용한 옵션을 제공합니다.
복원 제어
생성된 명령어:
명령어를 조합해 보세요.
설명:
`iptables-restore` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
iptables-restore 명령어의 일반적인 사용 예시입니다.
저장된 IPv4 규칙 복원
sudo iptables-restore < /etc/iptables/rules.v4
이전에 `iptables-save`로 저장된 IPv4 규칙 파일을 시스템에 로드합니다.
저장된 IPv6 규칙 복원
sudo ip6tables-restore < /etc/iptables/rules.v6
이전에 `ip6tables-save`로 저장된 IPv6 규칙 파일을 시스템에 로드합니다.
규칙 복원 전 테스트
sudo iptables-restore --test < /etc/iptables/rules.v4
규칙을 실제로 적용하기 전에 구문 오류가 없는지 확인합니다.
기존 규칙을 유지하며 새로운 규칙 추가
sudo iptables-restore --noflush < /etc/iptables/new_rules.v4
현재 활성화된 규칙을 지우지 않고, 파일의 규칙을 추가합니다. (주의 필요)
설치
iptables-restore는 일반적으로 `iptables` 패키지의 일부로 제공됩니다. 대부분의 리눅스 배포판에 기본 설치되어 있지만, 최소 설치 환경에서는 수동으로 설치해야 할 수 있습니다.
Debian/Ubuntu
sudo apt update
sudo apt install iptables
APT 패키지 관리자를 사용하여 iptables를 설치합니다.
CentOS/RHEL/Fedora
sudo yum install iptables
# 또는
sudo dnf install iptables
YUM 또는 DNF 패키지 관리자를 사용하여 iptables를 설치합니다.
팁 & 주의사항
iptables-restore 사용 시 유의해야 할 점과 유용한 팁입니다.
영구 적용
`iptables-restore`는 규칙을 커널에 로드하지만, 시스템 재부팅 시 사라집니다. 규칙을 영구적으로 적용하려면 `netfilter-persistent` 또는 `iptables-persistent`와 같은 서비스를 사용하거나, 부팅 스크립트에 `iptables-restore` 명령어를 추가해야 합니다.
- Debian/Ubuntu: `sudo apt install iptables-persistent` 설치 후 `sudo netfilter-persistent save`
- CentOS/RHEL: `sudo systemctl enable iptables && sudo systemctl start iptables` (iptables 서비스 활성화 및 시작)
백업의 중요성
규칙을 복원하기 전에 항상 `iptables-save`를 사용하여 현재 규칙을 백업하는 것이 좋습니다. 잘못된 규칙 복원은 네트워크 연결을 끊을 수 있습니다.
- 현재 IPv4 규칙 백업: `sudo iptables-save > /root/iptables_backup_$(date +%Y%m%d_%H%M%S).v4`
테스트 모드 활용
`--test` 옵션을 사용하여 규칙 파일의 구문 오류를 미리 확인하는 습관을 들이세요. 이는 실제 적용으로 인한 문제를 방지하는 데 큰 도움이 됩니다.
IPv4와 IPv6 구분
IPv4 규칙은 `iptables-restore`로, IPv6 규칙은 `ip6tables-restore`로 복원해야 합니다. 두 명령어는 별개로 작동합니다.