2008년 9월 29일 [] + 중간고사
iptables
명령어 : 페이지 344
옵션?
table 에 대한 것도 나옴 : 페이지 343
ipchain 에서 부터 iptables 로 커널이 2.4때 바뀌었다.
그렇게 발전해온거지
iptables의 기능이 몇 가지가 있다. 그것에 대한 것이 나오겠다.
1. 기능 : 페이지 330
2. iptables 설정하기 위해서는 리눅스 커널에서 옵션을 선택했지
그 선택하는 부분을 하고나면 컴파일을 해야지
=> 컴파일 과정
////////////////////////////////////////////
리눅스 커널 컴파일 하는 방법 (순서)
1. tar xvjf 파일명
1_2. bunzip2
tar xvf
2. cd linux ~~
3. make mrproper 기존 걸 지워버린다는거
4. make menuconfig
5. make <-- make; 해주면 ; 때문에 이하과정을 자동으로 해줌
;은 쉘의 기능중 하나인데 뭔가를 연결해줌
6. make modules
7. make modules_install
8. make install
//////////////////////////////////
3. menu 선택에서 "limit" 이것에 대한 기능을 잘 알아둬라
책 333 페이지
"limit" match support
룰에
매칭되는 개수, 비율 제한 기능
DOS 차단, 불필요한 로그 X
iptables -A INPUT -p tcp --tcp-flags SYN,FIN, SYN,FIN -m limit --limit 5/minute -j LOG
inbound 되는 tcp에 대해서 syn,fin이 함께 보일경우 최대 분당 5개까지만 남기겠다는 의미
4. iptables 에서 사용하는 용어가 있다.
5. iptables 의 tables의 종류
6. tables 를 설정하기 위해서 어떤 것들이 필요한가?
7. 명령어 정책
8. chain 에 대해서
9. chain 을 이용하는 방법
10. chain 에 관한 명령어
11. 매칭 옵션 중 여러분이 가장 많이 쓰는 것
" tcp udp 라 든지 그런 종류를 잘 알아두면 되요 "
12. 시간과 관련된 매칭옵션이 있을 겁니다.
13. iptables의 타겟에 대해서 잘 알아둬라
14. chain의 종류
15. 타겟을 사용하는 방법
16. 상태추적 기능에서 필요한 것들이 뭔지? 명령어 내릴 때도 어떻게 하는 지 알아두자
17. 포트 포워딩을 하는 타겟이 있습니다.
18. chain 명령어 중에서 정책을 설정하거나 삭제하거나 하는 명령어
19. 18번과 마찬가지로 공부
20 상태추적기능에서 상태를 표시해주는 부분이 있어요 그거를 잘 알고 있으면 되요
21. 거부 타겟 2가지의 정의와 의미를 읽어라=> 차이점
22 ~ 25 주관식인데 명령어를 완성 시키는 것 => 옵션 , 타겟 9, 10번 제대로하면 이거야 뭐 하겠지?
IP주소 관련된 것과 프로토콜 관련됫것 테겟에 관련된게 나온다는
=========================================================================================
타겟에는 LOG ACCEPT DROP REJECT
DROP
REJECT
는 거부
LOG 타겟에 대한 설명
패킷의 IP주소 및 기나 유용한 정보를 로그에 남김
이 정보는 dmesg의 명령어로 확인
옵션은 --log-level, --log-prefix 가 있음
일반적으로 --log-level은 실제로 꼭 필요한 경우를 제외하고는 룰에 잘 명시하지 않으며
기본값인 warning을 씀
loglevel은 총 7가지 옵션
'debug' information notice warning error crit alert emerg 숫자 7 ~ 0 까지 대응을 시켜서 사용
--log-prefix 옵션
14까지의 별도의 문자로 로그 메세지에 선행
ex) iptables -A INPUT -i eth0 -p tcp -j LOG --log-prefix="IPTABLES TCP:"
-j 타겟을 설정하는 것
LOG는 LOG를 남기고자 하는 정책 위에 세워져야 함
ex) Iptables -A INPUT -p tcp --syn -j LOG --log-prefix 'SYN refuse'
iptables -A INPUT -p tcp --syn -j REJECT
이렇게 해야 기록에 남는다. 그 다음에 거부하면 됨 [룰 순서]
DROP & REJECT
룰에 매칭되는 패킷을 거부
차이점
DROP은 패킷을 거부한 후 어떠한 추가적인 동작이 없음
REJECT는 패킷 거부와 함께 패킷의 소스 주소로 패킷이 거부되었다는 에러 메시지를 발성
-> 부하가 걸림
그래서 DROP을 선호한
NAT 테이블
vmware 에서 랜카드도 가상으로 할 수 도 있구나
iptables NAT타겟
sprkwl
SNAT
소스 IP 어드레스를 지정된 IP로 변경
DNAT
패킷의 목적지 IP어드레스를 변경
이 서버의 IP를 외부에 알리지 않기 위해서
SNAT DNAT 는 둘다 고정IP를 쓴다는 것이다
MASQUERADE
타겟은 SNAT와 동일
SNAT= 고정IP
MASQUERADE= 유동(dhcp) IP
서살 IP주소를 서버의 IP로 가장하여 서버와 연결되어 있는 네트워크 호스트와 함께 외부 인터넷 자원을
공유할 수 있도록 해주는 네트워크 고급기법
IP를 부여받지 않는 컴퓨터오 인터넷을 쓸 수 있게할 수 있는 기법
동작원리
두 개의 IP가 필요한 데 => 두 개의 네트워크 카드가 필요하다는 말 (리눅스 호스트에 MASQUERADE가 설정되는)
호스트 컴퓨터를 IP MASQUERADE의 게이트웨이로 지정하여....
호스트는 Add -> Custom VMnet2
호스트가 아는 것은 그냥 랜카드 설정을 -> Custom -> VMnet2(내꺼는 원래 VMnet0 였다)
리눅스 호스트에서 system-config-network 명령어
eth0을 더블클릭 바꿀건 없다는
eth1을 클릭해서 몇 가지 셋팅 -> 정적으로 IP 할당 -> IP 셋팅(10.5.5.1), 서브넷 마스트 255.255.255.0
디폴트는 공란으로 비워둠 -> OK
두 장치가 연결되기 위해서 두 장치를 활성화 시킴
service network restart
두번 째 머신에서
system-config-network
eth0 정적 -> 10.5.5.2 -> 서브넷 255.255.255.0 디폴트는 10.5.5.1 (리눅스 호스트가 게이트웨이 역할을 하도록)
-> 활성화
리눅스 호스트에서
명령어
iptables -F FORWARD
iptables -P FORWARD DROP
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -o eth0 -j ACCEPT
-o 는 아웃픗 인터페이스
iptables -A FORWARD -o eth1 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
=> INPUT, OUTPUT, FORWARD 는 filter
=> POSTROUTING
eth0으로 나가는 패킷을 NAT 테이블안에 사용해서 MASQUERADE해준다는 의미
vim /etc/sysctl.conf 에 7라인의 0을 1로 바꿔 주면 재무팅을 해도 재설정할 필요가 없다
아니면 /etc/rc.d/rc.local 에 쉘 파일 넣어줘라 (/etc/rc.d/init.d/firewall.sh
과제 리눅스에 웹서버 만들고 방화벽 정책 만들고 ftp로 정책들을 적어와라
vi /etc/rc.d/rc.local
룰 명령어 입력
과제는 A4용지에 손으로 써와
WINDOW
XP
ip : 192.168.50.1
<VMNET 8 switch >
[host (centos 1번)] -> 방화벽
eth0 192.....
eht1 10.5.5.2
subnet : 255.255.255.0
<vmnet2 switch>
[host (centos 2번)
eth0 ip 10.5.5.2
subnet 255.255.255.0
gateway 10.5.5.2
재부팅 후리눅스 호스트에서
vim /etc/sysconfig/network-scripts/ifcfg-eth1
여기에 추가한다
BROCADCAST=10.5.5.255
NETWORK=10.5.5.0
로컬에서
vi /etc/sysconfig/network-scripts/ifcfg-eth0
호스느에서
service network restart