Network

iptables Netfilter Chain 조회 및 설정 삭제

이쿠우우 2020. 11. 21. 14:30
반응형

 

 

 

 

iptables Netfilter Chain 조회 및 설정 삭제

 


iptables와 Netfiler 개념

 

[iptables란?]

기본적으로 Iptables에는 세가지 chain이 있음.

모든 패킷은 INPUT, OUTPUT, FORWARD 이 세가지 chain중 하나를 통과하게 됨. 

컴퓨터로 들어가는 모든 패킷은 INPUT chain을 통과하고,

컴퓨터에서 나가는 모든 패킷은 OUTPUT chain을 통과함.

그리고 하나의 네트워크에서 다른 곳으로 보내는 모든 패킷은 FORWARD chain을 통과함.

iptables가 작동하는 방식은 이들 각각의 INPUT, OUTPUT, FORWARD chain에 당신이 어떠한 rule을 세우는 지에 따라 달라진다.

 

 

[netfilter란?]

kernel space에 위치하여 모든 오고 가는 패킷의 생명주기를 관찰하는 tool.

netfilter에 설정된 규칙에 매칭되는 패킷을 발견하면 미리 정의된 action을 수행함.

즉 iptables이 패킷을 필터링 하는것이 아님,

패킷필터링은 커널에 탑제된 netfilter기능으로 하며 

iptables은 단지 netfilter의 룰을 세워줄 뿐.

다시 말하자면 iptables은 룰셋구축 툴임.

 

 

[netfilter, iptables와 tcpdump 우선순위]

Wire -> NIC -> tcpdump -> netfilter/iptables

iptables -> tcpdump -> NIC -> Wire

 

 

[Chain 종류]

PREROUTING (DNAT) =  패킷의 도착지(deatination) 주소를 변경한다. D(estination)NAT

POSTROUTING (SNAT 또는 masquerade) = 패킷의 출발지(source) 주소를 변경한다. S(ource)NAT

OUTPUT : 호스트에서 밖으로 흐르는 패킷의 도착지(destination) 주소를 변경한다. 

INPUT : 밖에서 호스트로 흐르는 패킷의 출발지(source) 주소를 변경한다. 

 

 


 

 

Netfilter Chain 조회 명령어

 

[모든 Chain 조회]

iptables -t nat -L -nv

 

 

 

[특정 Chain만 조회]

iptables -t nat -L [Chain 이름] -n  | column -t

예) iptables -t nat -L KUBE-SERVICES -n  | column -t

 

 

 

[모든 Chain 조회을 조회하는데 number 표시함]

iptables -t nat -L -nv --line-numbers

 

 


 

Netfilter Chain 삭제

 

 

[모든 Chain 조회을 조회하는데 number 표시함]

iptables -t nat -L -nv --line-numbers

결과 중 일부를 보면 

PREROUTING에 1번이 cali-PREROUTING 인데

이를 삭제해보겠음.

 

[삭제 명령어]

iptables -t nat -D [Chain 이름] [번호]

예) iptables -t nat -D PREROUTING 1

 

 

[결과]

정상 삭제

 

 

반응형