iptables


옵션

-A --append

-C --check

-D --delete

-I --insert

-R --replace

-L --list

-S --list-rules

-F --flush

-Z --zero

-N --new-chain

-X --delete-chain

-P --policy chain target

-E --rename-chain old-chain new-chain

-p, --protocol protocol

-s, --source address

-d, --destination address

-j, --jump target  

-g, --goto chain

-i, --in-interface name

-o, --out-interface name

-f, --fragment

-c, --set-counters packets bytes



ssh 포트 열기

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

service iptables save    (/etc/sysconfig/iptables 자동등록)


# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARD DROP


# iptables -A INPUT -j DROP

-A    :룰을 추가한다 

INPUT : 패킷이 들어오는 체인에 

-j    :패킷의 운명을 결정한다. 

DROP  : 패킷을 버려라.



새로운 체인 만들기 (-N). 

비어있는 체인을 제거하기 (-X).

※ 이 두옵션은 직접체인을 만들었을경우와 제어할경우에 해당된다.

기본체인(INPUT,OUTPUT,FORWARD) 에는 해당되지 않는다.


미리 만들어진 체인의 정책을 바꾸기 (-P) 

어떤 체인의 규칙들을 나열하기 (-L) 

체인으로부터 규칙들을 지우기 (-F) 

체인내의 모든 규칙들의 패킷과 바이트의 카운드를 0 으로 만들기 (-Z)



# 스크립트로 등록하는 방법

/etc/rc.d/rc.local 에 

if [ -f /etc/sysconfig/iptables ] ; then

/etc/sysconfig/iptables

fi



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

iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT



iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP




IP 주소 지정


신뢰할 만한 ip에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.3 -j ACCEPT


신뢰할 만한 ip 대역에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT


신뢰할 만한 ip 대역에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT


신뢰할 만한 ip와 MAC주소에 대해 모든 패킷을 허용


# iptables -A INPUT -s 192.168.0.3 -m mac --mac-source 00:50:80:FD:E6:32 -j ACCEPT


포트 범위지정

# iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT



state - tcp/udp/icmp 등의 전송 프로토콜의 연결 '상태'를 가지고 확인한다

NEW - 세션을 만들 때의 첫 번째 패킷

ESTABLISHED - 이미 세션이 연결된 후에 오가는 패킷

INVALID - 열리지 않는 세션에 대한 데이터 전송 패킷

RELATED - 기존의 연결 세션을 바탕으로 새로 만들어지는 세션의 패킷




 ip 대역으로 차단할때

# iptables -A INPUT ?-m iprange --src-range 1.169.0.0-1.169.255.255 -j DROP

'Server - Linux' 카테고리의 다른 글

[snmp] (Linux-client) 설정  (0) 2016.07.04
[RSync]  (0) 2016.07.04
[iptables] 웹서버 방화벽 iptables 실습 (22, 80 Accept)  (0) 2016.07.04
Selinux  (0) 2016.07.04
MySql 사용법  (0) 2016.07.04

+ Recent posts