랜(LAN)구축에 대하여...1 안정된 네트워크 구축홈랜을 비롯한 네트워크 구축에 대한 관심이 많아지면서'어떤 네트워크 장비를 선택하는 것이 좋은가'에 대한 문제로 많은 논쟁이 생긴다. 네트워크 시장의 상당 부분을 장악하고 있는 유명메이커, 즉 '쓰리콤이나 시스코, 베이네트 웍스, 퓨처시스템 등의 장비를 사용해야만 안정적인 네트워크 구축이 가능한가'에 대한 고민 때문이다.결론부터 말하자면 반드시 유명 메이커 제품만 사용해야한다는 생각은 버리는 것이 좋다. 우선 유명메이커 제품들은 가격대가 높기 때문에 일반인들에게는 부담이 크다. 랜카드하나만 해도 10만원선으로 일반 대만산 제품 가격이 3만원안팎인 것에 비하면 세 배 정도 비싸다. 허브의 경우도마찬가지. 대만산 제품의 포트당 가격이 1만5,000원 안팎인것에 비해 유명메이커 제품의 포트당 가격은 최소 4~5만원선이다. 5포트짜리 대만산 허브가 5만원대라면 시스코허브는 최소 30만원대다.이처럼 가격차이가 크니 웬만한 개인이 유명메이커 제품을 구입하는 것은 무리다. 물론 비싼 제품은 그만큼 성능과 호환성이 뛰어나 형편만 된다면 유명메이커의 고가 제품을 구입하는 것이 좋다. 하지만 저렴한 대만산이나 국산 랜장비들도 기본적인 네트워크를 구축하는 데는 아무런 하자가 없다.특히 일반인들이 집에, 혹은 소규모의 사무실에 설치할 장비라면 굳이 많은 기능을 갖고 있는 고가의 유명메이커제품을 사용할 필요는 없다. 쓰리콤이나 시스코 장비들은 다른 회사와 연결할 때 호환성을 고려해야 한다거나 데이터 트래픽이 많고 고용량의 중요 데이터를 많이 주고 받아야하는 전문 업무 환경에서 더욱 유용하기 때문이다.데이터 트래픽 많으면 전문업체 장비 선택간단한 홈랜 및 중소규모 사무실일 경우에는 저가형 대만산 장비로 네트워크를 구축하는 것이 바람직하지만 네트워크 트래픽이 많은 전문 업체, 예를 들면 온라인 게임서버를 운영하는 게임개발업체나VOD서비스를 하는 곳, 고용량 이미지 데이터를 많이 주고받는 설계용역회사 등은 호환성이 뛰어나고 확장이 용이하 대의 컴퓨터를 연결하는 간이네트워킹 기능을 사용할 수 있으므로 알뜰파라면 직접 FX케이블을 만들어보도록 하자.직렬포트로도 컴퓨터 두 대 연결 가능 참고로 프린터 포트에 연결하는 병렬포트 이외에도 직렬포트를 통해서도 컴퓨터 두 대를 연결할 수도 있다. 직렬포트는 보통 9핀짜리와 25핀짜리가 사용되기 때문에 어떤 타입의 부품을 사용할 것인가를 결정한 다음 DB25와 DB9라는 부품을 구해서 다음과 같이 연결하면 된다. 물론 이때도 커넥터의 암수 구별에 주의를 해서부품 구입을 해야 한다.9 pin 25 pin 25 pin 9 pinpin 5 pin 7 ↔ pin 7 pin 5 (Ground - Ground)pin 3 pin 2 ↔ pin 3 pin 2 (Transmit - Receive)pin 7 pin 4 ↔ pin 5 pin 8 (RTS - CTS)pin 6 pin 6 ↔ pin 20 pin 4 (DSR - DTR)pin 2 pin 3 ↔ pin 2 pin 3 (Receive - Transmit)pin 8 pin 5 ↔ pin 4 pin 7 (CTS - RTS)pin 4 pin 20 ↔ pin 6 pin 6 (DTR - DSR)10 허브 없이 네트워크 구축법과 장단점허브 없이 네트워크를 구축할 수 있는 방법은 모두 세가지다. FX케이블을 이용하는 방법, BNC케이블과 랜카드를 이용하는 방법, UTP케이블(크로스케이블이어야 한다)과 랜카드를 이용하는 방법이다. 각각의 장단점을 알아보자.FX케이블을 이용할 경우장비가 거의 필요없으며 양쪽 PC를 연결할 케이블 하나면 된다. 비용이 매우 저렴하고(최대 1만원 정도면 충분하다)설치 및 사용이 쉽다는 것이 장점이다. 케이블을 연결하고 케이블 직접 연결 프로그램만 실행하면 되기 때문이다.하지만 단점이 더 많다. 일단 속도가 느리다. 뒷부분에서 자세히 속도를 비교하겠지만, 최고 속도도 100Kbyte/s 이하다. 병렬 케이블의 경우에는 몇 미터 이내만 연결할 수있는 등 거리 제한이 있다. 가장 큰 단점은 한쪽에서만 접근이 없다. 한쪽에서 주로 통신과 인터넷을 사용하면 되기 때문이다. 그것이 불편하다면, 윈게이트같이 모뎀 하나로 여러 대의 PC에서 인터넷을 사용할 수 있는 프로그램을 설치해 사용하면 두 세대 정도의 PC에서는 동시에 인터넷과 통신을 충분히 사용할 수 있다.상위기종에 고속 장비와 대용량 HDD 연결두 대의 PC를 랜으로 연결한다면, 주로 사용하는 PC에 고속의 장비와 대용량의 하드디스크를 연결하는 것이 랜을 고속으로 활용하는 지름길이다. 그리고 혼자서 두 대 이상을 사용할 경우에는, 각각 PC의 용도를 분명하게 하는 것이 좋다. 예를 들어 좀 성능이 떨어지는 PC는 자료 다운로드와 백업용, 빠른 쪽은 작업용 등으로 구분해 사용한다면 장비를 좀더 효율적으로 활용할 수 있으며 이동거리 등도 줄일 수 있다.22 인터넷 전용선없을 때 웹서버 사용모든 윈도우 95/98 PC에서는 웹서버를 사용할 수 있다.설치하는 것과 운영하는 것에 전혀 문제가 없다. 심지어는 인터넷에 연결돼 있지 않은 상태(모뎀으로 조차)에서도 웹서버를 운영할 수 있다. 웹서버도 정상적으로 작동시킬 수 있고, 웹사이트나 프로그램 개발 등도 얼마든지 가능하다.하지만 연구용이나 웹 구축 연습을 위한 경우를 제외하고 웹서버라는 것은 기본적으로 다른 사람이 찾아오도록 하기 위해 만드는 것이다. 따라서 다른 사람이 찾아오게 하기 위해서는 고정된 주소가 있어야만 한다.우리가 흔히 사용하는 전화접속 네트워킹은 고정된 주소를 받을 수 없다(장비와 용어설명 편의 'IP주소가 없을 때 인터넷 이용법' 참조). 우리 나라에서 고정된 주소를 받을 수 있는 경우는 학교나 기업 등 인터넷에 직접 연결된 경우와 개인전용선(TT라인) 등으로 연결돼 있는 경우가 전부다.전화접속 네트워킹처럼 수시로 주소가 바뀌는 경우에는 기껏 웹서버를 만들었다 하더라도 다른 사람들이 찾아올 방법이 없으므로 무용지물이 되고 만다. 따라서 웹서버를 구축하기 전에 자신의 PC가 고정된 주소를 받을 수 있는지 먼저확인해야 한다. 일반 가정에서 사용하는 경우라 나와있지만 범용으로 사용할 수 있고 비교적 가격이 저렴하며(100일시험판을 인터넷에서 구할 수 있다) 사용하기 편리한 익스체인지서버와 아웃룩의 솔루션은 소규모 랜용으로 가장 인기있는 그룹웨어 아이템.http://www.microsoft.com/exchange에 접속하면 100일간 사용해볼수 있는 평가판 익스체인지 서버를 다운로드받을 수 있다. 물론구입하려면 소프트웨어 전문 매장에 가면 된다. 다섯 사용자용익스체인지서버의 가격은 100~150만원대. 사용자가 늘어날 때마다라이센스를 구입해야 한다. 아웃룩은 오피스를 구입하면 함께포함돼 있다. 익스체인지 서버와 아웃룩을 활용하는 방법은 PC라인7,8,9월호 네트워크 활용강좌를 참조하면 된다.29 NT와 유닉스의 장단점소규모 랜 환경에서 NT와 유닉스의 용도는 크게 나누어 파일서버와 인터넷 서버로 볼 수 있다. 이 중 상용 유닉스는 상당히 고가이므로, 쉽게 구할 수 있는 FreeBSD, Linux(물론무료이다)와 NT를 비교해보기로 하자.NT의 장점은 사용하기 쉽다는 것이다. 내부 구조는 다르지만, 눈에 보이는 그래픽과 인터페이스가 윈도우와 동일하기 때문이다. 또한 프로그램 사용이나 설치도 동일하다. 따라서 전문가가 아니라도 손쉽게 접근할 수 있다. 또한 윈도우와 통합성이 매우 탁월해, 파일 공유,프린터 공유 등 간편한 것은 물론이고, 중앙 집중화된 보안관리 기능도 사용할 수 있다. 반면에 100만원 가까이의 비용을 투자해야 하고, 비슷한 사양의 PC에서 유닉스에 비해 성능이 떨어진다는 것, 안정성이 상대적으로 낮다는 것 등이 단점으로 지적된다.유닉스의 경우에는 뛰어난 안정성과 강력한 성능이 장점.낮은 사양의 PC(펜티엄 100 정도면 충분하다)에서도 무리없이 잘 돌아가며, 수십 년의 개발을 통해 안정화가 충분히 이루어져 있다. 또한 기본적으로 무료로 공개돼있고, 인터넷에 수많은 공개 프로그램들이 있으므로 프로그램을 별도로 구입할 필요가 없다. 하지만 유닉스를일정 수준 이상 아는 사람이 있어야 설치와 초기 프로그램. 이것이 바로 인터넷이며 이것의 근간이 바로TCP/IP이다.TCP/IP의 역사TCP/IP의 초기 연구는 미 국방성을 통해 이뤄졌다. 안보와 관련된 네트워크 요소에는 전쟁이나 재난 중에도 잘 버틸 수 있는 형태의 프로토콜이 필요했다. 국방성은 네트워크 프로토콜에 투자했고, 오늘날 패킷 스위칭이라는 기술의 초석이 됐다.TCP/IP 프로토콜에 대한 연구 목적은 크게 공통적 프로토콜, 상호작용성, 강력한 통신 기능, 재구성의 편리성이다. 미국방성은 모든 네트워크에서 사용 가능한 프로토콜과 다른 기종간에 상호작용이 가능하도록 만들고 광대역(WAN)에서 사용 가능한 신뢰성 있는 고성능 네트워킹 기술이 필요했다.또한 네트워크의 재구성과 컴퓨터의 삭제 및 추가가 통신의 중단없이 가능해야 했다. 이를 위해 오늘날 인터넷의 모체가되는 ARPAnet이 만들어졌다.TCP/IP 프로토콜은 1980년대 초에 개발되어 1983년ARPAnet의 표준 프로토콜이 됐다. 특히 버클리 유닉스라 불리는 BSD 유닉스 4.2에 포함돼 널리 사용됐다. BSD 유닉스는 이후 썬의 SunOS, 디지털의 유닉스의 기초를 제공했다. 때문에 TCP/IP도 이와 함께 더욱 널리 사용됐다.이후에도 TCP/IP 프로토콜은 인터넷의 발전과 함께 계속변화 발전하고 있다. ISO의 경우 OSI(Open System Interconnection)라고 하는 개방형 프로토콜을 정하면서 TCP/IP를 밀어내려고 했으며 미국 정부도 이에 대해 동조했다. 하지만 OSI 프로토콜이 더 이상 진전을 보이지 않고 이에 대한 관심이 줄어들면서 TCP/IP가 더욱 보편화됐다. 결국 미 국방성도 OSI 프로토콜을 사용하겠다는 방침을 뒤엎고 TCP/IP를 사용하게 됐다.TCP/IP의 적용TCP/IP가 가진 장점 중의 하나는 매우 다양한 응용프로그램과 프로토콜을 지원한다는 점이다. TCP/IP 라는 이름 때문에 TCP와 IP만 지원한다고 오해하는 사람이 있는데 이를 해소하기 위해 TCP/IP를 '인터넷 프로토콜 슈트' 혹은 DoD 프로토콜 .
☞ 액티브 {WinDows/2000-액티브 디렉터리디렉터리 ☜▶윈도우 2000과 DNS, DDNSDNS는 인터넷을 사용하면서 가장 자주 듣게 되는 용어 중에 하나입니다. 윈도우 NT 4.0 체제에서는 DNS는 단지 인터넷을 사용하기 위한 수단에 불과하였습니다. 윈도우 NT 4.0의 이름 찾기 체계는 WINS(Windows Internet Name Service)를 이용한 윈도우 자체적인 방식이었습니다. 그러나, 윈도우 2000에서는 윈도우 도메인을 구성하고 자원을 활용하기 위하여 DNS 체제를 사용하게 됩니다.윈도우 2000에서 DNS 체제를 도메인 구축에 사용하게 된 것은 별로 놀랄 일은 아닙니다. 윈도우 NT 4.0 도메인 체계는 인터넷의 표준적인 방식과는 다소 거리가 있는 WINS 등의 자체적인 이름 찾기 해결책을 사용하고 있었기 때문에 인터넷과의 완전한 융합을 이루지 못하였습니다. 물론, 이런 체계는 윈도우 NT 4.0 자체가 인터넷과의 통합은 별로 생각하지 않고 설계된 탓도 있습니다.윈도우 2000에서는 DNS는 각별한 의미를 지니게 됩니다. 그러나, 윈도우 2000에서 DNS의 사용은 기존 윈도우 NT 4.0 네트워크 체계의 모든 것을 버리고 이전된 것을 의미하지는 않습니다. 즉, 윈도우 2000은 NetBIOS체계 등의 네트워크 체계를 바꾼 것이 아니라, 도메인 콘트롤의 개념만을 바꾸어 놓은 것입니다. 즉, 도메인 컨트롤러를 찾는 방식을 NT 4.0에서의 방식인 WINS 혹은 네트워크 제 2 계층에서의 브로드캐스팅에 의존하지 않고 DNS를 사용하도록 조치하였습니다. 따라서, 도메인 콘트롤의 개념이 상당히 많이 바뀌어지게 되었습니다.윈도우 2000에서의 도메인은 마치 DNS의 레코드가 체계를 지니듯이, 도메인이 체계적으로 설계되며 인터넷의 표준 도메인 네임을 사용할 수 있게 되어 있습니다. 즉, 도메인 네임이 netien.com과 같은 표준적인 인터넷 이름으로 사용되며, 도메인 이름의 앞에 새로운 말이 붙어 이 도메인 네임을 지속적으로 확장시킬 수 우에는 액티브 디렉터리 및 커베로스 관련 포트를 사용하게 되며 이 포트는 netstat 명령어를 사용하여 확인할 수 있습니다.두 개 이상의 IP 주소를 가진 컴퓨터의 경우 윈도우 2000 클라이언트나 윈도우 NT 클라이언트는 모든 IP를 사용하여 컴퓨터의 공유 자원에 접근할 수 있습니다. 윈도우 NT 4.0에서는 최초로 설치된 한 개의 IP 외에는 접근이 불가능했던 부분이지만 윈도우 2000에서는 모든 IP를 지원합니다.▶액티브 디렉터리의 이해액티브 디렉터리는 윈도우 2000에서 체계적으로 자원을 관리하기 위해 도입된 체제입니다. 윈도우 2000에서는 이미 네트워크 표준화가 이루어진 디렉터리 서비스를 이용하여 네트워크상의 사용자와 자원을 관리하는 방식을 받아들였습니다.디렉터리 서비스는 이름 그대로 전화번호부 같은 정도로 생각하면 됩니다. 디렉터리 서비스가 처음 나타난 것은 인터넷 상에 흩어진 여러 사용자들을 찾기 위한 방편이었으며, 각 사용자들은 전화번호에 등재되는 것처럼 원하는 디렉터리 서버에 자신의 전자 메일 주소를 등록하고 다른 사람들이 찾아볼 수 있도록 여러 가지 설정을 해 놓았습니다. 그러나, 디렉터리는 단순히 이렇게 인터넷상의 사람을 찾아 주는 역할에서 끝나지 않았습니다. 노벨과 같은 기업을 선두로 하여 디렉터리 자체를 인터넷과 접목시키고 향상된 수준의 보안 및 응용프로그램 접목이 시도되었습니다. 그 결과 LDAP 프로토콜을 기반으로 한 디렉터리 서비스들이 각 회사에 의해 경쟁적으로 개발되고 있는 중입니다.디렉터리는 네트워크 상에 산재된 전체 자원을 효율적이며 논리적으로 배열하는 기법입니다. 즉, 지금껏 네트워크는 단지 파일, 프린터 공유나 전자 메일 전송 등의 단순한 기능만 하고 있었지만, 디렉터리 체제가 도입되면 네트워크에 연결된 전체 자원을 마치 하나의 유기체처럼 사용할 수 있게 됩니다.디렉터리 자체는 앞으로 다가 올 네트워크 환경에서 자원 통합으로 인한 실제적인 이익 및 TCO의 감축을 가져오게 되리라고 예상됩니다. 최근에 노벨이 NDS를 출니다. 즉 디렉터리는 작은 하나하나의 개체로 구성되어 있으며 각 개체는 하나의 속성을 지니고 있습니다. 컴퓨터 혹은 개인이 하나의 개체를 구성하게 됩니다. 컴퓨터일 경우 그 속성은 컴퓨터의 이름이나 간략한 설명 등이 되며, 개인일 경우 이름, 전자 우편 주소 등이 개체를 구성하는 속성이 됩니다. 클래스는 이런 개체들의 집합으로 이루어집니다. 도메인도 하나의 개체로 취급할 수 있습니다. 컨테이너(Container)는 다른 개체를 포함할 수 있는 개체를 의미하며, 도메인이 가장 대표적인 컨테이너에 속하게 됩니다. 컨테이너는 실제 회사 혹은 사업부와 동일한 구조로 작성됩니다.조직 단위(Organization Unit)는 도메인을 구성하는 작은 컨테이너들입니다. 즉, 도메인은 여러 개의 세부 조직 단위로 구성되어 있으며, 조직 단위는 사용자, 그룹, 컴퓨터, 프린터, 파일 공유, 응용프로그램, 또는 다른 조직 단위를 포함합니다. 사업부가 하나의 도메인이면 이 사업부 내의 작은 부서들이 하나씩의 조직 단위를 구성하며, 작은 조직 단위에는 일반 사원, 과장, 그리고 컴퓨터 자원 등이 속하게 됩니다.도메인은 조직 단위체로 구성되어 있는 상위 조직이며, 조직 단위체가 의미를 지니는 한계를 말합니다. 도메인은 같은 보안 체계를 사용하며 각 개체에 부여된 ACL(Access Control List)의 적용을 받는 그룹입니다.이러한 도메인의 집합을 트리(Tree)라고 합니다. 그리고 이 트리의 상위 개념을 포리스트(Forest)라 합니다.액티브 디렉터리를 처음 접하는 사용자들은 이러한 개념들이 별로 이해가 되지 않을 것입니다. 액티브 디렉터리는 하나의 회사나 기관의 조직을 컴퓨터로 모사해 놓고 각 조직에 속한 사람들과 컴퓨터 및 기기들을 관리하는 방식입니다. 만일 대기업이라면 그룹이 하나의 포리스트를 구성하고, 각 계열사가 하나의 트리를 구성하며, 계열사의 사업부가 도메인이 되고, 세부 부서들이 조직 단위를 형성하고 있는 형태가 됩니다.▶액티브 디렉터리의 물리적인 구조와 동기화 admin 그룹에 속해 있다면, /DC=com/DC=yuldo/OU=율도/CN=Admin/CN=홍길동 과 같은 형태로 나타낼 수 있습니다. 여기서 DC는 도메인 콤포넌트 이름, OU는 조직 단위 이름을 의미합니다. DN은 보통 ID를 의미하며, 겹칠 수 없습니다. 또한, 액티브 디렉터리는 모든 속성을 포괄하고 있기 때문에 상대적 구별 이름(Relative Distinguished Name, RDN)을 가질 수 있습니다. 즉, OU가 다른 사용자라면 다른 이름을 가질 수 있으며 이것을 RDN이라고 합니다. RDN은 OU 내에서만 유효합니다.실제 컴퓨터 관점으로 볼 때는 액티브 디렉터리에서는 GUID(Global Unique Identifier)를 사용하여 모든 개체를 구별합니다. GUID는 NT 4.0의 SID, CLSID 등과 동격으로 생각하면 됩니다.액티브 디렉터리 네임 컨벤션은 사용자가 접할 수 있는 개념은 아닙니다. 이 컨벤션은 응용프로그램 설계 혹은 네트워크 전체의 관리자만이 접할 수 있고 활용이 가능한 개념입니다.▶윈도우 2000의 인터넷 서비스의 달라진 점♤DNS 서비스의 개요윈도우 2000의 DDNS 서비스는 액티브 디렉터리를 운영하는 기반이 됩니다. 도메인 서버는 주 도메인 네임 서버와 보조 도메인 네임 서버로 구분되기 때문에 도메인의 주 도메인 네임 서버가 DDNS서버이면 다른 보조 도메인 네임 서버들은 이 서버에서 DNS레코드를 받아오게 되므로 모두 DDNS를 설치하는 것과 마찬가지 효과가 나타납니다.도메인 네임은 보통 co.kr로 끝나는 도메인 네임은 한국전산원(KRNIC ), 그리고 ISP 혹은 망 관리 업자로부터 IP와 도메인 네임을 부여받습니다. IP 는 망 관리 업자에게 직접 받아야 하지만 도메인 네임은 도메인 네임 신청을 하는 기관의 정책에 따라서 달라지게 됩니다.IP와 도메인 네임은 단 하나의 IP가 단 하나의 도메인 네임에 연결되는 경우가 보편적이지만 반대의 경우도 있습니다. 경우에 따라서는 여러 IP가 여러 도메인 네임에 연결었으면 이제 도메인 영역 정보가 등록되어야 합니다. 도메인 영역 정보 등록이란 인터닉이나 KRNIC에 등록된 도메인 네임을 서버에 등록하는 과정입니다.새로 도메인을 신청하여 도메인 네임을 받은 뒤 이 이름을 등록하려면 DNS 항목에서 새 영역을 선택하여 등록하면 됩니다. 처음 영역을 등록할 때는 주 영역으로 등록합니다. 보조 영역은 추후 도메인 네임 서버가 보충될 때 보조 네임 서버로 사용하기 위해 등록하는 것입니다.{새로운 영역은 세 종류가 있습니다. 액티브 디렉터리를 포함하는 영역과 일반적인 도메인 네임 서비스 두 종류가 있으며, 일반적 도메인 네임 서비스는 주 도메인 네임 서버와 보조 도메인 네임 서버 두 대가 있습니다. 보조 도메인 네임 서버는 여러 대가 설정될 수 있습니다. 액티브 디렉터리 서버는 DDNS로 운영되기 때문에 사실 이렇게 서버를 일일이 등록해 줄 필요는 없습니다. 따라서, 사용자의 손을 거치는 서버들은 모두 윈도우 2000 서버가 아닌 하위 버전의 윈도우나 유닉스 계열의 서버가 됩니다.이제 인터닉이나 KRNIC에 등록한 도메인 네임을 입력할 수 있는 단계로 들어간다. 일반적인 서버로 사용할 것이라면 이름을 입력하고 도메인 영역 파일을 생성하게 됩니다.{{모든 과정이 끝나면 하나의 영역이 생성됩니다. 일반적인 영역에는 액티브 디렉터리에 사용되는 여러 가지 부수적인 내용들이 생략됩니다.이제 새로운 컴퓨터 이름을 등록할 수 있습니다. 새로운 도메인 등록은 새 도메인, 새 호스트, 새 레코드 세 개의 항목으로 나누어 할 수 있습니다. 새 도메인을 등록하는 것은 현재 도메인을 하위 도메인으로 사용하는 도메인을 제작하는 것입니다. 즉, designweb.org이라는 도메인의 하위 도메인으로 dev.netusers.net라는 도메인을 생각할 수 있으며, 이 도메인이 설정되면 사용자는 www.dev.designweb.org와 같은 도메인을 새로 만들 수 있습니다. 이런 방식으로 도메인은 계속 확장될 수 있습니다.네임 서버를 사용하여 새로운 호스트를 등다.
☞리눅스에서 ftp 서버 셋팅☜리눅스가 6.1로 변화하면서 anonymous ftp 서버가 proftpd로 변경되었다. 이 proftpd는 standalone형으로 사용자들의 편의를 많이 제공한다. 이번 장에서는 알짜 레드햇 6.1 ftp서버를 바탕으로 proftp서버에 대해 알아 보도록 하겠다.$1. Linux FTP설치/설정1)Linux FTP설치anonymous ftp가 설치 되어 있지 않다면 여러분은 다음의 두 파일을 다운 받아 설치 해야 한다.-anonftp-2.9-4ac.i386.rpm-proftpd-1.2.0pre9-3ac.i386.rpm이 파일 중에서anonyftp는 /home/ftp라는 디렉토리를 만들고 기본적인 ftp가 운용되도록 설정을 해주는 것이며 profptd는 anonymous로 접속하는 사용자들을 제어하고 anonymous서비스를 제공하는 ftp서버 프로그램이다. 이 두파일을 설치한 다음에 몇 가지만 설정해 주면 여러분의 컴퓨터는 anonymous ftp서버의 기능을 수행하게 된다. 앞에서도 proftpd는 말했듯이 standalone으로 동작한다. 만약 여러분이 이 파일을설정한 다음, ftp로 접속하면 다음과 같은 오류가 날수도 있다.[root@rootshell /root]# ftp localhostconnected to localhost.compiled-in modules:ftp>이는 /etc/inetd.conf의 파일에 다음과 같은 줄을 제거해주어야 한다.[root@rootshell /root]#vi /etc/inetd.conf이부분을 제거=> ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a그러나 대부분의 사람들은 리눅스를 설치하면서 자동으로 ftp서버가 설치되어 있을 것이다.위의 파일은 요기 에서 다운 받을 수 있다.(참고)앞으로 여러분들은 이러한 사이트에서 다운을 많이 받게 될텐데 초보때는 실제로 방문을 해도 어떤 것을 다운 받아야 할지 애매할 때가 많다. 그래서 다운을 받tandalone mode, in inetd mode you should use an inetd server# that allows you to limit maximum number of processes per service# (such as xinetd)MaxInstances30자식 프로세스 최대 생성수지정. 바람직하지 못한 서비스공격 방지 , 수 초과시 log기록 연결 해제# Set the user and group that the server normally runs at.UsernobodyGroupnobodyproftpd 데몬을 실행시키는 사용자와 그룹 설정# To show all filenames including ``dot'' files#LsDefaultOptions "-a"## To allow root login# be sure to take root out from /etc/ftpusers also :)##RootLogin onRootLogin offroot 계정으로 로그인, 보안에 좋지 않음 항상off로 해놓을 것# Normally, we want files to be overwriteable.AllowOverwriteon새로운 파일명이 기존의 파일명과 같을 경우 덮어쓰기 허용# A basic anonymous configuration, no upload directories.UserftpGroupftpRequireValidShell off익명사용자로 접근 가능 설정# We want clients to be able to login with "anonymous" as well as "ftp"UserAliasanonymous ftpanonymous,ftp로 로그인 가능# Limit the maximum number of anonymous loginsMaxClients10매직 쿠기이용 메세지 삽입가능("죄송합니다. 현재 사용인원은 %M입니다. 다음을 이용해 주십시오") 최대 접속가능 클라이언트 제한 none으로 설정하면 무제한 접속가능# Limi고 있다. 특히 여러분들이 많은 관심을 가지고 있는 해킹을 하려면 반드시 Linux를 알아야 한다.$1. 아파치 웹서버 설치리눅스의 아파치 웹서버는 Windows NT4.0의 IIS서버와 같다고 생각하면 된다. 어려분들이 리눅스 패키지를 설치하면 기본적으로 아파치서버가 설치된다. 그러면 무슨 설치법을 배우라는 것이냐구?? 우리는 기냥 깔려버린 패키지들을 다 없애 버리고 다운을 받은 소스 파일로 다시 설치를 하려하는 것이다. 어려울 것이 없다. Windows에서 잡은 개념을 그대로 적용하면 된다. (그래도 어려운 사람들은 리눅스의 기초 명령어를 다시보고 도전하자. 기초가 정말 중요하다.)자 이제 아파치(apache)웹서버를 설치해서 여러분들의 홈페이지를 컴퓨터에 올려 보자.1)기존 파일 제거#rpm -q apache#(프롬프트 도스의 C:)rpm(RedHat Package Management) -q(query 질문) 아파치(apache)해석) rpm으로 깔린 아파치가 있느냐??#apache-1.3.12-2해석)아파치-1.3.12-2버젼이 깔려 있네요 (이런 식이다. 여러분의 명령에 리눅스는 충성을 다해 대답한다.)#rpm -e apache해석)rpm으로 깔린 아파치 다 지워라(erase)#mod-Perl과 관련되어 있고요php와도 관련되어 있어서 지우기가 어려운데요#rpm -e mod-Perl그럼 mod-Perl지워라#rpm -e php#php-imap과 관련되어 있고요php-ldap과도 관련되어 있고요php-pgsql과도 관련되어 있는데요#rpm -e php-imap#rpm -e php-ldap#rpm -e php-pgsql그래 그럼 관계된 넘들부터 다지워 버려(기분 나쁘게 나의 명을 거역해)#rpm -e php#rpm -e apache#rpm -q apache확인해 보자 아파치가 아직도 살아 있느냐???#package apache is not installed죽었사옵니다.#rpm -q phpphp가 아직도 살아있느냐??#package php is not i 파일 내용은 관례적인 것일 뿐이다. 아파치 신 버전부터는 모든 설정 내용이 하나의 거대한 파일 httpd.conf에 들어 있고 나머지 두 파일은 빈 파일로 제공되고 있다. 이런 사실을 알아두기 바란다.################################################################################ 팁)## 1) 문제가 발생했을 때에는 httpd.conf (srm.conf, access.conf) 설정 파일의 문법을 제대로 지켰는지 먼저 점검하고 다른 아파치 관리자들에게 도움을 요청하는 것이 좋습니다.## /usr/sbin/httpd 명령에 -t 옵션을 주면 문법만 점검합니다.# 기타 다른 옵션에 대하여 알고 싶을 때에는 -h 옵션을 사용하십시오.## 예1) 문제가 없는 경우## # /usr/sbin/httpd -t# Syntax OK## 예2) 설정에 실수가 있는 경우## #/usr/sbin/httpd -t# Syntax error on line 91 of /etc/httpd/conf/httpd.conf:# ServerType must be either 'inetd' or 'standalone'### 2) IP 주소 하나에 여러 개의 이름을 부여한 가상 호스트 예제를# 설정 파일 후반부에 수록하였습니다.############################################################################### --## 간단한 용어 정리)## --## Rob McCool 씨의 NCSA 서버 설정 파일에 기초한 것임.## 이 파일은 아파치(Apache) 서버 주 설정 파일이다. 이 파일에 들어있는 설정 지시자(directive)를 통해 서버의 작동 방식을 지시한다. 각 지시자에 대한 자세한 정보를 원하면 http://www.apache.org/docs를 참고하라.## 정확한 이해 없이 대충 읽어나가는 일이 없도록 하자. 여기에 적은 내용을 그대로 여러분의 상황에 적용시키려 하지 말라nadalone가 더 효율적## 서버 루트(ServerRoot) : 서버의 설정 파일, 에러 파일, 로그 파일이 기록되는 디렉토리의 최상위 경로명.## 주의! 만약 서버 루트를 NFS (또는 기타 네트웍 파일 시스템) 마운트된 곳에 두고자 한다면 LockFile 문서를 꼭 읽어보아야 한다.# ();# 문서를 읽고 나면 앞으로 닥칠 지 모르는 몇 가지 문제점을 피할 수 있다.## 디렉토리 경로 뒤에 슬래쉬(/) 문자를 쓰지 않는다!!!#ServerRoot "/usr/local/etc/httpd"서버의 Root 디렉토리를 지정## LockFile 지시자는 아파치를 USE_FCNTL_SERIALIZED_ACCEPT 또는USE_FLOCK_SERIALIZED_ACCEPT 옵션을 주고 컴파일한 경우, 잠금 파일을 경로를 지정할 때 사용한다. 이 지시자 값은 일반적으로 기본값이 되도록 놔둔다. 이 값을 바꾸는 경우는 로그 디렉토리가 NFS 마운트된 곳에 있는 경우로서 잠금 파일은 항상 네트웍 파일 시스템이 아닌 로컬 디스크에 저장되어야 하기 때문이다. 주 서버 프로세서의 PID 값이 자동으로 파일 이름 뒤에 붙는다.##LockFile /usr/local/etc/httpd/logs/httpd.lock 잠금 파일의 위치를 설정## PidFile: 서버가 시동될 때 자신의 프로세스 고유 번호를 기록할 파일##PidFile /usr/local/etc/httpd/logs/httpd.pid 서버가 실행될때 프로세스 ID를 기록할 파일 지정##ScoreBoardFile: 내부 서버 프로세스 정보를 기록하는데 사용하는 파일. 모든 아키텍쳐에서 꼭 필요한 것은 아니다. 하지만 필요하다고 생각하는 경우에는 하나의 아파치 프로그램을 두 번 이상 실행시키는 경우 값이# 중복되지 않도록 해주는 것만 잊지 않으면 된다.#ScoreBoardFile /usr/local/etc/httpd/logs/httpd.scoreboard 서버에서 실행되고 있는 파일의 정보 기록## 표준 설정에서 서버는 httpdrs=
{클 라 이 언 트 / 서 버1. 클라인언트/서버의 등장배경.: 메인 프레임은 1960년대를 시작으로 발전한 중앙 집중식 환경으로 최고의 수행 속도, 고장 방지(fault tolerance), 그리 고 보안 기능을 제공하지만 사용자의 모든 요구를 해결하는데는 한계가 있던 중 1980년대에 IBM에서 PC를 생산하기 시작 했다. 메인 프레임에 비해 사용하기 편리한 그래픽 인터페이스를 제공하고 사용자가 직접 응용 프로그램을 개발할 수 있는 애플리케이션 개발 도구를 제공함으로서 PC의 활용 범위는 점점 넓어져 갔다. 메인프레임을 사용할 때와는 달리 네트워크 상의 문제는 해결(단순히 개인의 PC에서 작업이 가능함으로 메인 프레임에 접근할 필요성이 없어져 통신 노드의 부하가 해 결됨)되었으나, 자원과 정보의 효율적이고 체계적인 관리와 보안의 문제점이 발생하였다.다시 말해서 메인프레임은 변화에 즉각적 대응이 불가능하다는 점과 이로 인한 서비스 지연이 문제가 되었고, PC를 활용 한 마이크로 컴퓨팅환경은 데이터 처리에서 데이터 무결성 및 보안 기능에 문제가 있었다. 하지만 이들은 상호간에 가지지 못한 장점을 가지고 있었기 때문에 시간이 지나면서 공존의 길을 찾기 시작했는데 그것이 클라이언트/서버 환경이다.2. 네트워크시스템.1 호스트/터미널 시스템: 초기 네트워크 시스템에서 많이 쓰이는 방식 중의 하나가 호스트와 터미널이다.호스트는 단어의 뜻 그대로 주인 이란 의미이며 다수의 컴퓨터나 단말장치에 의해 구성되는 네트워크 시스템(온라인 시 스템)에서 중심적 역할을 하는 머신(Machine)을 말한다. 이들의 기능은 다수의 터미널로부터 요구되는 일련의 작업에 대 해 업무용 데이터에 대한 일괄된 조회 기능을 제공하고 데이터의 무결성(data integrity)을 유지하며 인가되지 않은 사용 자의 접근을 차단하는 보안 기능을 확보하는 것이다. 또한 중앙 집중식 컴퓨팅 플랫폼으로 고도의 수행 속도, 고장 방지 (fault tolerance)기능을 제공한다. 주로 메인 프레임, 미니 하는 가장 큰 이유중의 하나가 바로 입력 작업중의 대기 시간이다. 이 입력 작업을 클라이언트가 처리하면 서버는 자신의 모든 능력을 사용자가 요구한 프로세서의 처리에 사용할 수 있으므로 서버의 성능을 실질적으로 향상될 수 있으며 그러한 성능 향상은 사용자에게 충분한 자원 배분으로 이어져 최고의 효과를 낼 수 있다.3. 클라이언트/ 서버 시스템의 구조: 클라이언트/서버의 구조는 크게 클라이언트, 서버, 그리고 이들을 연결하는 네트워크 부분으로 나눌 수 있다.1 클라이언트 부분: 클라이언트는 클라이언트/서버 환경에서 최종 사용자와 직접 의사 교환으로 하는 부분으로 각종 애플리케이션과 비교적 저렴한 컴퓨터로 구성된다. 이는 다양한 OS를 제공하며 상호간에 종속적이지 않다. 이 말은 어떠한 OS도 사용이 가능하 다는 뜻이다. 주요 기능은 데이터의 입력과 결과의 출력, 보고서 인쇄 등이며 사용자의 요구에 즉시 반응해야 한다. 클라 이언트에서 사용되는 모든 애플리케이션은 다양한 언어를 제공하는데 이는 모두 클라이언트에서 번역되어 서버에 전달된 다. 클라이언트 내에 Translator를 내장하고 있어 서버가 별도의 작업 없이 클라이언트의 요구에 대해 반응할 수 있게 해준다. 만약 모든 클라이언트가 각기 다른 언어로 서버에 요구를 해오면 서버는 본래의 프로세스 처리보다는 자신에게 요구되는 일에 대한 분석에 더 많은 시간을 소비해야 되므로 성능에 치명적인 영향을 준다. 따라서 서버의 부담을 줄이고 성능의 향상을 위해서는 필수적인 기능이라고 할 수 있다.2 서버부분: 서버는 데이터를 처리하는 엔진 부분과 엔진이 실릴 하드웨어로 이루어진다. 하드웨어는 물론 마이크로 컴퓨터에서 미 들 레인지(Middle Range)컴퓨터에 이르는 컴퓨터 군에서 선택되며 이는 클라이언트에서 제공되지 않는 특별한 기능을 포함하고 있다. 이른바 하이 엔드 제품군으로 불리는 컴퓨터로 메인 프레임에 버금 가는 성능을 가지고 있다. 서버는 I/O Operation이 최적화 되어 있다. I/O Operation 벗어난 클라이언트를 효과적으로 통제할 수 있게 하다. 또 서버에 접속했던 모든 클 라이언트에 대한 기록 모두를 쉽게 파악할 수 있다.3 네트워크 부분: 이는 클라이언트와 서버를 유기적으로 연결하기 위한 것으로 매우 중요한 부분이다. 클라이언트와 서버가 아무리 최적 화 되어 있어도 네트워크가 안정적이지 않으면 결코 사용자가 원하는 성능이 제공되지 않기 때문이다.네트워크는 클라이언트가 서버와 통신을 할 수 있게 하며 클라이언트의 요구를 서버로 전달하고 서버의 응답을 클라이 언트로 전달한다. 이때 전달 방법은 사용 프로토콜에 따라 다를 수 있으며 이는 네트워크를 설계할 때 지정할 수 있다.여기에는 다양한 장비들을 사용하여 최적화 할 수 있는데 이는 클라이언트의 수, 서버의 수에 따라 적절히 고려되어야 한다.4. 클라이언트 / 서버 시스템의 특징1 자원의 공유: 서버는 다수의 클라이언트에게 해당 서비스를 제공할 뿐만 아니라 각종 서버의 시스템의 자원을 공유할 수 있도록 해 준다.2 분리된 역할: 클라이언트/서버 시스템에서 클라이언트는 서비스를 요청하는 단위로서 네트워크를 경유하여 하나의 분리된 역할을 지 닌다. 또한 서버는 해당 서비스의 제공자로서의 역할을 갖는다. 따라서 서버는 항상 서비스의 요청을 기다리고 있어야 하 고 클라이언트는 서버에게 서비스를 요청하기 위한 연결 요청을 해야 한다.3 하드웨어의 투명성: 클라이언트와 서버는 하드웨어에 종속되어서는 안 된다. 즉, 클라이언트와 서버는 어떤 OS나 하드웨어를 사용하든 서버 는 클라이언트에게 동일한 서비스를 제공해야 한다.4 유연성: 클라이언트/서버 시스템은 클라이언트의 수를 늘이거나 서버를 늘리는 등 그 규모를 늘이거나 줄이더라도 전체적인 시 스템의 운영에는 아무런 영향이 없어야 한다.5. 클라이언트 / 서버 시스템의 모델1 2단계 클라이언트 / 서버 모델1 원격 데이터베이스 접근 모델: 원격 데이터 베이스 접근 모델은 원격지의 컴퓨터에 위치한 데이터베이스 서버에 SQL 질의 등의 데이터베이스 질의 어를 통해 수가 쉽다는 장점을 가진다. 그러나 이 모델 역시 클라이언트가 요청한 서비스에 대한 결과를 모두 클라이언트로 가져와야 하는 데이터의 대량 이동이란 문제를 해결하지는 못한다. 따라서 대규모의 클라이 언트를 보유하는 곳에서는 역시 네트워크의 성능 저하를 피할 수는 없다.2 3단계 클라이언트/서버 모델1 다단계 클라이언트/서버 모델: 이 모델은 서버와 클라이언트를 완전히 분리한 모델로 그 대신에 클라이언트와 서버의 사이에 미들웨어라는 소프트웨 어를 사용하여 확장성과 유연성을 극대화하였다. 즉, 서버에 위치한 데이터베이스가 무엇인지 클라이언트는 고려할 필요 가 없고 또 서버에 많은 부하가 생기면 이를 적절히 분산시키는 기능을 지원할 수 있다. 이를 로드 발랜싱(Load Balancing)이라고 한다. 그러나 상대적으로 비용이 많이 소요되며 기술적 구현이 어렵다는 단점이 있다.6. 클라이언트/서버 구축을 위한 방법 분류1 다운사이징(Downsizing): 다운사이징이란 메인 프레임에서 실행되는 에플리케이션을 클라이언트/서버 시스템으로 옮기는 작업을 말한다. 이는 최 종 사용자에게 보다 나은 사용자 인터페이스를 제공하고 시스템 업그레이드 비용이나 유지 보수비용을 절감하기 위해 진 행된다. 이는 클라이언트/서버 시스템이 보다 융통성 있는 에플리케이션 개발 환경을 제공하고 메인 프레임에 버금가는 데 이터 처리 무결성과 데이터 및 사용자 보안을 유지한다는 데 그 이유가 있다.만약 현재의 메인 프레임에서의 작업이 더 이상 수정 없이 사용 가능하다면 이는 고려할 필요가 없지만 메인 프레임을 유지 보수해야 하거나 업그레이드가 필요하다면 다운사이징은 충분히 고려해 볼만한 가치가 있다. 메인 프레임을 유지 보 수하는 비용이면 충분히 클라이언트/서버 시스템을 구축할 수 있기 때문이다.만약 사용자의 작업이 빈번한 변경을 요구한다면 그것 또한 클라이언트/서버 시스템을 고려할 이유가 된다. 메인 프레 임은 새로운 애플리케이션을 개발하는 데 많은 시간이 소요되는데 비해 클라이언트/서버 시스템은중앙 집중식 시스템의 보안 기능 을 제공한다. 업무 활동의 확대는 자연히 데이터나 리소스의 보안을 필요로 하게 되고 이때 여기서 클라이언트/서버 시스 템은 적절한 해결책이 된다.3 라이트사이징(Rightsizing): 라이트사이징이란 클라이언트/서버 시스템에서 새로운 에플리케이션을 새로 개발하는 것을 말한다. 라이트사이징의 목적 은 에플리케이션에 적합한 시스템을 선정하는 것이다.가장 먼저 서비스를 요청할 사용자의 수를 결정한다. 다음으로 시스템의 범위를 확정하여 서버의 크기나 규모 등을 선 정한다. 예를 들어 모든 사용자가 통신을 한다고 가정하면 사용자의 요구에 맞추어 모뎀을 구입해야 한다. 하지만 사용자 에게 모두 모뎀을 구입해 주는 것보다 커뮤니케이션 서버를 설치하는 것이 경제적일 것이다. 사용자의 수가 많아 모뎀 구 입 비용이 커뮤니케이션 서버를 구축하는 비용의 약 70% 이상이면 확실히 경제적이라 할 수 있다. 클라이언트/서버 방식 인 커뮤니케이션 서버는 확장성이 뛰어나고 개인이 소유하는 모뎀보다 범용성 및 미래성이 뛰어나기 때문이다.일반적으로 데이터베이스 에플리케이션을 결정하는 요소는 실제 데이터베이스의 크기와 사용자의 요구가 얼마나 빈번한 가에 달려 있다. 사용자가 많은 서비스를 요청하고 데이터베이스 크기도 일정 크기 이상이라면 클라이언트/서버 시스템이 적당하다.{7. 필요한 하드웨어와 소프트웨어1 필요한 하드웨어1 서버용 마이크로컴퓨터: 서버용 마이크로컴퓨터는 모든 사용자에게 자원을 배분해야 하는 만큼 충분한 자원을 보유하고 있어야 하며 충분한 메모리와 저장 장치는 물론이고 속도 또한 충분히 빨라야 한다. 사용자의 수에 따라 모든 것이 결정되겠지만 서버의 용 도 또한 중요한 변수이다. 단순한 파일서버와 데이터베이스 서버는 그 사양이 많이 다르기 때문이다.네트워크 오퍼레이팅 시스템에 따라서도 메모리의 크기가 다를 수 있는데 종류에 따라 한 사용자가 필요로 하는 메 모리의 양이 다르기 때문이다. 메모리나 저장 장치의 용량 모두 클수록 좋다. 비록 자원