IPTables는 Linux 운영 체제에서 네트워크 패킷 필터링, 네트워크 주소 변환(NAT), 패킷로깅 등을 수행하는 방화벽 관리 도구입니다. IPTables는 네트워크 보안을 강화하고 네트워크 트래픽을 관리하는 데 사용됩니다. 주로 서버 보안에 활용되며, 대부분의 Linux 배포판에 기본으로 설치되어 있습니다.
목적:
사용법:
IPTables는 커맨드 라인 기반으로 사용하며, 일반적으로 root 권한이 필요합니다. 주요 명령어는 다음과 같습니다:
iptables -A [CHAIN] [OPTIONS]
여기서 [CHAIN]은 필터링 규칙이 적용되는 체인을 의미하며, [OPTIONS]는 추가할 규칙을 설정합니다.
iptables -D [CHAIN] [OPTIONS]
iptables -L [CHAIN]
iptables -F [CHAIN]
예시:
1. 포트 22번(SSH)을 허용하는 규칙 추가:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
# 패킷 포워딩을 활성화
echo 1 > /proc/sys/net/ipv4/ip_forward
# 포트 포워딩 설정 (80번 포트를 로컬 8080번 포트로 포워딩)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -L
IPTables는 유연한 방화벽 설정을 제공하지만, 복잡한 규칙을 관리하는 데 주의가 필요합니다. 또한 IPTables는 시스템 재부팅 시 설정이 초기화되므로, 규칙을 영구적으로 적용하기 위해서는 설정을 저장하는 스크립트나 도구를 활용해야 합니다.