리눅스 iptables 방화벽 설정 가이드 - mj의 블로그

리눅스에서 방화벽 설정하기 (iptables)

안녕하세요, mj입니다! 오늘은 리눅스에서 iptables를 이용한 방화벽 설정 방법에 대해 알아보겠습니다. iptables는 리눅스에서 가장 널리 사용되는 방화벽 도구로, 네트워크 트래픽을 필터링하고 관리하는 데 매우 유용합니다.

iptables란?

iptables는 리눅스 커널에 내장된 방화벽 시스템으로, 패킷 필터링 기능을 제공합니다. 사용자는 규칙을 설정하여 특정 트래픽을 허용하거나 차단할 수 있습니다.

기본적인 iptables 명령어

iptables의 기본 명령어는 다음과 같습니다:

  • iptables -L: 현재 설정된 규칙 목록을 보여줍니다.
  • iptables -A: 새로운 규칙을 추가합니다.
  • iptables -D: 기존 규칙을 삭제합니다.
  • iptables -P: 기본 정책을 설정합니다.
  • iptables -F: 모든 규칙을 삭제합니다.

iptables 설정 예시

다음은 다양한 목적에 따른 iptables 설정 예시입니다.

1. 기본 정책 설정

기본적으로 모든 트래픽을 차단하고, 특정 포트만 허용하는 설정입니다.

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT  # SSH 허용
iptables -A INPUT -p tcp --dport 80 -j ACCEPT  # HTTP 허용
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # HTTPS 허용

2. 특정 IP 차단

특정 IP 주소에서의 모든 트래픽을 차단하는 방법입니다.

iptables -A INPUT -s 192.168.1.100 -j DROP

3. 특정 포트에서의 트래픽 허용

특정 포트에 대한 트래픽만 허용하는 방법입니다.

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT  # MySQL 허용

4. ICMP 패킷 허용

Ping 명령을 허용하여 네트워크 상태를 확인할 수 있도록 설정합니다.

iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT

5. 로그 기록

차단된 패킷을 로그로 기록하는 방법입니다.

iptables -A INPUT -j LOG --log-prefix "iptables dropped: "

설정 적용 및 확인

위의 명령어를 실행한 후, 다음 명령어로 설정이 잘 적용되었는지 확인할 수 있습니다.

iptables -L -n -v

이 명령어는 각 체인에 대한 트래픽 카운트를 보여줍니다.

결론

iptables를 이용한 방화벽 설정은 리눅스 서버의 보안을 강화하는 데 매우 중요합니다. 위에서 설명한 기본적인 설정을 통해 자신의 환경에 맞게 방화벽을 구성할 수 있습니다. 추가적인 질문이나 도움이 필요하시면 댓글로 남겨주세요!

읽어주셔서 감사합니다! 다음 포스팅에서 만나요.

© 2025 mj의 블로그

댓글

이 블로그의 인기 게시물

리눅스에서 SSH 설정하고 사용하는 법

삼바 서버 구성하기: 리눅스와 윈도우 간의 파일 공유 완벽 가이드

011) Rocky Linux 9.5 설치 방법: 단계별 가이드와 설정 팁