250 likes | 446 Views
1. PC Router. Table of contents. Router package Router package Routing protocol package and utility Routing protocol 실습 환경 구축 Vmware 개요 설치 설정 LRP 개요 설치 설정 Zebra 설치 설정. 1-1. Router package. 1. Router package. Routing package 의 구분 Unix 계열 Linux router project (LRP) Gated
E N D
Table of contents • Router package • Router package • Routing protocol package and utility • Routing protocol 실습 환경 구축 • Vmware • 개요 • 설치 • 설정 • LRP • 개요 • 설치 • 설정 • Zebra • 설치 • 설정
1. Router package • Routing package 의 구분 • Unix 계열 • Linux router project (LRP) • Gated • Zebra • Windows 계열 • Pcrouter (DOS ver) • Windows 2000 • Windows XP
2. Routing protocol package and utility • Routed • Linux/Unix 계열 시스템에 라우터 기능을 부여한다. • RIP를 실행시키는 daemon • 동작방법 • 자신의 인터페이스를 검색해서 네트워크 장치가 2개 이상일 경우 router로 동작 • 동작을 시작하면 RIP request를 주변에 전달하고 응답을 수신해서 routing table을 작성한다. • Gated • Unix router daemon • RIP, OSPF, BGP, EGP 등을 지원 • Ripquery 등의 utility 내장 • 하나의 process로 모든 routing protocol을 지원하므로, 하나의 동작을 멈추기 위해서는 전체를 중단시켜야 한다. • Zebra • GNU software. TCP/IP 기반 routing protocol을 관리하는 daemon • RIPv1, RIPv2, RIPng, OSPFv2, OSPFv3, BGP4, ISIS등을 지원 • 분산 멀티스레드 방식으로 구성 – 각 라우팅 프로토콜별로 동작을 중단 시킬 수 있다.
bgpd ripd ospfd zebra Unix kernel Routing table <Zebra system architecture> 2. Routing protocol package and utility • 여러 개의 daemon 집합들이 같이 동작하도록 routing table을 구성하고, zebra는 kernel routing manager로 동작한다. • 각각의 daemon들에 접속하기 위한 tcp port를 제공한다. • Ripquery • Gated에 포함된 utility • Rip가 동작하는 시스템에서 rip message를 확인할 수 있다. • RIP/poll, RIP/request를 router에 송신해서 RIP response packet을 받아 출력 • RIP/poll 메시지는 자신의 라우팅 정보를 그대로 응답하기 때문에 우선적으로 송신 • RIP/poll에 응답하지 않을 경우 RIP/request로 정보 요청 • RIP/poll은 RIP규정에 없지만 routed와 gated가 지원한다.
1. Vmware - 개요 • http://www.vmware.com • 하나의 host에서 다중 OS환경을 사용 할 수 있도록 가상 머신을 제공하는 소프트웨어 • Vmware workstation 5.5 manual • http://www.vmware.com/pdf/ws55_manual.pdf
1. Vmware - add new machine • 첫 화면에서 new virtual machine 선택 • 하드웨어 추가 마법사가 시작되면 machine configuration에서 typical 선택 • LRP를 설치할 것이므로 OS에서 linux – redhat linux 선택 • Network는 추후 설정할 것이므로 지나친다. • LRP는 부팅시 설정을 읽어들여 ramdisk에서실행되는 linux이므로하드디스크 용량은필요 없다. • 추가 후 화면
1. Vmware - Host copy • 기존의 virtual machine의 제목에서 마우스 오른쪽 클릭 후 clone 선택 • Source에서 from curruent state 선택 • Method에서 create full clone 선택 • Clone machine 이름과 디스크 파일 경로를 지정한다.
1. Vmware – hardware 설정 • Virtual machine 이름창에서 우클릭 후 setting 선택 • LRP는 20메가 이상의 ramdisk 용량만으로도 동작하므로, memory를 선택한 후 40MB로 용량을 조절한다. • LRP 부팅을 위해 floppy image를 이용하므로, floppy에서 use floppy image를 선택하고 해당 이미지 파일의 경로를 지정한다. • 라우터가 될 host의 경우 network adapter가 여러 개 필요하므로, 필요한 만큼 add를 눌러 ethernet adapter를 설치한다.
1. Vmware – network 설정 • Vmware는 0번부터 8번까지 총 9개의 network switch를 제공한다. • 그 중 몇 개의 network는 특정 용도로 예약 되어있으며, 용도 변경을 위해서는 따로 설정해 주어야 한다. • Vmnet0 : default bridged switch • Vmnet1 : host only switch • Vmnet8 : NAT switch • 가상 네트워크 환경 구축을 위해 vmnet2~7번을 사용한다. • 구현하려는 환경에 따라 사용할 네트워크 번호를 적절히 지정한다. • 부팅되지 않은 가상 머신은 setting>network adapter에서 custom 선택후 네트워크 번호 선택이 가능하다. • 부팅된 가상 머신은 vmware 프로그램 오른쪽 아래 ethernet 아이콘을 오른 클릭하면 뜨는 edit 메뉴에서 수정 가능하다.
2. LRP (Linux Router Project) • Linux 운영체제에서 router에 필요한 기능만 패키지 화 하기 위한 프로젝트 • http://www.linuxrouter.org • Hard disk 없이 ram disk 상에서 동작할 수 있을 정도로 작은 os로, 플로피 디스켓으로도 부팅할 수 있다. • 프로젝트의 결과물을 LRP router라고 한다. • LRP project는 개발이 중단되었으나, LEAF project로 연계되었다. • LEAF project : http://leaf.sourceforge.net • LRP의 기본 사양 • 386 이상의 인텔 호환 CPU를 가진 PC • 16 M 이상의 메모리가 소요된다. • 기본적으로 여러가지 배포판이 존재하며, 그 배포판들의 구조나 형태 역시 리눅스와 동일하다.
2. LRP – LRP 입수 • LRP download • 여러 사이트에서 검색해서 사용 할 수 있다. • 추천 ftp site : ftp://ftp.psychosis.com/linux/linux-router/dists/2.9.8 • 여러 개의 idiot-image 파일들이 있는데, 크기와 리눅스 커널 버전에 따라 다르다. • 이후 실험에서는 1440KB의 Linux 2.2버전, 커널은 2.2.16-1을 사용하기로 한다. • 또 lan driver를 위해 kernel file도 받는다.
2. LRP – 부팅 준비 • 다운로드 한 부트 이미지의 내용을 수정해야 하므로, 이미지파일 수정 프로그램을 사용한다. • 여기서는 WinImage 8.0.8000 평가판을 사용했다. • 프로그램으로 파일을 열어 파일 목록을 확인한다. • 이미지 크기를 수정하고 저장한다.: 후에 다른 패키지를 추가하기 위해서 이미지의 용량을 늘려둔다.
2. LRP – 부팅 준비 • Syslinux.cfg 파일을 열어 내용을 수정한다. • Ramdisk : 4096으로는 다른 패키지를 설치하기에 모자라므로 8192로 늘린다. • Boot image : 이미지 파일 크기를 늘린 크기로 수정한다. 여기서는 2880 kB로 확장했다. • 다운로드 받은 커널 파일의 압축을 해제하면/2.2.16-1/modules/net 의 경로에 NIC driver가 있다. • LRP를 구동하려는 컴퓨터의 LAN카드에 맞는 드라이버를 선택해서 이미지파일에 복사해 넣는다. • Vmware에서 제공하는 LAN card는 AMD PCNet32 이다. PCnet32.o를 복사하면 된다. • 대표적인 LAN card driver
2. LRP – LRP 부팅 • LRP 디스크를 넣고 부팅 시키면 LRP package가 ramdisk에 설치된다. • Root로 접속 가능하며, 접속하면 다음 화면이 나온다.
2. LRP 설치 – NIC 드라이버 설치 • Q를 눌러 메뉴에서 빠져 나온다. • 설치하려는 드라이버가 들어있는 디스켓을 넣고 마운트 시킨다. • 해당 드라이버를 ramdisk에 있는 /lib/modules에 복사하고 확인한다. • 플로피를 unmount 시킨다.
2. LRP 설치 – NIC 드라이버 설치 • 이 드라이버 모듈을 insmod를 이용하여 설치한다. • Ip 주소 할당 시험 • Ifconfig 명령을 이용해 랜카드에 ip를 할당하고, ping으로 테스트해본다.
2. LRP 설치 – 네트워크 설정 • 프롬프트에서 lrcfg 명령으로 configure 창으로 진입한다. • 여기서 1) network setting을 선택하면 network configuration 화면이 출력된다. • 1) network configuration(auto)를 선택하면 /etc/network.conf 파일을 편집할 수 있는 창이 뜬다. • 기본적인 라우터 기능을 활성화 시키기 위해 IPFWDING_KERNEL항목을 YES로 변경한다. • 호스트 이름을 설정할 수 있도록 CONFIG_HOSTNAME을 YES로 변경한다. • 변경사항이 모두 끝나고 나면 Ctrl + S를 누르고 엔터키를 눌러 저장한 후, Ctrl + C를 눌러 화면으로 복귀한다. • 같은 방법으로 LRP configure 첫 창에서 3)Package setting, 2)modules, 1)modules를 차례로 눌러 /etc/modules파일을 편집한다. • Ethernet cards라는 주석 아래에 방금 설치한 LAN card driver module 이름을 적어준다. Pcnet32.o를 설치했을 경우, pcnet32라고 적는다. • 설치된 module list는 프롬프트에서 lsmod 명령으로 확인할 수 있다.
2. LRP 설치 - 백업 • LRP는 ramdisk상에서 동작하므로, 변경사항을 디스크에 백업해야 재부팅시 변경내용이 적용된다. • lrcfg 초기화면에서 b) back-up ramdisk를 선택하면 백업 가능한 목록이 뜬다. • LAN카드 드라이버 설치 및 설정파일 변경을 통해 etc 파티션과 modules를 변경했으므로, 2와 5를 각각 눌러 백업을 한다. • C를 눌러 confirm writes = OFF로 변경하면 백업할 때마다 용량을 체크하는 질문을 하지 않는다. 한꺼번에 대량의 백업을 할때 유용하다. • LRP의 용량을 초과하도록 백업을 할 경우, 해당 lrp 패키지의 용량이 0으로 되어버리거나, 특정 디렉토리가 저장되지 않고 backup ok라고 뜨는 경우가 있으므로, 대용량의 패키지를 설치할 경우 용량 확인을 하는 것이 좋다. • 재 부팅을 통해 설정된 내용이 저장되었는지 확인한다.
3. Zebra 설치 – zebra 입수 및 설치 • LRP용 zebra 패키지는 http://www.ans.com.au/~czar/download.htm에서 받을 수 있다. LRP 버전에 맞추어 Zebra-0.85 pre1의 패키지 4개를 모두 받는다. • zebz : zebra 기본 패키지 • zebbd : bgp daemon file • zebod : ospf daemon file • Zebrd : rip daemon file • 네 개의 패키지를 담은 플로피를 mount 시킨다. • 마운트 된 디렉토리에서 패키지를 설치하고 umount 한다. • 제대로 설치 됐는지 확인하기 위해 /usr/local/etc에 패키지의 configure file이 있는지 확인한다. • 설치된 내용을 백업하고 재부팅 해서 확인한다. • 백업은 4)local과 6)zebz85p1를 선택한다.
3. Zebra 설치 – protocol daemon 설치 • Zebra가 설치된 것을 확인하면 같은 방법으로 3개 routing protocol daemon을 설치한다. • /usr/local/etc에서 configure file이 있는지 확인한다. • 백업한 후 재부팅하고 확인한다. • Local 및 새로 설치한 3개의 패키지를 백업한다.
3. Zebra 설치 – Zebra 테스트 • /usr/local/etc에 가면 각 daemon에 대한 configure file이 sample로 저장되어 있다. • Zebra configure file을 sample로부터 만든다. • Zebra 및 zebra에서 제공하는 모든 protocol은 /usr/local/etc에 configure file이 존재하지 않을 경우 실행 되지 않는다. • Zebra를 background로 실행시키고 해당 프로세스가 도는지 확인한다.
3. Zebra 설치 – Zebra 테스트 • Zebra에 접속하기 위해 2601 port에 telnet으로 연결한다. • Zebra는 vty 환경을 제공하며, 각 프로토콜 설정은 해당 포트로 telnet 접속한 후 수행한다. • Zebra는 2601 port, ripd는 2602 port를 사용하는 등, 각 프로토콜 별로 고유의 사용 port번호가 있다. • Zebra 문구가 뜨면 실행이 된 것이다.