Iptables: Difference between revisions

From 탱이의 잡동사니
Jump to navigation Jump to search
No edit summary
No edit summary
Line 72: Line 72:
== See also ==
== See also ==
* http://www.cyberciti.biz/tips/linux-iptables-examples.html - Linux: 20 Iptables Examples For New SysAdmins
* http://www.cyberciti.biz/tips/linux-iptables-examples.html - Linux: 20 Iptables Examples For New SysAdmins
* https://www.thomas-krenn.com/en/wiki/Saving_Iptables_Firewall_Rules_Permanently - Saving Iptables Firewall Rules Permanently


== References ==
== References ==

Revision as of 13:30, 22 July 2015

Overview

Iptables 명령어 사용법 및 활용법 정리.

Command

 iptables -[ADC] chain 상세룰 [옵션]
 iptables -[RI] chain 룰번호 상세룰 [옵션]
 iptables -D chain 룰번호 [옵션]
 iptables -[LFZ] [chain] [옵션]
 iptables -[NX] chain
 iptables -E 이번체인이름 새로운체인이름
 iptables -P chain target [옵션]
 iptables -h

 -A chain, –append chain : chain을 추가한다.
 -D chain, –delete chain : chain에서 룰을 삭제한다.
 -D chain 룰넘버, –delete chain 룰넘버 : chain 정책 중 지정한 룰넘버를 삭제한다. 만일 룰넘버가 1이라면 chain 규칙의 첫 번째 룰을 삭제한다.
 -I chain [룰넘버], –insert chain [룰넘버] : chain 정책에 지정한 숫자번째에 삽입하거나, 마지막에 룰을 삽입한다.
 -R chain 룰넘버, –relace : chain 정책 중 지정한 숫자번째의 룰을 교체한다.
 -L [chain], –list [chain] 모든 chain 정책을 보거나, 지정한 chain 정책을 본다.
 -F [chain], –flush : 모든 chain 정책을 삭제하거나, 지정한 chain 정책을 삭제한다.
 -Z [chain], –zero : 모든 chain 정책을 제로로 만들거나, 지정한 chain 정책을 제로로 만든다.
 -C chain, –check chain : 설정한 chain 정책을 테스트한다.
 -N chain, –new-chain : 새로운 정책을 만든다.
 -X [chain], –delete-chain : 사용자가 만든 chain이나 모든 chain을 삭제한다.
 -P chain target, –policy chain target : chain 정책을 지정한 chain 정책으로 바꾼다.
 -E old-chain new-chain, –rename-chain old-chain new-chain : chain명을 바꾼다.
 -p, –protocol [!] proto : 프로토콜을 지정한다. !은 제외의 의미이다.
 -s, –source [!] address[/mask] : 출발지 주소를 지정한다. mask는 C클래스면 255.255.255.0이나 24비트로 표현된다.
 -d, –destination [!] address[/mask] : 목적지 주소를 지정한다.
 -i, –in-interface [!] input name[+] 수신하는 네트워크 인터페이스 이름을 지정한다. name+은 name으로 시작하는 모든 인터페이스 이름이다.
 -j –jump target : 지정하는 target으로 리다이렉트 시킨다.
 -m : 지정한 match로 확장이 가능하다.
 -n : IP주소와 포트번호를 숫자 그대로 보여준다.
 -o, –out-interface [!] output name[+] : 발신하는 네트워크 인터페이스 이름을 지정한다.
 -v, –verbose : 상세한 정보를 보여준다.
 –line-numbers : 룰정책을 보여줄 때 줄번호도 나타낸다.
 -x, –exact : 정확한 값으로 나타낸다.
 -V, –version : 버전 정보를 보여준다.

Samples

Default DROP

기본 설정을 DROP으로 하고, 이어서 필요한 서비스들에 대한 포트들만 ACCEPT 하는 전략.

iptables -P INPUT DROP

-- ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 22 -j ACCEPT

-- http
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT

-- https
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p udp --dport 443 -j ACCEPT

-- jenkins
iptables -A INPUT -p tcp --dport 8081 -j ACCEPT

-- sip
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp --dport 5060 -j ACCEPT
iptables -A INPUT -p tcp --dport 5061 -j ACCEPT
iptables -A INPUT -p tcp --dport 5061 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

See also

References

<references />