카테고리 없음

[OS][LINUX][iptables]iptables의 사용법 [작성중]

홍알 2013. 6. 4. 19:45

1. iptables

- 윈도우에도 방화벽에 있듯이 Linux에도 방화벽이 있다.

- iptables는 table > chain > 룰로 구성된다.


2. table의 기본 개념.

- table의 종류 filter[기본], nat, mangle

- 추가, 삭제 할수 없음 

- table하위에 chain이 존제함.

- iptables -t [table명] 으로 사용 또는, iptables --table

- -t옵션을 지정하지 않을때는 기본 table인 filter를 사용.


3. filter table

- 방화벽의 주된 테이블로서 특정 룰에 따라서 패킷을 걸러내거나 통과시키는 역할을 한다.

- 하위 기본 chain[삭제/추가 가능] :  INPUT, FORWARD, OUTPUT

- INPUT : 외부에서 방화벽 자체로 향하는 패킷에 대한 필터링.

- FORWARD : 방화벽 자체가 아닌 방화벽을 통과하여 방화벽이 보호하는 다른 서버 등으로 향하는 패킷.

- OUTPUT : 방화벽에서 나가는 패킷에 대한 필터링.


4. net table

- nat테이블은 패킷을 필터링하거나 패킷의 ttl등 특성을 변환하는 기능은 없음.

- 방화벽으로 향하는 패킷을 방화벽이 보호하는 내부 네트워크의 다른 주소로 포워딩 하거나 방화벽 내부 네트워크에서 방화벽을 통해 외부 네트워크로 나갈 때 다른 ip주소로 변환시켜 주는 역할을 한다.

- 하위 기본 chain : POSTROUTING, PREROUTING

- POSTROUTING : Source NAT(SNAT)타겟과 매칭되어 내부 네트워크에서 방화벽을 통해 외부로 나갈 때 사용

- 사용예 : 사무실 등에서 사설ip를 사용하면서 하나의 공인 ip로 인터넷을 공유하고자 할 때 즉 공유기의 용도로 사용

- PREROUTING : Destination NAT(DNAT)타겟과 매칭되어 주로 외부에서 방화벽 내부 서버로 향하는 패킷을 방화벽이 보호하는 내부서버로 포워딩 할 때 사용된다.

- 사용예 : 사설 ip로 서버를 운영하면서 외부로 서비스를 하고자 할 때 사용된다.


5. mangle table

- 사용 빈도는 낮지만 패킷의 TTL이나 TOS 값을 변경할때 사용된다.

- 하위 기본 chain : PREROUTING, OUTPUT  

- PREROUTING : 라우팅 경로가 결정되기 전에 방화벽으로 들어오는 패킷에 대해 변경한다.

- OUTPUT : 내부에서 생성된 패킷이 방화벽을 통해 나갈 때 변경한다.





참조 : http://jikime.tistory.com/338


1. iptables 버전 확인

shell> iptables --version


2. Commands 

-A : 새로운 규칙을 추가한다. (--append)

-D : 규칙을 삭제한다.(--