IP Tables

agnusdei·2023년 7월 27일
0

IPTables는 Linux 운영 체제에서 네트워크 패킷 필터링, 네트워크 주소 변환(NAT), 패킷로깅 등을 수행하는 방화벽 관리 도구입니다. IPTables는 네트워크 보안을 강화하고 네트워크 트래픽을 관리하는 데 사용됩니다. 주로 서버 보안에 활용되며, 대부분의 Linux 배포판에 기본으로 설치되어 있습니다.

목적:

  • 패킷 필터링 (Packet Filtering): IPTables는 네트워크 트래픽을 분석하여 특정 규칙에 따라 패킷을 수락, 거부 또는 수정할 수 있습니다. 이를 통해 불필요한 트래픽을 차단하거나 허용된 트래픽만 통과시켜 보안을 강화할 수 있습니다.
  • 네트워크 주소 변환 (NAT - Network Address Translation): IPTables는 사설 IP 주소를 공인 IP 주소로 변환하거나, 반대로 공인 IP 주소를 사설 IP 주소로 변환하여 네트워크 연결을 가능하게 합니다. 주로 여러 개의 사설 IP 주소를 가진 장치들이 하나의 공인 IP 주소를 공유하는 방식에 사용됩니다.
  • 패킷 로깅 (Packet Logging): IPTables는 특정 규칙에 맞는 트래픽을 로깅하여 추적하거나 디버깅하는 데 사용됩니다.

사용법:
IPTables는 커맨드 라인 기반으로 사용하며, 일반적으로 root 권한이 필요합니다. 주요 명령어는 다음과 같습니다:

  1. 규칙 추가 (Add a rule):
iptables -A [CHAIN] [OPTIONS]

여기서 [CHAIN]은 필터링 규칙이 적용되는 체인을 의미하며, [OPTIONS]는 추가할 규칙을 설정합니다.

  1. 규칙 삭제 (Delete a rule):
iptables -D [CHAIN] [OPTIONS]
  1. 규칙 목록 확인 (List rules):
iptables -L [CHAIN]
  1. 규칙 초기화 (Flush rules):
iptables -F [CHAIN]

예시:
1. 포트 22번(SSH)을 허용하는 규칙 추가:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  1. 포트 80번(HTTP)을 차단하는 규칙 추가:
iptables -A INPUT -p tcp --dport 80 -j DROP
  1. NAT 설정 예시:
# 패킷 포워딩을 활성화
echo 1 > /proc/sys/net/ipv4/ip_forward

# 포트 포워딩 설정 (80번 포트를 로컬 8080번 포트로 포워딩)
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
  1. 규칙 확인:
iptables -L

IPTables는 유연한 방화벽 설정을 제공하지만, 복잡한 규칙을 관리하는 데 주의가 필요합니다. 또한 IPTables는 시스템 재부팅 시 설정이 초기화되므로, 규칙을 영구적으로 적용하기 위해서는 설정을 저장하는 스크립트나 도구를 활용해야 합니다.

0개의 댓글