iptables란?


iptables는 시스템 사용자가 리눅스 커널 방화벽(다른 넷필터 모듈로 구현됨)이 제공하는 테이블들과 그것을 저장하는 체인, 규칙들을 구성할 수 있게 해주는 사용자 공간 응용 프로그램이다. 각기 다른 커널 모듈과 프로그램들은 현재 다른 프로토콜을 위해 사용되는데, iptables는 IPv4에, ip6tables는 IPv6에, arptables는 arp에, ebtables는 이더넷 프레임에 적용된다.

iptables란 넷필터 프로젝트에서 개발했으며 광범위한 프로토콜 상태 추적, 패킷 어플리케이션 계층검사, 속도 제한, 필터링 정책을 명시하기 위한 매커니즘을 제공합니다.

iptables란? (2)


  • netfilter?

    • 일반 iptable 사용자들이 가장 간과하기 쉬운부분중 한 부분이다. iptables이 패킷을 필터링 하는 것이 아니다. 패킷필터링은 커널에 탑제된 netfilter 기능으로 하며 iptables은 단지 netfilter의 룰을 세워줄 뿐이다. 즉 다시 말하자면 iptables은 룰세구축 툴이라는 말이다.
  • iptables ?
    • 기본적으로 iptables에는 세가지 chain이 있고 모든 패킷은 이 세가지 chain 중 하나를 통과하게 된다. 이 세가지 chain은 INPUT, OUTPUT, FORWARD chain인데 우선 여러분의 컴퓨터로 들어가는 모든 패킷은 INPUT chain은 통과한다. 그리고 여러분의 컴퓨터에서 나가는 모든 패킷은 OUTPUT chain을 통과한다. 그리고 하나의 네트워크에서 다른 곳으로 보내는 모든 패킷은 FORWARD chain을 통과한다.
    • iptables가 작동하는 방식은 이들 각각의 INPUT, OUTPUT, FORWARD chain에 당신이 어떠한 rule을 세우는 지에 따라 달라진다. 예를들어 당신이 HTML 페이지를 요청하기 위해 http:\/\/www.yahoo.com\/에 패킷을 보낸다면 이 패킷은 우선 당신 컴퓨터의 OUTPUT chain을 통과하게 된다. 그러면 kernel에서 OUTPUT chain의 rule을 확인하고 rule과 match되지 않는다면 전체 chain 정책이 ACCEPT냐 DROP이냐에 따라 패킷의 운명이 결정될 것이다. 그러고 나서 Yahoo에서 응답하는 패킷은 당신의 INPUT chain을 통과하게 된다.
    • iptables로 할 수 있는 일에는 몇가지 다른것이 있다. 첫번째 작동은 전체 체인을 조절한다. 처음 시작은 세개의 미리 만들어진 체인으로 시작하는 데 이것은 제거될 수 없다.
    • iptables는 모듈로 되어있을 것이다. 이것은 iptable_filter.o 이다. 이것은 처음으로 iptables를 실행할 때 자동으로 로드될 것이다. 이것은 커널에 영구히 포함될 수도 있다.
    • iptables 명령이 실행되기 전에는 기본적으로 만들어져있는 체인(입력, 포워딩 출력)에는 아무런 규칙이 없다.

results matching ""

    No results matching ""