linux, iptables( 방화벽 ) command tutorial. |
iptables ( 방화벽 )
3가지 chain 존재. INPUT, OUTPUT, FORWARD
INPUT 은 Linux 서버로 들어오는 것
OUTPUT 은 Linux 서버에서 나가는 것.
FORWARD 는 Linux 서버의 로직을 거치지 않고 바로 OUPUT 으로 나가는 것.
-N : 새로운 chain 만들기
-L : chain 규칙 보여주기
-X : 비어있는 chain 없애기
-P : chain 규칙 바꾸기
-F : chain 에 있는 모든 규칙 지우기.
-A : chain 에 새로운 규칙 추가 ( 맨 아래 추가 )
-I : chain 에 규칙 삽입하기 ( 맨 앞 추가 )
-R : chain 끼리 규칙 교환
-D : chain 에 있는 규칙 제거.
-s : source 주소
-d : destination 주소
--sport : source port num
--dport : destination port num
-p : 프로토콜 ( tcp, udp, icmp( internet control message protocol ) 가능 )
-i : 패킷 들어오는 네트워크 인터페이스 ( inbound interface ) ex) eth0
-o : 패킷 나가는 네트워크 인터페이스 ( outbound interface )
-f : fragment packet
-j : 규칙 지정 ( jump )
ex)
기본정책을 ACCEPT 로 설정.
# iptables -P INPUT ACCEPT
현재 방화벽 설명 보기
# iptables -L
192.168.0.111 에서 들어오는 packet 은 drop 한다.
# iptables -A INPUT -s 192.168.0.111 -j DROP
127.0.0.1 에서 icmp 프로토콜로 접속하는 packet 을 drop 한다.
# iptables -A INPUT -p icmp -s 127.0.0.1 -j DROP
port 23 으로 접속하는 tcp packet 을 drop 한다.
# iptables -A INPUT -p tcp --dport 23 -j DROP
port 80 으로 접속하는 tcp packet 을 accept 해라.
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
port 번호가 1023 보다 작은 포트들.
--dport :1023
port 번호가 1023 이상인 포트들
--dport 1023:
port 번호가 1023 이상 2000 이하 포트들
--dport 1023:2000
웹서버 방화벽을 열어라.
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
웹서버 포트를 80 -> 888 으로 교체하라.
# iptables -R INPUT 2 -p tcp --dport 8880 0j ACCEPT
첫번째 규칙 지우기
# iptables -D INPUT 1
or
# iptables -D 규칙
INPUT 의 기본정책을 DROP 으로 바꾸자.
# iptables -P INPUT DROP
src 가 192.168.10.10 이 아닌의 표시는
-s ! 192.168.10.10
방화벽 추가내용 저장하기.
# /etc/rc.d/init.d/iptables save
방화벽 적용내용 확인하기
# vi /etc/sysconfig/iptables
'IT 놀이터 > Linux' 카테고리의 다른 글
[linux] Top 의 CPU 에 표시되는 값들의 의미는? - ni, wa, hi, si ... (0) | 2014.02.20 |
---|---|
[linux] mod_security 란? (0) | 2014.02.19 |
[linux] Swap 메모리란? (2) | 2014.02.15 |
[linux] inetd 데몬이란? (0) | 2014.02.14 |
[linux] 계정 비밀번호 변경하기. (0) | 2014.02.13 |
댓글