리눅스 iptables

From IT Wiki
Revision as of 22:44, 3 May 2018 by Itwiki (talk | contribs)

개요

리눅스의 패킷 필터링(Packet Filtering) 도구로서 방화벽 구성이나 NAT(Network Address Translation)에 사용된다.

정책 확인

# iptables -L
  • 정책파일 직접 열기
# cat /etc/sysconfig/iptables

정책 저장·반영

  • 저장 & 불러오기
# iptables-save > firewall.sh
# iptables-restore < firewall.sh
  • 저장
# service iptables save

예제

  • 조건
    • 패킷은 거부 메시지 없이 무조건 거절한다. (DROP)
    • 두 번째 이더넷카드(eth1)로 들어오는 패킷인 경우에만 포워딩을 허가한다.
    • 어떠한 방화벽도 설정되어 있지 않고 커널에서 포워딩을 허가한 상태이다.
# iptables -P FORWARD DROP
# iptables -A FORWARD -i eth1 -j ACCEPT
  • 조건[1]
    • 해당 시스템에는 이더넷 카드가 두 개가 장착되어 있는데, 첫 번째 이더넷 카드에서 나가는 패킷에 대해 공인 IP 주소인 203.247.40.100을 할당한다.
# iptables –t nat –A POSTROUTING -o eth0 –j SNAT --to 203.247.40.100
  • 조건[2]
    • 첫 번째로 기존에 설정된 정책을 전부 삭제한다.
    • 두 번째로 INPUT 체인에 loopback 인터페이스에 들어오는 모든 패킷에 대해 허용 정책을 추가 한다.
    • 세 번째로 INPUT 체인에 프로토콜이 tcp이며 목적지포트가 22번부터 23번 포트인 패킷에 대해 허용 정책을 추가 한다.
    • 마지막으로 INPUT 체인에 대한 기본 정책을 거부 메시지 없이 거절로 변경한다.
# iptables -F INPUT
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A INPUT -p tcp --dport 22:23 -j ACCEPT
# iptables -P INPUT -P
  1. http://q.fran.kr/%EB%AC%B8%EC%A0%9C/6483 리눅스마스터 1급 1602 실기 기출문제
  2. http://q.fran.kr/문제/6547 리눅스마스터 1급 1701 실시 기출문제