[전부 deny]
# iptables -F
# iptables -X
# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT DROP
[루프백]
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A OUTPUT -o -lo -j ACCEPT
iptables [-t table] command [match] [target\jump]
[커맨드 파라메터]
-A(--append) : 규칙 추가
-N(--new-chain) : 체인 생성
-X(--delete-chain) : 체인 제거
-P(--policy) : 체인 정책
-L(--list) : 체인 조회
-F(--flush) : 체인 규칙 초기화
-Z(--zero) : 체인내의 모든 규칙의 패킷과 바이트의 카운트를 0으로 초기화
-D(--delete) : 규칙 삭제
-R(--replace) : 규칙 대체
-I(--insert) : 체인 규칙 삽입
-E(--rename-chain) : 체인 이름 변경
[용어설명]
INPUT : 로컬로 들어오는 패킷(입력 패킷)
FORWARD : INPUT와 OUTPUT 역할, 라우터에 방화벽을 적용할 때 쓰임
OUTPUT : 외부로 나가는 패킷(출력 패킷)
[자주사용하는정책]
(허용 정책 설정)
- 루프백 접속 허용
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
- 내부 네트워크 접속
#iptables -A [OS] -s [ip address]/24 -d [ip address]/24 -j ACCEPT
#iptables -A OUTPUT -s [ip address]/24 -d [ip address]/24 -j ACCEPT
방화벽 내부 -> 외부
#iptables -A [OS] -s [external ip address] -p tcp -m tcp --sport [port] -j ACCEPT
#iptables -A OUTPUT -d [external ip address] -p tcp -m tcp --dport [port] -j ACCEPT
- DNS 포트 허용
#iptables -A [OS] -p udp -m udp --sport 53 -j ACCEPT
#iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
- ICMP 허용 (ping)
#iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-request -j ACCEPT
#iptables -A [OS] -i eth0 -p icmp --icmp-type echo-reply -j ACCEPT
#iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-reply -j ACCEPT
- SSH 포트 허용
#iptables -A [OS] -s [allow ip address] -p tcp -m tcp --sport 22 -j ACCEPT
#iptables -A OUTPUT -d [allow ip address] -p tcp -m tcp --dport 22 -j ACCEPT
- HTTP 포트 허용
#iptables -A [OS] -i eth0 -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT
- FTP 포트 허용
#iptables -A [OS] -i eth0 -p tcp -m tcp --sport 21 --dport 1024:65535 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT
*FTP Active mode. data port (tcp20)
#iptables -A [OS] -i eth0 -p tcp -m tcp --sport 21 --dport 1024:65535 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 21 -j ACCEPT
*FTP Passive mode. data port(tcp 1024 more)
#iptables -A [OS] -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j ACCEPT
방화벽 외부 -> 내부
- SSH
#iptables -A [OS] -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT
- http
#iptables -A [OS] -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT
- ftp (Passive mode)
#iptables -A [OS] -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 21 -j ACCEPT
#iptables -A [OS] -i eth0 -p tcp -m tcp --dport 1024:65535 -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 -j ACCEPT
'linux' 카테고리의 다른 글
cent os userdel usermod command not found. (0) | 2013.11.12 |
---|---|
ubuntu 방화벽 (0) | 2013.06.28 |
vsftpd 유저 상위 디렉토리 접근 제한 (0) | 2013.05.06 |
쉘 스크립트 정리 (0) | 2013.03.29 |
/etc/resolv.conf 가 자꾸 초기화 될때 (2) | 2012.08.30 |