ftp://ftp.netfilter.org/pub/patch-o-matic-ng/snapshot
받은 파일을 압축 풀고
거기 가서
최근 패치를 받자
./runme --download
하고 설치한 커널의 디렉토리를 적어주고
다음에는 다운받은 iptables 의 디렉토리를 적어준다.
그리고
./runme extra
하고 똑같이 디렉토리를 적어준다.
t 명령어로 가능한지 테스트 해보고
설치 가능하면 cleanly로 뜬다 이때 y
가능하지 않다면 n 를 누른다
이걸 계속 반복
iptables 용어
tables => filter table
chain =>INPUT, OUTPUT, FORWARD => rule 정책(ACCEPT, DROP, REJECT)
rule
filter table
INPUT
OUTPUT
FORWARD
rule
ACCEPT
DROP
REJECT
nat table
POSTROUING...
중간에 지워버렸군.....
교재보자
Network -> mangle PREROUTING -> nat PREROUTING -> Routing decision
여기서 두 가지고 나뉘는데
INPUT - mangle OUTPUT -> nat ----
| ->
FORWARD --- ---------------------
아 설명 개떡같애 ㅡㅡ; 뭐 이래;;;
사용형식 : iptables [ -t table 명] 명령어 [매칭옵션][타겟]
-A -append
iptables -A INPUT
Chain의 맨 마지막에 추가한다
-I --insert
-D --delete
iptables -D INPUT -p tcp --dport 80 -j DROP
iptables -F INPUT
iptables -F
"기본 정책"
-P 를 이용하여
-F로 모두 지워도 저 "기본 정책"은 지워지지 않는다.
-N --new-chain : 기존 새로운
-N TEST : 새로운 체인 설정
새로운 체인을 없애는 방법도 있어야겠찌
-X --delete-chain :
기본정책
-P / --policy
iptables -P INPUT DROP
-A
D
I
P
F
N
X
기본 명령어다 외워라
그 다음의 매칭옵션에 대해서
-p --protocol
iptables -A INPUT --protocol tcp
--source
-s --source 192.168.1.0/24 -> CIDR
192.168.1.0/255.255.255.0 -> netmastk
-d --destination
-i ineterface 어떤 장치에 대해서 하겠다는 걸 해주는 것
-sport
iptables -A INPUT -i eth0 -p tcp -s 192.168.5.3 --sport 1024:65535
--dport 161
INPUT 체인을 추가하는데 eth0장치에
--tcp-flags syn ack fin psh rst
syn ack fin 이 가장 중요하나
iptables -A INPUT -p TCP --tcp-flags ACK, FIN FIN
저 공백의 의미는 뭘까?
마지막의 FIN은 ACK없는 FIN 즉 ICMP (ping)을 못 보내게 함
iptables -A INPUT -P tcp --syn -j DROP
--icmp-type
iptables -A INPUT -s 192.168.1.1
-p ICMP --icmp-type echo-request
--limit
iptables -A INPUT -s 192.168.1.0/24 -p icmp -m limit --limit 5/minute
--limit 이란 최대 매칭횟수 -> 서비스 거부 공격 (DOS)
1분에 5번만 허용하겠다는 거임
-m state 상태추적
EST, Related etc..
iptables -A INPUT -p TCP | --syn -m state --state NEW[ESTABLISHED RELATED INVALID] N
ACCEPT DROP REJECT
LOG SNAT DNAT
iptables -A INPUT -p tcp -j LOG
--log-prefix "INPUT tcp packets"
------ 중간고사 -------
주로 iptables 관련
명령어랑
옵션기억하자