달력

11

« 2024/11 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2008. 11. 20. 08:59

8-4. NAT 고급기능 Windows Networking2008. 11. 20. 08:59

 

위에서는 개인네트워크의 클라이언트들이 인터넷을 사용하기 위한 기본적인 기능을 설명했다. 추가로 NAT 가지는 몇가지 유용한 기능에 대해서도 설명한다.

 

8-4-1. DHCP서비스

 

개인네트워크의 클라이언트들은 NAT서버의 개인네트워크 인터페이스와 같은 네트워크ID IP Address 할당되어야 한다. 이러한 작업을 수동으로 해도 되겠지만 만일 많은 수의 NAT클라이언트들을 관리해야 한다면 DHCP서비스를 고려할 있을 것이다. 별도의 DHCP서버를 두지 않고 NAT서버에서 DHCP서버 역할을 제공할 있다. 라우팅 원격 액세스 서비스 관리콘솔에서 왼쪽패널의 NAT 클릭하고 등록정보로 접근하면 <그림8-25> 메뉴를 있다.


"
주소할당"탭에서 'DHCP 사용하여 IP주소 자동 할당'옵션을 체크하면 DHCP서비스를 제공할 있다. IP주소 항목에는 NAT서버의 개인 네트워크 인터페이스에 해당하는 네트워크 ID 적어준다. 예를 들어서 NAT서버의 개인네트워크 IP 192.168.200.1이라면 IP 주소항목에는 192.168.200.0 된다.


 <그림8-23. NAT 등록정보 - DHCP구성 >

 

위와 같이 구성하면 클라이언트는 IP주소와 서브넷마스크를 NAT에서 설정한 대로 할당받게 되고, NAT 개인네트워크 인터페이스에 할당된 IP주소를 클라이언트의 기본 게이트웨이로 사용하도록 구성된다.  TCP/IP환경에서 클라이언트가 인터넷을 쓰기 위해서는 추가로 구성되어야 항목이 있다. 바로 DNS서버의 IP 가져야 하는데 이것까지도 NAT서버를 통해서 받게 하고 싶다면 추가로 "이름확인"탭까지 구성을 주면 된다.


 <그림8-24. NAT 등록정보 - 이름확인 구성 >

 

<그림8-24>에서 '이름확인'탭에서 '클라이언트가 DNS 사용'이라는 옵션을 체크하였다. 이렇게 하면 NAT 클라이언트는 IP주소, 서브넷마스크, 기본게이트웨이 뿐만 아니라 DNS IP까지도 할당받을 있게 된다

 

NAT서버의 이러한 설정을 클라이언트가 사용하고 싶다면 클라이언트의 시스템에서는 TCP/IP설정을 DHCP클라이언트로 변경해야 한다. <그림8-25>에서는 클라이언트의 TCP/IP설정을 '자동으로 IP받기' 선택함으로써 DHCP클라이언트로서 셋팅한 것을 보여준다.


<그림8-25. TCP/IP설정을 DHCP클라이언트로 구성>

 

8-4-2. 외부 네트워크에서의 개인네트워크 액세스 허용

 

ICS, NAT 제공하는 다른 측면이라면 그것은 정반대의 기능도 제공한다는 것이다. 개인네트워크의 클라이언트들이 외부 인터넷으로 접근하도록 지원하지만 다른 측면은 인터넷상의 클라이언트들이 개인네트워크의 서버로 연결할 있도록 지원하는 것도 역시 ICS, NAT등의 기능이다.


< 그림8-26. 개인네트워크에 웹서버 배치하기 >

 

<그림8-26> 예제에서 보여지듯이 인터넷에서 접근하는 사용자에게 웹서비스를 제공하고자 하는데, 만일 웹서버를 공용네트워크에 두는 것이 아니라 개인네트워크에 배치하고 싶다면 어떻게 할까? 당연히 웹서버는 개인네트워크 IP Address 가지게 것이고, 외부에서 IP Address 접근을 시도하더라도 웹서버까지 요청은 도달될 없다. InterNIC에서는 개인 네트워크 IP주소를 위해 특별히 네트워크 ID 예약해 두었고, IP 인터넷에서는 통용되지 않는 개인네트워크를 위해서 사용이 되고 있다. 192.168.x.x 네트워크 ID 역시 개인 네트워크 용도로 할당된 ID이다. 이것을 목적지로 패킷은 갈곳이 없다.

  

방법은 있다. NAT서버에서 약간의 설정을 통하여 내부의 서버가 공용네트워크에 서비스를 제공할 있게 있다. 2가지 방법이 제공되는데 각각의 기능은 차이점을 보이게 된다.

먼저, 특수포트 매핑 방법이 있다.

 

NAT서버의 공인IP 211.232.71.131라고 가정해 보자. DNS서버의 www레코드는 211.232.71.131 가리키고 있어야 한다. 외부에서 보기에는 NAT서버가 회사의 웹서버가 되는 것이다. 클라이언트의 http요청은 NAT서버에게 날아올 것이다. 이때 NAT서버에서는 요청을 자신이 처리하는 것이 아니라 개인 네트워크로 요청을 포워딩 주면 된다.

 

아래와 같이 구성한다.


 <그림8-27. NAT 인터페이스 등록정보 >


라우팅 원격 액세스관리콘솔에서 NAT프로토콜을 선택하고, Public 인터페이스를 선택한 다음 등록정보를 연다.

 


 <그림8-28. 특수포트 매핑 1>


'
서비스 포트'탭을 클릭하면 이미 몇가지 주요한 네트워크 서비스 템플릿이 구성되어 있다. 웹서버를 구성하고자 하기 때문에 서버(HTTP)’ 선택하고 [편집] 눌렀다.

 


 <그림8-29. 특수포트 매핑 2>


<
그림8-29> 서비스 편집 화면에서 211.232.71.131  HTTP요청이 왔을 포워딩하여 내부네트워크에서 웹서비스를 제공할 서버의 IP 주소를 입력해야 한다. 예제 화면에서는 192.168.200.15 입력했다.

 

 

다른 방법은 Address Pool (주소풀) 이용하는 방법이다. 이것은 공인 IP 추가로 필요하다. 하나의 IP 가지고 있을 경우에는 구현할 없는 방법이다. NAT서버에게 여러개의 공인 IP주소를 할당해 두고 공인 IP 내부의 사설IP 예약해 두겠다는 것인데, 이렇게 하면 NAT서버에게 할당해 공인 IP에게 요청이 들어오면 내부의 예약된 개인IP 가진 컴퓨터들에게 요청을 포워딩 수가 있게 된다.

 


 <그림8-30. NAT 인터페이스 등록정보 - 주소풀 추가 >



NAT
Public인터페이스의 등록정보에서 '주소풀' 선택하면 아래의 <그림8-23> 수가 있다. 먼저 [추가]버튼을 클릭하여 NAT서버가 추가로 가지고 있게 IP주소를 입력한다. 예제에서는 192.168.0.201 부터 192.168.0.253까지의 IP 추가했다.

 


 <그림8-31. NAT 인터페이스 등록정보 주소예약>

다음에 [예약]버튼을 클릭하여 위에서 할당한 공인 IP 개인네트워크 내부의 시스템의 개인 IP 매핑시킨다. 예제에서는 192.168.0.251 192.168.200.15 매핑시켰다. 다음에 ' 주소로 들어오는 세션 허용' 항목을 체크하고 [확인] 눌러 마친다.

이렇게 하면 NAT서버는 192.168.0.251 목적지로 하는 모든 패킷들을 개인 네트워크의 192.168.200.15 서버에게 포워딩하게 된다. 결과적으로는 인터넷상의 사용자가 개인네트워크 내의 컴퓨터에게 접속할 있게 구성이 것이다.

DNS서버의 www 레코드는 이상 NAT서버의 공용IP Address 가리키고 있어서는 안된다. <그림8-31>에서 예약한 192.168.0.251 가리키고 있어야 것이다.

  

8-4-3. NAT 지원하지 못하는 것들

 

NAT서버는 단점이 있다. 클라이언트의 숫자가 늘어날수록 성능면에서 상당한 저하를 가져올 밖에 없다는 것이다. 보통 20명에서 최대 30여명 정도의 클라이언트가 있는 환경에서는 그런대로 쓸만 하지만 보다 많은 사용자를 지원해야 한다면 NAT 권장할만한 솔루션은 아니다.

 

또한 NAT서버가 개인네트워크와 공용네트워크간의 연결성을 훌륭하게 수행하긴 하지만 아쉽게도 모든 프로토콜이 허용되는 것은 아니다. 일반적으로 사용하는 http, ftp, smtp, pop3등은 동작하지만 Kerberos, IPSec, DCOM, LDAP등의 프로토콜을 NAT에서 지원이 되지 않는다. 개인네트워크의 NAT 클라이언트가 NAT서버를 이용해서 외부의 서버와 통신을 , 만일 이러한 NAT에서 지원되지 않는 프로토콜이 필요하다면 때는 NAT서버를 사용할 수는 없다. 예를 들면, 도메인 환경에서 클라이언트가 로그온을 한다든가, Active Directory 쿼리를 한다든가, L2TP 이용한 VPN 구현한다든가 하는 경우가 있다.

 

또한 NAT 개인네트워크에 여러 개의 서브넷을 지원하지 못한다. 공용인터페이스 하나, 개인 인터페이스 하나, 이걸로 끝이다. 여러 개의 서브넷을 만들고 각각 서로 다른 수준의 보안설정을 하는 작업을 지원하지 않는다는 것이다.

 

또한 NAT 사용자 인증을 지원하지 않는다. 물리적으로 개인 네트워크에 있는 클라이언트가 NAT서버의 IP Address 알고 있다면 누구라도 NAT 이용해서 인터넷에 액세스하는 것이 가능하다.

 

프로토콜 필터링 또한 지원하지 않는다. 물론 이것은 라우팅 원격액세스의 필터링 기능과 연동하여 사용하면 가능하긴 하지만 NAT자체적으로 필터링을 지원하는 것은 아니다. 이를 테면 관리자들은 FTP 사용하게 하고, 영업부 직원들은 http 사용하지 못하게 하는 등의 사용자별 프로토콜별 필터링을 통한 통제가 되지 않는다는 것이다.

 

.. 적고 보니 되는 기능이 너무 많은 하다. 하지만 소규모의 기업네트워크 환경이라면 위의 단점으로 지적한 기능들이 현실적으로 문제가 되지는 않는다.

 

그렇다면 이런 경우에는 해결책이 없는가? 물론 있다. MS 솔루션으로는 ISA (Internet Security & Acceleration) Server 있다. 현재 ISA Server 2004 출시되어 있다.

  

ISA Server 제품이름에서 있듯이 단순히 개인네트워크와 공용네트워크와의 연결성 뿐만이 아니라 웹캐싱 기능을 통해서 보다 빠른 인터넷 액세스를 제공하고, 사용자관리를 통한 인터넷 액세스 제한, 특정 사이트 접근 제한 등의 부가적인 기능을 가지고 있으며 이전버전에 비해 향상된 파이어월의 기능을 제공하여 Microsoft 야심작인 닷넷플랫폼에 있어서 보안을 담당하는 중요한 인프라의 관문역할을 담당하고 있다. 마이크로소프트 웹사이트 ( http://www.microsoft.com/korea/isaserver/ ) 참고한다.


:
Posted by 새벽예찬
2008. 11. 20. 08:53

8-3. Network Address Translation (NAT) Windows Networking2008. 11. 20. 08:53

 

개인네트워크와 공용네트워크 사이의 인터페이스 역할로 번째로 고려할 있는 서비스로는 NAT 있다. 이것은 Windows 2000 Server이상에서 지원되는 기능이다. ICS 비해서는 OS 서버여야 한다는 제약이 있지만 그만큼 추가기능들을 지원하므로 작은 규모의 회사환경에서 ICS보다는 권장할 만한 기능이다.

 

예제의 상황은 동일하다. 다만 개인네트워크와 공인 네트워크를 연결하는 방법으로 ICS 아니라 NAT라는 서비스를 이용하는 것이라는 차이만 있다.

 


 <그림8-8. ipconfig 결과 >

<그림8-8>에서는 NAT서비스를 구현하고자 하는 서버에서 ipconfig 입력한 결과를 보여준다

 

NAT ICS 비교해서 설치하는 방법부터가 다르다. '관리도구à라우팅 원격액세스' 이용해서 관리한다.

 

 

 

 

 예제의 화면은 Windows Server 2003에서 작업한 화면을 캡처한 것이다.


 <그림8-9. 라우팅 원격 액세스 1 >

관리도구à라우팅 원격액세스 실행했다. Blueapple이라는 이름의 서버가 있고, 상태를 보면 서비스가 시작되지 않았음을 보여준다. 마우스 오른쪽 버튼을 클릭하여 '라우팅 원격 액세스 사용 구성' 클릭하여 마법사를 실행한다.


<그림8-10. 라우팅 원격 액세스 2 >

서비스 정보를 보여주는 화면이 나온다. [다음] 눌러 진행한다.

 


<그림8-11. 라우팅 원격 액세스 3 >

'구성'메뉴가 나온다. 5개의 구성을 있는데 이들이 바로 Windows Server 2003 라우팅 원격 액세스 서비스 (RRAS)로써 구현할 있는 서비스들이다. 마지막 옵션인 '사용자 지정 구성' 선택했다.


<그림8-12. 라우팅 원격 액세스 4 >

<그림8-12> 사용자 지정구성화면이다. ‘NAT 기본 방화벽옵션과 ‘LAN라우팅옵션을 선택하고 [다음]으로 진행한다.

 

<그림8-13. 라우팅 원격 액세스 5 >

요약정보를 확인하고 NAT서비스 추가를 마친다.


<그림8-14. 라우팅 원격 액세스 5 >

[마침] 누르면 <그림8-14>에서 서비스를 시작하겠다는 메시지가 나온다. [] 눌러 서비스를 시작시킨다.

 


<그림8-15. 라우팅 원격 액세스 8 >

<그림8-15>에서 NAT 프로토콜이 추가된 것을 있는데, 여기서 추가작업을 해야 한다. 어떤 네트워크 인터페이스를 NAT용도로 것인지를 결정해 주어야 한다. NAT프로토콜에서 마우스 오른쪽을 클릭하여 ' 인터페이스' 선택한다.

 


<그림8-16. 라우팅 원격 액세스 9 >

private public이라는 2개의 인터페이스를 확인할 있다. 어느것을 먼저 해도 상관은 없다. 먼저 Private 네트워크 쪽을 구성해 보자. Private 선택하고 [확인] 누른다

 

 


<그림8-17. 라우팅 원격 액세스 10 >

[확인]버튼을 누르면 선택한 인터페이스가 '개인 네트워크'인지 '공용 네트워크'인지를 묻는 화면이 나온다.  Private인터페이스는 사내네트워크에 연결된 네트워크 이므로 '개인 인터페이스를 개인 네트워크에 연결'옵션을 선택하고 [확인] 누른다.

 


<그림8-18. 라우팅 원격 액세스 11 >

다음엔 공용 네트워크 인터페이스를 추가해야 한다. 같은 방법으로 Public인터페이스를 선택하고 '공용 인터페이스를 인터넷에 연결'옵션을 선택한 다음 인터페이스에 NAT사용옵션을 선택한다.

 

 


 <그림8-19. 라우팅 원격 액세스 13 >

이제 서버 구성을 마쳤다. NAT프로토콜이 추가 되었고, 거기에는 Public Private 이라는 개의 인터페이스가 구성되어 있다. 클라이언트 설정은 ICS에서의 설정과 차이가 없다. 이제 개인 네트워크의 모든 클라이언트들은 NAT서버를 통해서 인터넷으로 접근이 가능해졌다.


<그림8-20. NAT 클라이언트의 IP 구성 >

 

개인네트워크에 있는 클라이언트중 하나의 TCP/IP설정을 살펴보았다. 기본 게이트웨이가 NAT서버의 Private 인터페이스에 할당된 IP임을 있다.

 

NAT 개인네트워크에서 클라이언트의 인터넷으로의 요청을 받아서 통신이 가능하도록 서비스해 준다. 개인네트워크에 100대의 클라이언트가 하나의 NAT서버를 통해서 인터넷을 이용한다면 100대가 동시에 인터넷을 쓰더라도 실제로 인터넷 상에서는 이들 100대의 클라이언트들은 찾아 없다. 인터넷에서 찾을 있는 IP주소는 오로지 하나, NAT서버의 public 인터페이스에 해당하는 IP주소뿐이다. NAT 사설 IP 사용하는 클라이언트의 IP Packet 자신의 공인 IP 변환시켜서 인터넷에 서비스를 대행해 주고 있는 것이다.

 

한가지 의문이 생긴다. 개인네트워크에 컴퓨터가 대가 아니라 많은 수의 컴퓨터가 있는데 어떻게 서버는 각각의 시스템들을 구분하고 인터넷으로 요청을 보내고, 응답을 받아서 다시 클라이언트에게 제공할 있는 것일까? 비밀은 바로 NAT "세션 매핑 테이블" 있다.


<그림8-21. NAT 매핑 보기 >

 <그림8-21>에서 public 인터페이스를 마우스 오른쪽 클릭하여 '매핑보기' 클릭한다.


<그림8-22. NAT 세션 매핑 테이블 >

<그림8-22>에서는 NAT 세션 매핑 테이블을 보여준다. 개인 네트워크에서 접근하는 클라이언트의 요청을 받은 다음, 클라이언트의 TCP나 UDP 포트번호와 IP 주소를 기록하고, 이것을 자신의 IP Address로 변환한 다음, 자신이 인터넷에 요청을 보낼 때의 TCP나 UDP포트번호와 매핑을 시킨 테이블을 유지하는 것이다. 이것으로써 인터넷에서의 응답이 돌아왔을 때는 매핑테이블을 살펴보고 이 응답이 어떤 클라이언트의 요청이었는지를 판단하고 다시 개인네트워크로 IP주소를 변환하여 클라이언트에게 응답을 제공하게 된다.


 

:
Posted by 새벽예찬

가장 간단하게 이용할 있는 방법이고, 서버 운영체제 뿐만이 아니라 Windows 2000, Windows XP등에서도 같은 방법으로 손쉽게 구현할 있는 기능이다. 제어판의 '네트워크 전화접속연결' 통해서 접근한다.


<그림8-5. 네트워크 전화접속 연결 >

 

<그림8-5>에서는 2개의 네트워크 어댑터 카드가 설치된 화면을 보여준다. 작업의 편의성을 위하여 인터페이스의 이름을 바꿔준다. 화면에서는 public private 이라고 이름붙여진 카드가 있다. 이렇게 놓으면 서비스를 구성할 구분하기가 편해진다. 권장하는 방식이다. 해당 인터페이스를 클릭하고 [이름바꾸기] 이용하면 된다.

 

개의 인터페이스 중에서 인터넷을 공유하기를 원하는 카드를 선택한다. 당연히 public 인터페이스가 인터넷 연결이 되어 있는 네트워크이므로public 클릭하고 마우스 오른쪽 버튼을 눌러서 속성을 연다.


<그림8-6. 인터넷 연결 공유 설정 >

 

Public 연결의 속성을 열면 고급탭이 보인다. [고급]탭을 클릭하면 <그림8-6> ' 인터넷 연결 공유'라는 항목이 있고, ‘다른 네트워크 사용자가 컴퓨터의 인터넷 연결을 통해 연결할 있도록 허용이라는 옵션이 있다. 옵션을 체크해 주면 인터넷 연결공유를 사용하겠다는 것이다.  옵션을 체크하고  [확인]버튼을 눌렀다.

 

 <그림8-7. 인터넷 연결공유 팝업 메시지 >

 

<그림8-7> 같은 메시지가 팝업된다. 그냥 무시해 버리면 클라이언트는 정상적인 통신이 되지 않는다. 메시지를 확인하자. "사용자 LAN 어댑터가 IP주소 169.254.0.1 사용할 있도록 설정됩니다"라는 문구를 담고 있다. 한글 Windows Server 버그이다. 169.254.0.1 아닌 192.168.0.1 잘못 옮긴 것으로 보인다. "개인네트워크에 해당하는 LAN 어댑터가 IP주소 192.168.0.1 사용할 있도록 설정됩니다" 이해하면 되겠다. 개인 네트워크 인터페이스인 "private" 어떤 IP Address 설정되어 있었더라도 '인터넷 연결 공유' 활성화 시키면 자동적으로 'private' 네트워크 카드의 TCP/IP 설정은 192.168.0.1 바뀌게 된다.

 

이것으로 ICS 서버측의 설정은 끝났다. 서버측의 IP설정을 정리해보면 아래의 표와 같다.

 

Public Interface

IP Address : w.x.y.z  (공인 IP Address)

subnetmask : 255.255.255.0  (C class IP 경우)

default Gateway : w.x.y.z  (인터넷으로 가기위해 경유해야 하는 라우터에 해당)

DNS Server : w.x.y.z  (공인 IP Address 가진 실제 DNS서버)

 

Private Interface

IP Address : 192.168.0.1

subnetmask : 255.255.255.0

default Gateway : (Blank)

DNS Server : (Blank)

 

다음엔 클라이언트 설정을 구성해야 한다. 클라이언트의 TCP/IP설정은 당연히 ICS서버의 private 인터페이스에 할당된 것과 동일한 네트워크 ID 구성이 되어야 하며 IP Address 개인네트워크 내에서 유일해야 한다. default gateway ICS서버의 Private 인터페이스에 할당된 IP Address 사용해야 한다. DNS 실제로 사용가능한 DNS서버를 입력해 주면 된다. 클라이언트의 IP설정을 정리해 보면 아래의 표와 같다.


Local Area Network

IP Address : 192.168.0.2~ 254

subnetmask : 255.255.255.0

default Gateway : 192.168.0.1

DNS Server : 192.168.0.1 ( ICS서버가 DNS서비스는 하지 않고 있다면 다른 DNS사용가능)

 

클라이언트를 설정하는 훨씬 간단한 방법이 있다. ICS서비스를 Windows Server 2003, 2000등에서 구현하면 기본적으로 ICS서버는 DHCP기능을 포함하고 있다. 이것은 네트워크 서비스로 추가되어야 하는 DHCP서비스와는 구별된다. ICS서비스를 구현하고 클라이언트의 TCP/IP등록정보에서 DHCP클라이언트로 설정했다면 클라이언트는 자동적으로 ICS 통해서 인터넷에 접근할 있도록 구성된다.

 

이상으로 ICS(Internet Connection Sharing)서버 클라이언트 구성을 마쳤다.

:
Posted by 새벽예찬
2008. 11. 18. 09:01

[Note] 사설 네트워크? 공용 네트워크? Extra Articles2008. 11. 18. 09:01

 

사설 네트워크 ? 공용 네트워크 ? (Private Network vs. Public Network)

주변에서 많이들 듣는 용어일 것이다. 뚜렷하게 이들 용어를 구분짓기는 어려운 일일지도 모른다. 하지만 각각의 어떠한 상황에서, 어떠한 구조에서 쓰이는 용어인지는 알아두어야 한다. 당신이 운영하는 네트워크가 어떠한 모습인지도 모르고 있다면, 그리고 현재 구현하고자 하는 것이 어떠한 네트워크 환경인지를 모른다면 안될 말이다.

 

이들 용어는 다분히 주관적이기도 하고, 조금은 혼돈되어 사용되기도 한다. 필자가 생각하는 이들 네트워크의 분류에 대해서 설명하고자 한다. 사설네트워크와 공용네트워크를 2가지 분류로 구분해 있다.

 

<그림8-1. 개인네트워크와 공용네트워크의 첫번째 분류>

 

먼저 첫번째 분류는 회사와 회사간의 연결하는 방법을 놓고 사설 네트워크와 공용네트워크로 나눠볼 있다. 서울에 본사가 있고, 여수와 부산에 지사를 회사가 있다고 가정하자. 서울에서는 ISP 통해서 인터넷에 접근하도록 구성되어 있다. 서울과 여수, 서울과 부산을 각각 연결하는 방법으로는 2가지를 이용할 있는데, 첫번째 방법은 전용회선을 사용하는 것이다. 서울과 여수간에 전용회선을 사용하도록 네트워크가 구성되었다면 전용회선은 다른 회사와는 무관해진다. 지점간에만 전용으로(Dedicated, Leased) 할당된 회선을 사용하기 때문에 보다 안전하고, 보다 빠르다는 장점이 있다. 하지만 단점이라면 상대적으로 비싼 고정비용을 부담해야 한다는 것이다. 이러한 네트워크를 가리켜서 사설네트워크, 혹은 전용 네트워크라고 부른다.

 

본사와 지사를 연결할 있는 두번째 방법은 인터넷을 사용하는 것이다. 부산에 있는 지사의 환경이 부산에 있는 로컬 ISP 통해서 인터넷으로의 연결이 가능한 상태라면, 인터넷을 통해서 서울의 본사로 연결이 가능하다. 이러한 네트워크는 공용 네트워크라고 부른다.

 

두번째 분류는, 비슷하지만 다른 측면으로의 접근이다.  단순히 생각하면 “TCP/IP기반의 모든 컴퓨터들은 IP Address라는 것으로써 구분을 하게 되는데 이때 네트워크ID 사설 네트워크를 위해 예약된 네트워크 ID[1] 사용하면 사설네트워크이고, 밖의 네트워크ID 사용하면 공용(공인) 네트워크이다.”라고 정리할 수도 있다.

 

이것은 대부분의 경우는 올바른 답이라고 수도 있다. 그렇지만 어떤 컴퓨터가 공용IP주소를 사용하고 있다고 해서 그것이 반드시 공용네트워크에 있는 컴퓨터라고 수는 없다. 보다 명확히 정리할 필요가 있다. 그것은 사용자 입장에서 봤을 자신의 컴퓨터와 인터넷 사이에 있는 중간 매개체 (라우터 ) 역할에 따라서 달라질 있다. , ‘사용자가 인터넷에 접근하기 위해서 거치는 중간 인터페이스에 해당하는 장비에서 어떤 작업을 주는가?’ 이것이 바로 사설(개인) 네트워크와 공용네트워크를 구분지을 있는 기준점이라고 보는 것이다.

 

사용자들은 인터넷에 접근하기 위하여 로컬 라우터를 통과해야 한다. 라우터가 하는 일중 라우팅 사용자로부터 받은 패킷을 목적지 컴퓨터가 있는 곳으로 있는 네트워크로 포워딩하는 일이다. IP패킷의 흐름에 대해서는 책의 1.TCP/IP <그림1-16> 관련된 설명을 참고하라. 거기서 MAC Address 계속 변하지만 원본 컴퓨터가 목적지 컴퓨터를 찾아가지 위해 생성한 IP Packet 목적지, 원본 IP Address 부분은 라우터를 거치는 동안에 변화가 없었음을 알아야 한다.

<그림8-2. 공용 네트워크>

 

<그림8-2> 보면서 설명한다. 예를 들어서 211.234.93.250 IP 클라이언트가 211.232.71.131 사용하는 외부의 웹서버와 통신을 하고자 한다. 클라이언트 컴퓨터는 211.232.71.131 목적지로 하는 IP패킷을 생성하고 전송할 것이다. 이때 기본게이트웨이로 설정된 211.234.93.1 경유하게 되고 결국 211.232.71.131 웹서버까지 패킷은 도달하게 된다. 웹서버는 클라이언트의 요청에 응답을 해야 것인데, 그때 웹서버는 거꾸로 211.234.93.250 목적지로 하는 IP패킷을 생성하여 인터넷을 통해 전달을 하게 된다. 이러한 통신은 이루어진다. 경우 211.234.93.250 IP 클라이언트는 공용 네트워크 있다고 있다.

 

다른 경우를 들여다 보자. 이번에는 클라이언트의 IP Address 192.168.0.2 할당해 보았다.<그림8-3>

<그림8-3. 개인(사설) 네트워크>

 

예제의 그림에서는 192.168.0.2 IP 클라이언트가 211.232.71.131 사용하는 외부의 웹서버와 통신을 하고자 한다. 클라이언트 컴퓨터는 211.232.71.131 목적지로 하는 IP패킷을 생성하고 전송할 것이다. 이때 기본게이트웨이로 설정된 192.168.0.1 경유하게 되고 결국 218.55.9.37 웹서버까지 패킷은 도달하게 된다. 웹서버는 클라이언트의 요청에 응답을 해야 것인데, 그때 웹서버는 거꾸로 192.168.0.2 목적지로 하는 IP패킷을 생성하여 인터넷을 통해 전달을 하려는 시도를 것이다. 웹서버로부터의 응답이 클라이언트에게까지 전달될 있을까?

 

이것은 통신실패라는 결과를 가져온다. 192.168.0.1이라는 호스트가 어디에 있는지를 인터넷에서는 알지 못한다. 다시 말하면 인터넷상의 라우터의 라우팅 테이블에서는 192.168.0.0, 이러한 개인네트워크를 위해 예약된 IP Address들은 라우팅 경로에서 찾아볼 없다. 결국 개인네트워크에 해당하는 IP Address 가지고서는 인터넷의 공용네트워크에 있는 컴퓨터들과의 통신이 이루어지지 않는다는 것을 의미한다.

 

그렇다면 어떻게 해야 할까? 경우 클라이언트가 속한 네트워크에서 외부 인터넷으로의 접근을 위해서는 중간에 NAT(Network Address Translation, 네트워크 주소 변환)작업이 필요하다. 클라이언트는 처음에 송신자(192.168.0.1), 수신자(211.232.71.131) 담은 IP패킷을 생성하지만 인터넷으로 나가기 전에 다시 NAT 외부 인터페이스, 211.234.94.1 IP주소로 주소변환이 된다. 송신자(211.234.94.1), 수신자(211.232.71.131) 형태로 IP주소가 변환되어 웹서버에게 패킷이 전송되는 것이다. 요청을 받은 웹서버는 실제 송신자인 192.168.0.2 패킷을 보내는 것이 아니라, 211.234.94.1 목적지로 하는 IP패킷을 생성하여 응답하기 때문에 인터넷에서 통신이 이루어 진다.

 

경우 192.168.0.2 클라이언트의 존재는 인터넷상에서 감춰지게 된다. 클라이언트가 속한 네트워크에 30대의 컴퓨터가 있다고 가정하고 이들이 동시에 인터넷을 사용하고 있다고 하더라도 인터넷에서는 오직 하나, 211.234.94.1 IP패킷만이 발견될 뿐이다. 이러한 형태로 클라이언트가 인터넷에 접근할 있다면 클라이언트는 개인(사설) 네트워크 있고 회사의 네트워크는 개인(사설) 네트워크로 구성되었다고 말한다.


[1] 사설 네트워크 ID의 범위

  A Class : 10.0.0.1~10.255.255.254

  B Class : 172.16.0.1~172.31.255.254, 169.254.0.1~169.254.255.254

  C Class : 192.168.0.1~192.168.255.254

:
Posted by 새벽예찬
2008. 11. 18. 08:57

8-1. 사설네트워크의 필요성 Windows Networking2008. 11. 18. 08:57

 

회사에서 외부 인터넷과는 격리되는 자신들의 개인 네트워크를 만들게 되면 보안의 수준은 한층 올라갈 있게 된다. 하지만 모든 클라이언트들은 여전히 인터넷에 접근하기를 원한다. 사실 시점에서 하루종일 인터넷에 접근을 하지 못하도록 통제를 한다면 업무의 상당부분은 차질을 빚을 밖에 없을 것이다. 결국 인터넷과 분리된 개인 네트워크의 사용자라고 하더라도 사용자들의 인터넷 접근은 제공해 있어야 한다는 것이다.

 

한가지 측면은 선택이 아니라 필수적으로 제공해야 하는 경우도 있다. 회사의 직원들이 50명인데 공인 IP 10개밖에 할당받지 못했다면 어떻게 할까? , ADSL모뎀이나 케이블모뎀등의 서비스를 이용해서 하나의 공인IP 사용할 있는데 IP Address 하나를 이용해서 내부의 다른 사용자들까지 인터넷을 방법이 없을까? 간단한 경우는 집에서 컴퓨터는 2대인데 하나의 외부라인을 가지고 둘다 인터넷을 쓰고 싶을 때는 어떻게 할까? 이런 상황에서 Windows 2000, 2003에서 제공하는 기능들을 이용하여 효과적인 인터넷 환경을 구현해 있다.


개인 네트워크를 구현하고자 하는 이유는 크게 두가지가 있다. 첫번째는 공용 IP Address 절약하면서 여러대의 컴퓨터들이 동시에 인터넷에 접속하고자 할때이고, 두번째는 네트워크의 보안을 향상시키기 위한 방법으로 개인네트워크를 구성하는 것이다. 네트워크의 안전을 고려한다면 이제 개인네트워크는 IP부족으로 인한 어쩔수 없는 선택이라는 측면보다는, 회사 네트워크와 컴퓨터들의 안전 나아가서는 정보의 보호를 위해서 필수적인 선택이라는 생각으로 개인(사설) 네트워크의 도입을 검토해 보아야 한다.

 

시나리오를 통해서 개인네트워크를 구성해 보도록 하자.

 

<그림8-4. Public Network Private Network >

 

<그림8-4>에서 보는 바와 같이 192.168.0.0 네트워크 ID 사용하는 개인 네트워크가 있고, 개인네트워크에는 1대의 웹서버와 2대의 클라이언트 컴퓨터가 있다. 컴퓨터들을 인터넷에 연결할 있게 하기 위하여 공인IP 하나를 받았고, 하나의 공인IP 통하여 개인네트워크의 모든 컴퓨터들이 인터넷을 사용하기를 원한다. 당신은 Windows Server 2003 설치하고 네트워크 어댑터 카드 2장을 설치했다. 장의 카드에는 공인IP 할당하고, 다른 장의 카드에는 개인네트워크에 연결되기 위한 192.168.0.1 IP Address 할당했다. 이제 기본구성은 되었다. 남은 것은 서버가 개인네트워크에 있는 클라이언트의 요청을 외부 인터넷으로 연결될 있도록 구성해 주면 되는 것이다.


:
Posted by 새벽예찬
2008. 11. 17. 21:57

7-4. 인터넷 인증 서버 (IAS) Windows Networking2008. 11. 17. 21:57

 

RAS서버의 정책은 RAS 서버에 로컬로 저장된다. Active Directory등의 중앙에 집중된 별도의 디렉토리에 저장되는 것이 아니라는 것을 의미한다. 그러므로 RAS서버가 여러대일 경우 RAS서버마다 일관성 있게 정책을 관리하거나 혹은 VPN, 무선랜, 전화접속 등 다양한 형태의 접속서버(혹은 디바이스)들을 위한 정책을 개별적으로 관리하는 것은 관리자에게 오버헤드가 되며, 실수로 인한 보안의 누수를 초래할 수도 있는 위험을 내포하고 있다.

 

이 경우 RADIUS(Remote Authentication Dial-in User Service)프로토콜을 이용한 원격 인증서비스를 이용하여 정책을 집중적으로 관리할 수 있는 방안이 제공된다. 마이크로소프트는 Windows서버에서 IAS(Internet Authentication Service) 를 제공함으로써 RADIUS를 지원하고 있다. 이 경우 IAS서버는 RADIUS 서버로서 동작하고, RAS 서버는 RADIUS클라이언트로 동작한다.

 

IAS서비스를 설치하고 구성하는 방법에 대해서 알아보자. ‘제어판à프로그램추가/제거à’Windows구성요소à네트워킹 서비스에서 인터넷 인증 서비스를 선택함으로써 IAS서비스를 설치할 수 있다.



<
그림7-78. IAS서비스 추가>

 

7-4-1. IAS서버 구성 (RADIUS 서버)

 

IAS서비스를 추가한 후 서버를 구성해 주어야 한다. 서버에서 할 일은 자신을 통해서 인증을 얻을 수 있는 클라이언트(RAS서버, 802.1x를 지원한 무선랜AP)를 추가하고, 해당 클라이언트와 공유할 수 있는 키를 입력해 주어야 한다.

<그림7-79. IAS서버 구성1>


관리도구à인터넷 인증 서비스를 클릭하여 관리콘솔을 열고, 왼쪽 패널에서 ‘RADIUS클라이언트를 마우스 오른쪽 클릭하여 RADIUS클라이언트를 선택한다.


<그림7-80. IAS서버 구성2>



이름 및 주소창에서는 클라이언트를 식별할 수 있는 이름을 입력하고 RADIUS클라이언트의 IP주소나 DNS이름(FQDN)을 입력해야 한다.


<그림7-81. IAS서버 구성3>



추가정보창에서 클라이언트 공급업체에서 RADIUS Standard를 선택한 후 RADIUS클라이언트와 공유할 암호를 입력한다. 암호는 대/소문자,특수문자 등을 조합하여 22자까지 생성할 수 있다. 보안을 위하여 최대한 복잡한 암호를 사용하는 것이 좋다.

 

요청에 메시지 인증자 특성이 포함되어야 함옵션을 체크하면 위의 공유암호를 키로써 RADIUS서버와 클라이언트간의 메시지를 암호화한다. 보안상 좋은 설정이다.


<그림7-82. IAS서버 구성4>



Active Directory
환경에서는 IAS서버를 Active Directory로부터 인증받아야 한다. 인터넷 인증 서비스를 마우스 오른쪽 클릭한 후 ‘Active Directory에 서버 등록을 선택한다.


<그림7-83. IAS서버 구성5>



권한설정을 하겠다는 메시지가 팝업된다. [확인]을 눌러서 다음으로 진행한다.


<그림7-84. IAS서버 구성6>



권한이 추가되었음을 보여준다.

 

7-4-2. IAS클라이언트 구성 (RADIUS 클라이언트)

 

RADIUS는 산업표준 프로토콜이다. RADIUS클라이언트는 마이크로소프트의 RAS서버는 물론, 다양한 디바이스들에서 널리 지원하고 있다. 예제에서는 Windows Server 2003으로 구현된 RAS서버가 RADIUS클라이언트 역할을 할 것이다.

 

<그림7-85. IAS클라이언트 구성1>

관리도구’->’라우팅 및 원격액세스관리콜솔을 열고, 서버이름을 마우스 오른쪽 클릭하여 속성을 선택한다.


<그림7-86. IAS클라이언트 구성2>


서버의 등록정보가 나오면 보안탭을 열고 인증공급자항목을 확인한다. 기본값은 ‘Windows인증이다. RADIUS인증으로 공급자를 바꾼다.


<그림7-87. IAS클라이언트 구성3>



이어서 RADIUS인증을 위해 RADIUS서버를 지정해 주어야 한다. 인증공급자 항목 옆의 [구성]버튼을 클릭한다.


<그림7-88 IAS클라이언트 구성4>


RADIUS
서버를 추가할 수 있는 화면이 나온다. [추가]버튼을 누른다.


<그림7-89. IAS클라이언트 구성5>



RADIUS
서버추가 화면에서 서버 이름 항목에 RADIUS서버의 IPFQDN을 입력한다. 암호 항목에는 RADIUS에서 지정했던 것과 동일한 암호를 입력해 주어야 한다.


<그림7-90. IAS클라이언트 구성6>



RADIUS
서버가 추가된 것을 볼 수 있다. 여러대의 RADIUS서버가 있다면 초기점수에 있는 점수가 낮은 순서대로 사용된다.


<그림7-91. IAS클라이언트 구성7>



같은 방법으로 계정 공급자항목도 RADIUS를 이용하도록 구성할 수 있다. 여기서 계정은 사용자 계정등을 의미하는 계정이 아니라 과금을 위한 계정에 해당한다. 계정 공급자를 RADIUS로 변경하지 않으면 모니터링을 위한 로깅 등은 여전히 RAS서버에서 관리된다.


<그림7-92. IAS클라이언트 구성8>



서비스를 구성하고 나면 원격 액세스 서비스가 재 시작된다.


<그림7-93. IAS클라이언트 구성후 변경된 화면>



RADIUS
클라이언트 구성을 마쳤다. <그림7-85>의 화면과 비교해 보면 원격 액세스 정책원격 액세스 로깅항목이 없어진 것을 알 수 있다. 이제부터 정책 및 로깅은 RADIUS서버역할을 하는 IAS서버에서 관리되는 것이다.

 

RADIUS를 구성한 후 VPN을 통해 해당 RAS서버에 접근해 보았다. <그림7-94>에서는 WINDOWSNETWORK도메인의 wonsuk이라는 사용자가 연결된 것을 보여준다.

<그림7-94. RAS클라이언트 접속화면>

 

IAS서버에서는 로그를 확인할 수 있다. %windir%\system32\LogFiles가 로그파일의 기본위치이다. 서버의 라우팅 및 원격 액세스 관리콘솔의 왼쪽패널에서 원격 액세스 로깅을 클릭하면 오른쪽에서 확인할 수 있다. 기본설정은 로깅을 하지 않도록 되어 있다.

<그림7-95. IAS서버의 접속로그 화면>

 

로그는 텍스트로 저장하거나 SQL데이터베이스로 저장할 수 있다. <그림7-95> Deepsoftware사의 IAS Log Viewer를 통해서 로그파일을 열어본 화면이다. 로깅된 다양한 정보를 확인할 수 있다.


:
Posted by 새벽예찬
2008. 11. 17. 21:37

7-3. RAS 정책의 이해 Windows Networking2008. 11. 17. 21:37

 

 

특정한 사용자들이나 부서단위로 회사의 RAS서버에 접속하도록 허용하거나 제한하는 것 등의 결정은 RAS 정책이 어떻게 만들어져 있는지에 달려있다. 단순하게 RAS를 사용하는 것은 특별한 정책이 필요한 것은 아니지만 이러한 정책이 802.1x무선인증, 디렉토리와 연동한 네트워크 디바이스 등에도 적용가능하여 그 활용도가 증가하고 있기 때문에 정리해 두면 도움이 될 것이다.

 

7-3-1. RAS정책 생성하기

 

간단하게 정책을 생성하는 방법을 예제를 통해 알아 보도록 하자.


<그림7-60. RAS정책 추가하기1>



라우팅 및 원격액세스관리도구를 열면 왼쪽 패널에서 원격 액세스 정책을 찾을 수 있다. 오른쪽 패널에서 기본정책이 2가지 있는 것을 볼 수 있다.


<그림7-61. RAS정책 추가하기2>



새로운 정책을 추가해 보도록 하자. 예제에서는 SalesTeam 그룹에 속한 사용자들에게 VPN접속 권한을 할당하는 정책을 생성한다.

 

왼쪽패널의 원격 액세스 정책을 마우스 오른쪽 클릭하여 새 원격 액세스 정책을 선택한다.<그림7-61>


<그림7-62. RAS정책 추가하기3>



마법사 화면이 나온다.<그림7-62>


<그림7-63. RAS정책 추가하기4>



정책을 설정하는 방법은 2가지이다. 마법사를 이용하는 것과 사용자가 정책을 직접 만드는 방법이 있다. 마법사를 이용하여 만들어보도록 하자. 정책이름 항목에는 나중에 정책을 알아보기 쉽도록 직관적인 이름을 사용하자. ‘SalesTeamRAS정책이라고 입력했다.


<그림7-64. RAS정책 추가하기5>



이 정책에 해당하는 연결을 선택한다.
예제에서는 ‘VPN’을 선택했다.


<그림7-65. RAS정책 추가하기6>



접근을 허용하고자 하는 사용자나 그룹을 선택할 수 있다. <그림7-65> 그룹을 선택한 후 [추가]버튼을 클릭하여 SalesTeams 그룹을 추가했다. [다음]으로 진행한다.


<그림7-66. RAS정책 추가하기7>



인증방법을 결정한다. 기본값은 MS-CHAPv2이다. 클라이언트가 Windows 2000 이상이라면 기본설정을 하고 진행하면 된다. <그림7-66>


<그림7-67. RAS정책 추가하기8>



암호화 수준을 선택하고 [다음]으로 진행한다.


<그림7-68. RAS정책 추가하기9>



새 원격 액세스 정책 마법사가 완료되었다. 요약 내용을 확인한 후 [다음]을 눌러 정책생성을 완료한다.<그림7-68>


<그림7-69. RAS정책 추가하기10>



<
그림7-69>를 보면 ‘SalesTeamRAS정책이 추가된 것이 보인다. 정책이름옆의 숫자에 주목하라. 순서를 나타내는데 최근에 추가한 항목이 기본적으로 맨 위에 올라가 있고, 순서로는 1에 해당한다.

이제 SalesTeams 그룹에 속한 사용자가 위의 RAS서버에 VPN을 통해 접속하면 접속이 허용된다.

 

7-3-2. RAS정책의 이해

 

이러한 RAS 정책이 구체적으로 어떻게 이루어져 있는지 알아보자. 차근차근 이해해서 꼭 알아두도록 하자. 다양하게 사용할 기회가 있을 것이다.



<그림7-70. RAS정책 등록정보>


RAS
정책중의 하나를 더블클릭하여 열어보면 <그림7-70>과 같은 화면을 볼 수 있다. RAS정책은 조건(Condition), 접근권한(Permission), 프로필(Profile)의 세가지 요소로 구성되어 있다. RAS클라이언트가 전화접속이나 VPN접속을 통해서 서버에 접근하면 RAS서버는 정책을 보고 클라이언트의 접근에 대한 판단을 내린다. 맨 처음에 정책의 조건에 사용자가 접근한 상황이 만족하는지를 살펴본다. 조건에 부합하면 이번에는 접근권한을 살펴서 접근이 허용되었는지 거부되었는지를 확인한다. 정책은 접근을 허용하기 위한 것만은 분명히 아니다. ‘특별한 조건에 만족하면 접근거부라는 배타적인 접근권한도 있을 수 있다. 접근이 허용된다면 마지막의 요건인 프로필에서는 추가적인 제한, 연결지속시간 제한 등의 추가설정을 확인한다.

 

예제를 통하여 정책을 이해해 보도록 하자. 예제를 위해 다음의 상황을 가정한다. RAS서버는 다음의 정책1, 정책2 2가지 RAS정책을 가지고 있다. RAS 클라이언트가 접근할 때 RAS서버는 어떻게 판단하는지 설명한다.

순서

정책이름

정책조건(Condition)

접근권한(Permission)

프로필(Profile)

1

정책1

Sales그룹멤버

접근허용

연결허용시간10

2

정책2

오전9~오후6시접근

접근거부

128bit암호화

l  정책1 : Sales그룹에 소속된 멤버가 RAS서버에 접근하면 접근을 허용하는데, 허용시간은 10분으로 제한된다.

l  정책2 : 오전9부터 오후6 사이에 접근하면 접근을 거부한다. (이 경우 프로필의 설정은 의미없는 설정이다)


<그림7-71. RAS정책 적용의 흐름>

 

<그림7-71>에서는 이해를 돕기 위해 정책의 흐름을 도식화하였다. Sales그룹에 속한 RAS클라이언트가 이 RAS서버에 접근했다고 가정하자. 이 때 RAS서버는 2개의 정책중 순서상으로 위에 있는 정책1’을 먼저 판단한다. 그림에서 첫번째 질문은 현재 사용자의 연결이 정책1의 조건에 만족하는가?’이다. 정책1의 조건은 ‘sales그룹의 멤버이다. 조건에 만족하므로 다음의 판단항목인 사용자 계정에 대한 전화접속 권한 설정은 무엇인가?’로 진행한다. 여기서 주의해야 한다. 정책1의 접근권한이 접근허용으로 되어 있다고 해서 무조건 서버에 접근이 허용되는 것이 아니다. 그것은 사용자 개개인의 전화 접속 로그인권한에 달려 있다. <그림7-72>의 사용자 계정에 대한 전화 접속 로그인탭을 보면 원격 액세스 권한항목이 있고, 세가지의 옵션이 있는 것을 확인할 수 있다.


<그림7-72. 사용자 계정의 원격 액세스 권한>

 

이 설정이 어떻게 되어 있는지가 접근권한이 결정되는데 중요한 요소가 된다. <그림7-71>의 흐름을 따라가 보도록 하자. <그림7-72>에서 만일 현재 접근하는 사용자 계정에 대한 원격 액세스 권한이 액세스 거부로 되어 있으면 RAS서버는 사용자의 연결을 거부한다. ‘액세스 허용으로 되어 있으면 RAS서버는 정책1의 권한설정값과는 무관하게 사용자의 연결을 허용한다. 사용자 계정에 대한 원격 액세스 권한이 원격 액세스 정책을 통해 액세스 제어로 되어 있을때만 RAS정책의 접근권한의 설정값이 유효하다는 것이다.

 

여기서 생각해 볼 것이 있다. 사용자 개개인의 계정에 대해서 원격 액세스 권한설정을 한다면 관리적인 측면에서 쉽지 않을 것이다. 누구는 허용하고, 누구는 거부하고.. 사용자가 많아질수록 일관성이 결여되는 정책이 될 수 밖에 없다. 필자가 생각하는 가장 좋은 설정은 원격 액세스 정책을 통해 액세스 제어이다. 사용자 계정에 대한 권한설정은 이대로 두고, RAS정책을 통해서 접근권한을 제어하는 것이 관리의 오버헤드를 줄여주고 관리자 실수에 의해 불필요하게 RAS서버로의 접근을 허용하는 실수를 막을 수 있는 좋은 방법이다.

 

어떻게든 접근허용이라는 결과가 나왔다면 그 다음에 RAS서버는 프로필에 만족하는지를 판단한다. 프로필에 결격사유(?)가 없으면 최종적으로 접근허가라는 판정이 내려지고 클라이언트 접속은 허용된다.

 

만일 현재 접근하고자 하는 클라이언트가 Sales그룹의 멤버가 아니라면 어떻게 될까? RAS서버는 클라이언트가 정책1의 조건에 만족하지 못하고 있음을 알 것이고, 다음의 정책인 정책2의 조건에 만족하는지를 판단한다. 현재 클라이언트가 접속하고 있는 시간이 오전11라면 조건에 만족한다. 그 다음 판단요소인 접근권한검토를 시작한다. 이 클라이언트의 원격 액세스 권한 설정이 <그림7-72>와 같이  원격 액세스 정책을 통해 액세스 제어로 되어있다면 정책2의 접근권한 설정값인 접근거부가 반영되어 클라이언트의 연결은 거절되겠지만 액세스 허용으로 설정되어 있다면 RAS정책에서는 접근거부라고 되어 있지만 사용자는 접근이 허용되고 말 것이다. 정책이 반영되지 않는 의도하지 않은 상황이 발생할 수도 있다는 것이다. 주의를 기울여야 할 부분이다.

 

만일 정책의 순서가 아래와 같이 바뀌어 있다면 어떻게 될 것인지도 검토해 보자.

순서

구분

정책조건(Condition)

접근권한(Permission)

프로필(Profile)

1

정책2

오전9~오후6시접근

접근거부

128bit암호화

2

정책1

Sales그룹멤버

접근허용

연결허용시간10

 

이 경우 오후3시경에 Sales그룹의 멤버가 이 RAS서버에 접근했다면? 결과는 접근거부이다. 앞에서는 정책1이 적용되어 접근이 허용된 반면에 이번에는 정책2가 먼저 적용되어 접근이 거부된 것이다. 이처럼 2가지의 정책이 있을 때 첫 번째 정책에서 접근거부 판단이 내려졌다고 해서 두 번째 정책을 적용받는 것이 아니다. 첫 번째 정책의 조건에 만족되지 않을 때는 두 번째 정책을 판단하게 되지만 일단 조건에 만족되면 더 이상 그 다음 정책으로 넘어가지는 않는다는 것을 알 수 있다.

 


* Active Directory
환경에서 사용자 계정에 대해 원격 액세스 정책을 통한 액세스 제어활성화하기

 

사용자 계정에 대한 원격 액세스 권한을 설정하기 위해 계정의 등록정보를 열어 보면 원격 액세스 권한중 원격 액세스 정책을 통한 액세스 제어옵션이 비활성화 되어 있는 경우가 있다.


<그림7-73. 사용자 계정의 원격 액세스 권한 옵션>


그것은 해당 도메인이 Windows Server 2003 이전버전인 Windows NT4.0, Windows 2000 Server 등의 도메인 컨트롤러와의 호환성을 유지하는 "mixed mode(혼합모드)"로 도메인 기능수준 (Domain Functional Level)설정이 되어 있기 때문이다. Active Directory를 셋업했을 때 기본설정이 '혼합모드'이므로 특별히 설정을 바꾸지 않았다면 '혼합모드'로 되어 있을 것이다. 도메인 기능 수준을 올려주어야 한다. 이 작업을 하기 전에 도메인에는 Windows Server 2003 서버만이 도메인 컨트롤러 역할을 수행하고 있어야 한다.



<그림7-74. 도메인 기능 수준 올리기1>


시작à프로그램à관리도구à’Active Directory사용자 및 컴퓨터를 선택한 후 왼쪽 패널에서 도메인 이름을 마우스 오른쪽 클릭한 후 도메인 기능 수준 올리기를 클릭한다.


<그림7-75. 도메인 기능 수준 올리기2>


사용 가능한 도메인 기능수준 선택에서 ‘Windows Server 2003’을 선택하고 [수준 올리기]를 클릭한다.


<그림7-76. 도메인 기능 수준 올리기3>



<그림7-77. 도메인 기능 수준 올리기4>

 

:
Posted by 새벽예찬
2008. 11. 17. 21:33

7-2. VPN (Virtual Private Network) Windows Networking2008. 11. 17. 21:33

 

7-2-1. VPN의 필요성

 

먼저 한가지 개념을 정리해 보자. 회사와 회사간의 연결하는 방법을 놓고 사설 네트워크와 공용네트워크로 나눠볼 수 있다. <그림7-32>의 예제에서 서울에 본사가 있고, 여수와 부산에 지사가 있고, 재택근무를 하는 클라이언트가 있는 회사가 있다고 가정하자. 서울에서는 ISP를 통해서 인터넷에 접근하도록 구성되어 있다. 서울과 여수, 서울과 부산을 각각 연결하는 방법으로는 2가지를 이용할 수 있는데, 첫번째 방법은 전용회선을 사용하는 것이다. 서울과 여수간에 전용회선을 사용하도록 네트워크가 구성되었다면 이 전용회선은 다른 회사와는 무관해진다. 두 지점간에만 전용으로(Dedicated, Leased) 할당된 회선을 사용하기 때문에 보다 안전하고 빠르다는 장점이 있다. 하지만 단점이라면 상대적으로 비싼 고정비용을 부담해야 한다는 것이다. 이러한 네트워크를 가리켜서 사설네트워크, 혹은 전용 네트워크라고 부른다.



<그림7-32. 개인(전용) 네트워크와 공용네트워크>

 

본사와 지사를 연결할 수 있는 두번째 방법은 인터넷을 사용하는 것이다. 부산에 있는 지사의 환경이 부산에 있는 로컬 ISP를 통해서 인터넷으로의 연결이 가능한 상태라면, 인터넷을 통해서 서울의 본사로 연결이 가능하다. 이러한 네트워크는 공용 네트워크라고 부른다. 또한 재택근무를 하는 클라이언트 역시 인터넷을 사용할 수 있다. 데이콤, KT등의 사업자에게 전화접속을 통해서 인터넷에 접근할 수도 있을 것이고, ADSL, 케이블모뎀 등의 초고속인터넷망을 통해서 인터넷에 접근할 수도 있을 것이다. 클라이언트는 이 연결을 통해서 인터넷을 통한 서울본사와의 연결이 가능하다.


이렇듯 인터넷을 통해서 본지점간, 그리고 클라이언트들까지 회사의 모든 사용자들이 서로간에 데이터를 주고 받을 수 있도록 구성되었는데, 문제는 보안이다. 서울본사와 부산지사 그리고 재택근무 클라이언트들간의 통신은 인터넷을 통해서 이루어지기 때문에 회사의 중요한 데이터가 인터넷의 수 많은 위험요소에 노출된다는 것이다. 이 부분이 해결되지 못한다면 정보보안을 고려하는 회사에서는 부담이 되더라도 전체조직간에 개인네트워크를 구현할 수 밖에 없다.

 

회사의 조직들간에서만 데이터를 들여다 볼 수 있고, 인터넷의 제3자는 들여다 보지 못하게 하기 위한 방법이라면 그것은 암호화기능을 떠 올릴 수 있는데, VPN(Virtual Private Network)은 이름 그대로 가상 개인(사설) 네트워크를 지원한다. 실제로는 인터넷이라는 공용네트워크를 사용하고 있지만 이 공용네트워크에 가상의 사설 네트워크를 가지는것과 같은 네트워크 환경을 제공하겠다는 것이다. 그것은 바로 VPN연결을 통해 암호화된 터널을 제공함으로써 가능해진다.

 

<그림7-33>에서 보면 서울본사와 부산지사간에는 VPN디바이스들이 배치되어 있어서 이들 네트워크간의 트래픽을 VPN터널을 통해서 전송할 수 있도록 지원한다. 재택근무 클라이언트는 별도의 VPN디바이스를 가진 것이 아니라 다만 VPN클라이언트 소프트웨어를 통해서 VPN서버에 접속함으로써 인터넷에서 안전한 트래픽을 사용할 수 있도록 지원하고 있다.

 

실제로 많은 기업들이 도입하고 있고 구현이 되고 있는 방법들이다.


<그림7-33. VPN 의 구성 >

 

마이크로소프트는 Windows운영체제에서 VPN서버, 클라이언트 기능을 소프트웨어적으로 지원하고 있다. 이것은 VPN전용 하드웨어 장비들과도 호환성이 유지되는 만큼, 응용을 해 볼 만한 기능이다. Windows Server 2003 Windows XP Professional을 이용해서 VPN서버와 클라이언트를 구현해 보도록 하자.

 

7-2-2. VPN서버, VPN클라이언트 구현

 

이미 우리는 VPN서버 구축에 대해서는 다루었다. 언제? 앞에서 전화접속서버를 구현하였다면 이미 VPN서버 구축도 완료되었다. 기본적으로 전화접속서버는 PPTP, L2TP 각각 5개씩의 포트를 활성화시켜서 클라이언트의 VPN접속을 허용하고 있다. VPN서버 전용으로 구현하고자 했다면 앞의 <그림7-4> 라우팅 및 원격액세스 서버 설치 마법사를 수행할 때 일반구성화면에서 가상 사설망 액세스 및 NAT’를 선택하여 진행하면 된다. 그것은 전화접속 서버를 구성하는 것과 동일한 과정이지만 과정을 마치면 PPTP, L2TP 각각 128개씩의 VPN포트를 구성하게 된다.

 

VPN클라이언트 구성을 해보도록 하자. 예제의 환경은 Windows XP Professional에서 클라이언트를 구성한 화면이다.

 

<그림7-34. VPN 클라이언트 구성 1>

제어판à'네트워크 연결을 클릭했다. 바탕화면의 네트워크환경의 등록정보를 통해서 접근할 수도 있다. 새 연결 마법사를 실행한다.


<그림7-35. VPN 클라이언트 구성 2>



새 연결 마법사가 시작되었다.


<그림7-36. VPN 클라이언트 구성 3>



네트워크 연결형식 선택화면에서 회사 네트워크에 연결을 선택하고 [다음]으로 진행한다.


<그림7-37. VPN 클라이언트 구성 4>



이번에는 전화접속이 아니라 VPN접속을 하고자 하는 것이니 가상 사설망 연결을 선택하고 [다음]으로 진행한다.


<그림7-38. VPN 클라이언트 구성 5>



연결의 이름을 지정해 준다. 여러 개의 연결이 있을 때 구분할 수 있는 이름을 사용한다
.


<그림7-39. VPN 클라이언트 구성 6>


현재 생성하고 있는 연결을 사용하기 전에 미리 필요한 연결이 있으면 지정한다. 예를 들어서 현재 클라이언트가 데이콤에 전화접속을 하고 나서 그 연결을 통해서 회사의 네트워크에 VPN을 이용한 접속을 하고자 하는 상황이라면 초기연결이 데이콤 접속이어야 한다.

 

ADSL, 케이블모뎀, 전용선 등의 연결이 이미 맺어져 있다면 필요없는 설정이다. ‘초기 연결을 사용 안함을 선택했다.


<그림7-40. VPN 클라이언트 구성 7>



VPN
서버의 IP address hostname을 입력해 준다. 예제에서는 VPN서버의 IP Address를 입력하였다. VPN서버가 유동적이라거나 여러대의 VPN서버가 구성되어 있다면 hostname을 입력하는 것이 좋다. 예를 들면 vpn.mscs.co.kr과 같은 형태를 의미한다.

 

<그림7-41. VPN 클라이언트 구성 8>



새 연결 마법사가 완료되었다.


<그림7-42. VPN 클라이언트 구성 9>



[
마침]버튼을 누르면 <그림7-42>의 창이 열린다. 바로 vpn서버에 접속을 해 보자. VPN서버에 미리 만들어둔 wonsuk 계정을 사용하여 접근을 하였다. [속성]메뉴를 이용하여 클라이언트의 설정을 수정할 수도 있다. [연결]을 누르면 VPN서버에 접속할 수 있다.

 

이 과정은 앞에서 전화접속 서버에 연결했던 것과 별 차이가 없다.


한가지 고려할 사항이 있다. VPN클라이언트는 일단 VPN서버에 접속이 되고 나면 자신의 기존 TCP/IP설정의 기본 게이트웨이 경로 대신에 VPN서버로의 연결을 기본 게이트웨이로 설정하게 된다. 그 결과 자신의 로컬 네트워크를 제외한 모든 네트워크 트래픽을 VPN서버를 통해서 시도하게 된다.

 

VPN클라이언트가 VPN서버로 연결을 맺은 것은 특별한 이유가 있어서이다. 예를 들어 재택근무하는 클라이언트가 회사로 중요한 데이터를 전송하고 있다거나, 지사와 본사간에 안전한 데이터 전송을 위함이었는데, 사용자들의 웹서핑과 같은 일상적인 트래픽이 VPN서버로 보내질 필요는 없을 것이다. 이것을 해결하기 위해서는 한가지 설정을 바꿔줘야 한다.


<그림7-43. VPN 클라이언트 구성 10>



네트워크 연결을 열고 VPN접속을 위해서 만든 연결의 등록정보(속성)를 연다.


<그림7-44. VPN 클라이언트 구성 11>


[속성]의 네트워킹 탭의 TCP/IP등록정보를 열고, 고급옵션의 일반탭에서 원격 네트워크에 기본 게이트웨이 사용옵션을 해제한다.

 

이것은 VPN클라이언트가 VPN서버에 접속을 맺고 나서 인터넷 서핑과 같은 일상적인 트래픽은 자신의 네트워크를 사용하고, VPN서버가 있는 네트워크로 가는 트래픽만 VPN을 사용할 수 있도록 해 준다.

 


7-2-3. 네트워크간 VPN터널 구현 (Demand dial VPN Routing)

 


<그림7-45. 본지점간의 VPN터널 구성>

 

시나리오를 하나 생각해 보자. <그림7-45>에서 본사와 지사간의 네트워크는 인터넷을 통한 공용네트워크로 연결되어 있다. 지사에서는 중요한 데이터를 본사의 SQL Server에 업데이트하여야 한다. 인터넷상에서의 도청의 위험에서 벗어나 안전한 데이터 전송을 필요로 한다면 어떠한 솔루션을 제공할 수 있을까? 윈도우 서버에서 제공하는 VPN솔루션으로 해결책을 제시할 수 있다. 인터넷이라는 공용망에 VPN (Virtual Private Network)을 통하여 암호화된 트래픽을 전달할 수 있도록 구성하면 본사와 지사간에는 안전한 통신을 할 수가 있게 된다. 그렇다고 지사의 클라이언트가 본사와만 통신하는 것은 아니다. 사용자들의 인터넷 서핑같은 일반적인 트래픽의 경우는 그냥 통과시키고 본사로 전송되는 트래픽은 VPN을 통해서 전송하고자 한다.

이러한 경우에 Demand-dial 은 최상의 솔루션을 제공할 수 있다. 물론 대용량의 트래픽과 보다 안정적인 VPN솔루션을 원한다면 VPN전용장비를 이용하는 것이 바람직하겠으나 회사에서 추가로 비용을 들이지 않고 이미 존재하는 Windows기반의 파일서버나 기타 서비스를 하는 서버에 추가로 네트워크 어댑터 카드 하나만 추가해서 간단히 구현할 수 있는 방법이기에 가장 저렴하게 원하는 결과를 얻을 수 있다
.

본사에서의 서버 설정과 지사에서의 서버설정을 차근차근 알아보도록 하자. , 지점 공히 Multi-homed (멀티홈드; 네트워크 어댑터 카드를 여러 개 가진 컴퓨터)로 구현된 Windows 서버 시스템을 필요로 한다
.

7-2-3 –1. 본사의 VPN서버 설정


앞에서의 VPN서버 설정과 동일하다. 다만 VPN서버 구성의 마지막 작업으로 2가지 옵션을 체크한다. 먼저 라우팅 및 원격 액세스 관리콘솔의 왼쪽패널에서 서버이름을 마우스 오른쪽 클릭하여 등록정보로 접근한 다음, ‘LAN및 필요시 전화접속라우팅이 선택되어야 한다.



<그림7-46. Demand dial VPN Routing구현 1>

 

포트의 등록정보를 확인하여 장치에서 [구성]을 선택하여 필요시 전화접속 라우팅 연결(인바운드 및 아웃바운드)’가 선택되도록 설정한다.



<그림7-47. Demand dial VPN Routing구현 2>

 

본사의 VPN서버는 간단히 설정을 할 수 있다. 지사의 라우터를 구성하기에 앞서 본사의 서버가 설정이 제대로 되었는지, 지사에서 본사의 VPN라우터로 접근하는데 문제는 없는지 검증해 볼 필요가 있다. 이러한 작업이 번거로워 보이지만, 무턱대고 지사의 VPN서버를 구성했을 때 생길 수 있는 문제를 보다 손쉽게 해결할 수 있을 것이다. 항상 트러블슈팅을 할 때는 문제의 원인을 분석한후 문제의 원인이 될 수 있는 부분을 격리시키든지, 문제의 출발점이 되는 부분을 찾아나가는 것이 제대로 문제해결을 할 수 있는 방법이 된다.

 

앞에서 VPN클라이언트 설정을 하는 방법을 사용하여 본사의 VPN서버에 잘 접속되는지를 확인하고 이상이 없다면 이번에 지사의 RAS서버를 구현해 보자.


7-2-3-2. 지사의 RAS서버 설정

지사의 RAS서버를 구성해 보자. 기본설정은 본사의 VPN서버와 유사하다.


개념은 간단하다. 지사의 RAS서버에서 VPN연결을 하나 만들고, 지사의 클라이언트가 본사로 가야하는 네트워크 트래픽을 발생시킬 때 이 VPN연결을 통해서 본사의 라우터까지 패킷을 전송할 수 있도록 구성하면 될 것이다. 라우팅 및 원격액세스 서비스는 수동 라우팅 테이블을 만들 수 있도록 지원하고 있다.

<그림7-48. Demand dial VPN Routing구현 3>

먼저 라우팅 및 원격액세스 관리콘솔의 왼쪽패널의 서버이름을 확장해서 보면 아래쪽에 '라우팅 인터페이스'를 찾을 수 있다. 마우스 오른쪽 클릭하여 '새 필요시 전화 접속 인터페이스'를 클릭한다.


<그림7-49. Demand dial VPN Routing구현 4>



마법사가 시작된다.


<그림7-50. Demand dial VPN Routing구현 5>



구성을 해 보자. 인터페이스 이름에는 구별하기 쉽도록 '본사VPN서버'라고 입력한 후 [다음]으로 진행한다.<그림7-50>


<그림7-51. Demand dial VPN Routing구현 6>



연결방법은 VPN을 선택했다. ?냐고 물어본다면 맨앞의 시나리오를 참고하라고 얘기해 줄 것이다.<그림7-51>


<그림7-52. Demand dial VPN Routing구현 7>



VPN
에서 사용할 프로토콜을 선택한다. 자동 선택을 이용해도 좋다. 기본적으로 PPTP를 사용한다. IPSec을 통한 보안의 강화를 지원하고자 한다면 L2TP를 선택해야 할 것이다.<그림7-52>


<그림7-53. Demand dial VPN Routing구현 8>



VPN
서버의 호스트이름 또는 IP주소를 입력한다. <그림7-53>


<그림7-54. Demand dial VPN Routing구현 9>



프로토콜 설정을 한다. 예제에서는 IP패킷만 라우트 하도록 구성을 하였다.<그림
7-54>


<그림7-55. Demand dial VPN Routing구현 10>



지사의 라우터에서 본사의 라우터로 연결을 할 때 사용할 계정정보를 입력한다. 물론 이 계정에는 다이얼인 권한이 부여되어 있어야 한다
.


<그림7-56. Demand dial VPN Routing구현 11>



인터페이스 설치가 완료되었다. [마침]을 눌러서 마법사를 마친다
.


<그림7-57. Demand dial VPN Routing구현 12>



관리콘솔의 오른쪽 패널에 '본사VPN서버'가 추가된 것을 볼 수 있다. 연결상태를 확인해 보라. '연결끊김'으로 표시된 것을 확인할 수 있다. 필요할 때 연결이 만들어지는
Demana-dial
연결이다
.


<그림7-58. Demand dial VPN Routing구현 13>



지사에서 본사로 가는 트래픽이 이 인터페이스를 이용하도록 구성을 해야 할 것이다. IP라우팅을 확장하고 '고정경로'를 선택한 수 마우스 오른쪽 클릭하면 '새 고정경로'를 추가할 수 있다
.


<그림7-59. Demand dial VPN Routing구현 14>



인터페이스가 위에서 추가한 '본사VPN서버'가 됨을 상기하라. 대상에는 목적지 네트워크를 입력한다. <그림7-45>에서 지사에서 본사의 SQL서버에 데이터를 업데이트하고자 했다. SQL서버는 192.168.7.11을 사용하고 있고, 192.168.7.0 네트워크에 위치해 있다.

 

 

이제 작업이 완료되었다. 지사에서 본사로 가는 트래픽이 발생하면 이 지사의 VPN라우터는 본사의 VPN서버로 VPN접속을 한 다음 트래픽을 전달해 주게 된다.


:
Posted by 새벽예찬
2008. 11. 17. 21:20

7-1-2. RAS 사용자 보안설정 Windows Networking2008. 11. 17. 21:20

 

7-1-2-1. 원격 액세스 권한

 

RAS 서비스를 하는 서버가 네트워크에서 어떤 역할을 하는지, 어떤 OS로 구성이 되어 있는지에 따라 구성메뉴가 다르다. 만일, 도메인컨트롤러나 도메인의 멤버서버에서 서비스를 한다면 '관리도구àActive Directory 사용자 및 컴퓨터'를 통해서 접근하고, 독립실행형 서버에서 RAS서비스를 구현한다면 '관리도구à컴퓨터관리'도구를 이용한다. 어떤 환경이든지 사용자 계정의 등록정보를 연 다음 '전화 접속 로그인'탭을 열면 아래의 <그림7-16>와 같은 화면을 볼 수 있다. '액세스 허용'으로 구성하면 된다. 이것은 가장 간단하게 사용자에게 권한설정을 하는 방법이지만 실제로는 RAS정책을 통하여 구현하는 것이 바람직하다. 이 장의 후반부에서 RAS정책에 대해 다루도록 한다.



<그림7-16. 전화 접속 로그인 권한 설정 화면 >

 

원격 액세스 권한을 허용하는 것만으로도 사용자는 RAS 서버로부터 인증을 얻을 수 있게 된다. 하지만 추가로 설정할 수 있는 보안옵션들을 기억할 필요가 있다. 경우에 따라서 유용하게 사용할 수 있는 옵션이다.

 

7-1-2-2. 콜백 옵션

 

기본설정은 '콜백안함'으로 되어 있다. 콜백은 2가지 경우에 사용된다. 첫 번째는 전화요금 부담의 주체가 누구인지, 두 번째는 보안이 중요한 경우에 사용될 수 있다. 콜백옵션을 '호출자가 설정'을 셋팅하면 RAS 클라이언트가 서버에 전화를 걸어서 인증을 얻고 나면 서버는 사용자의 화면에 전화받을 위치를 입력할 것을 요구하게 된다. 이때 사용자가 현재 자신의 전화번호를 입력해 주면 서버가 클라이언트에게 전화 되걸기를 해 준다. 당연히 전화를 거는 쪽이 요금 부담을 하므로 클라이언트는 전화비용의 부담이 없이 RAS 서버에 연결해서 회사의 서버에 접속이 가능해 지는 것이다. RAS 클라이언트가 회사의 업무를 위하여 재택근무시 혹은 출장지에서 접속을 하게 되므로 전화비 부담을 회사에서 하는 것이 형평성에 맞을 것이다. 우리나라의 훌륭한 인터넷 인프라를 고려한다면 현실성이 떨어지긴 하지만.

 

콜백옵션을 '항상 콜백'으로 셋팅하는 것은 상황이 조금 다르다. 디렉토리 데이터베이스의 사용자 등록정보에 미리 전화번호를 입력해 두어야 한다. 그리고, RAS 클라이언트가 서버로 전화를 걸었을 때, 연결이 되고 나면 서버는 클라이언트에게 반드시 전화 되걸기를 해야만 연결이 되게 된다. 클라이언트쪽에서 별도로 전화번호를 지정할 수가 없기 때문에 RAS 사용자의 계정, 패스워드, RAS 서버의 전화번호 등이 외부에 유출이 되었다고 할지라도 상대방이 전화번호까지 도용하지 않는 이상 연결을 허용하지 않게 되는 것이다. 이것은 콜백옵션이 주는 보안중에서 가장 강력한 보안기능을 제공한다. 실제 동작하는 과정은 클라이언트쪽에서 연결을 하면서 체크해 보도록 하겠다. 이제 서버 구성은 마쳤고, RAS 서버에 접속할 클라이언트를 구성하도록 한다.

 

7-1-3. 전화접속 클라이언트 구성

 

전화접속 서버에 접속하기 위해서는 클라이언트 역시 설정이 필요하다. Windows 9x 계열이나, Windows NT 4.0의 경우라면 "전화접속 네트워킹"을 통해서 설정하고, Windows 2000, XP등을 사용한다면 "네트워크 연결"을 통해서 설정할 수 있다. 예제의 화면은 Windows XP Professional에서 전화접속 서버로 연결하기 위해 구성하는 화면이다. 당연히 전화접속 서버에 연결하고자 하는 클라이언트는 역시 전화회선이 연결된 아날로그 모뎀이 필요하다.

 


<그림7-17. 네트워크 및 전화 접속 연결 화면 >

제어판à네트워크 연결로 접근했다. ‘새 연결 마법사를 클릭한다.



<그림7-18. 위치정보 입력화면 >



처음 접근할 때 위치정보를 물어보는 화면이 팝업된다. 클라이언트가 있는 위치에 대한 정보를 입력해 준다.

 

이 정보는 나중에 제어판à전화 및 모뎀옵션을 통해서 수정할 수 있다.



<그림7-19. 전화 및 모뎀 옵션 >



전화 및 모뎀 옵션을 설정하고 [확인]을 누른다.



<그림7-20. 네트워크 연결 마법사 시작 >

 



이제 네트워크 연결 마법사가 시작된다.

<그림7-21. 네트워크 연결 형식 선택 화면 >

네트워크 연결 형식에서 '회사 네트워크에 연결'을 선택한다. <그림7-21>

 


<그림7-22. RAS 서버의 전화번호 지정 >



전화접속 연결인지 가상사설망(VPN)연결인지를 선택해야 한다. 예제에서 모뎀을 가진 전화접속 서버에 연결하고자 함으로 '전화 접속 연결'을 선택했다.

 


<그림7-23. RAS 서버의 전화번호 지정 >



연결의 이름을 입력한다. 알기 쉬운 이름을 사용하면 된다. 예제에서는 회사서버라고 입력했다.


<그림7-24. RAS 서버의 전화번호 지정 >



'
전화 걸 번호'창에서 전화접속 서버의 전화번호를 입력한다. 컴퓨터대 컴퓨터가 아니라 사람대 사람의 전화통화를 하는 것이라고 생각하면 쉽다.


<그림7-25. 네트워크 연결 마법사 완료 >



이제 설정을 마쳤다. [마침]을 눌러서 마법사를 마친다.


<그림7-26. RAS 서버로의 전화 접속 연결이 추가된 화면 >



마법사를 완료하고 나면 '네트워크 연결'화면의 전화접속 항목아래에 회사서버라는 새로운 연결이 추가된 것이 보인다. <그림7-26>


자 이제 제대로 접속이 될 것인지 테스트를 해 보자. <그림7-26>에서 회사서버아이콘을 더블클릭했다.


<그림7-27. RAS 서버 연결 테스트 >



사용자 이름과 암호를 입력하고 [전화걸기]를 클릭했다.

 


<그림7-28. RAS 서버에 전화 거는 중 >



해당 전화번호로 전화를 걸고 있다.


<그림7-29. RAS 서버에 전화 거는 중 >


연결이 되었다. 사용자 이름과 암호를 확인하는 인증과정을 거치고 있다. 이 때 해당 사용자가 전화접속서버에 다이얼인권한을 가지고 있지 않다면 권한이 없다는 메시지가 나온다.


<그림7-30. 컴퓨터를 네트워크에 등록하는 과정 >



인증이 되었다. 클라이언트 컴퓨터를 RAS서버가 속해있는 네트워크에 등록하는 과정이 나온다.


<그림7-31. 서버에 연결이 완료된 상태 >



등록이 성공적으로 되었다면 등록이 되었음을 보여주는 메시지가 나오고 작업표시줄에서 '네트워크'아이콘을 볼 수 있다.

 

일단 연결이 맺어지고 나면 클라이언트가 사용하는 컴퓨터가 회사의 네트워크의 로컬LAN에 직접 물려있는 것과 동일하게 생각하면 된다. 상대적으로 속도가 느리다는 것 (그런대로 쓸만 하긴 하지만) 말고는 별 차이가 없다. 회사의 파일서버, 프린트서버에 접근은 물론, 메일서버나 웹서버, 또 회사의 라우터를 이용해서 인터넷에 접근 등 로컬LAN의 다른 컴퓨터들과 동일한 작업을 할 수 있다.
:
Posted by 새벽예찬
2008. 11. 17. 20:59

7-1. 전화접속 서버 (Dial-up Server) Windows Networking2008. 11. 17. 20:59


재택근무를 하는 직원이 회사의 서버에 접속을 원한다면? 출장지에서 근무를 하는 직원이 회사의 파일서버에 접근해서 데이터에 액세스해야 할 필요가 있다면? , IIS 웹서버에 데이터베이스서버로 구성된 SQL Server가 사설네트워크로 구성되어 네트워크를 통해서는 접속을 할 수 없는 상황일 때 서버의 관리를 위해서는? 이러한 경우에 제공될 수 있는 솔루션이 원격 접속 서비스 (RAS)의 전화접속 서버 기능이다.

 

용어가 조금 낯설게 느껴질 수도 있겠지만 쉽게 생각하면 된다. 요즘은 초고속 인터넷이라는 이름으로 KT, 하나로통신 등의 사업자들이 ADSL, Cable 과 같은 인터넷 접속 서비스를 제공하고 있지만 불과 몇 년전만 하더라도 인터넷을 사용하기 위해서는 전화전속(dial-up)을 이용했다. 아날로그 모뎀을 가지고 천리안, 하이텔 등 PC통신회사의 통신서버로 전화를 걸어서 접속을 하고 인증을 얻은 다음 IP Address를 할당받고 PC통신회사의 통신서버 및 인터넷에 접속이 가능해 진다. 이때 통신서버는 사용자들의 전화접속 연결을 처리해 주는 전화 접속 서버역할을 한다.

 

Windows Server 2003RAS가 제공하는 기능중 하나인 전화접속서버도 이것과 동일하다. 사용자들이 외부의 전화접속서버를 이용하는 것이 아니라 회사에서 설치한 전화접속서버로 접속하는 것일 뿐이다. 그렇게 하기 위해서는 먼저 회사의 네트워크에 전화접속서버를 설치해야 한다.

 

7-1-1. 전화접속 서버 구성

 

예제에서는 Windows Server 2003을 통해서 구현하였다.

 


<그림7-1. 장치관리자 화면 >


먼저 RAS서버로 구현하고자 하는 시스템에 전화회선이 연결된 모뎀이 있어야 한다. 모뎀을 추가하고 나면 제대로 동작하는지 "장치관리자"를 통해서 확인한다.<그림7-1>

 



<그림7-2. 라우팅 및 원격액세스 관리콘솔 >



모뎀을 제대로 설치했다면 RAS서비스를 설정해야 한다. '관리도구
à라우팅 및 원격액세스'를 통해서 관리콘솔로 접근한 다음, 서버이름을 더블클릭해 본다. <그림7-2>처럼 빨간색 화살표가 아래로 향해 있는 것이 보인다. 서비스가 멈춰 있다는 뜻이다. 서버 이름을 클릭하고 마우스 오른쪽 단추를 눌러서 '라우팅 및 원격액세스 사용 및 구성을 클릭한다.

 



<그림7-3. 라우팅 및 원격액세스 서버 설치 마법사 >

 



라우팅 및 원격 액세스 서버 설치 마법사가 시작되었다.


<그림7-4. 라우팅 및 원격액세스 서버 설치 마법사 - 일반구성>


일반구성 창에서 "원격 액세스(전화 접속 또는 VPN)"를 클릭하고 [다음]을 누른다. 5가지 메뉴 중 하나를 선택할 수 있다. 각각 용도가 다르며, 지금 설정할 수도 있고 나중에 각각 추가로 구현할 수도 있다.

 

첫번째 항목인 원격 액세스를 선택하였다.

 



<그림7-5. 라우팅 및 원격액세스 서버 설치 마법사 원격액세스 >



VPN
서비스를 할 것인지, 전화접속 서버로 동작할 것인지를 선택한다. <그림7-5>

 



<그림7-6. 라우팅 및 원격액세스 서버 설치 마법사 네트워크 선택>

 



네트워크를 선택하라는 화면이 나온다. 클라이언트가 전화접속을 통해 접근했을 때 내부의 어떠한 네트워크에 연결하도록 허용할 것인지가 결정된다.

 


<그림7-7. 라우팅 및 원격액세스 서버 설치 마법사 - IP주소할당>


TCP/IP
를 사용하기 때문에 당연히 IP Address 구성이 있어야 한다. 방법은 두 가지가 제공된다. DHCP Server를 사용하거나 RAS서버에서 직접 IP 범위를 셋팅할 수 있다. DHCP Server를 사용하겠다고 구성하면 별도의 DHCP 서비스를 구현해야 할 것이다. 예제에서는 직접 이 서버에 IP범위를 구성하도록 한다.<그림7-7>


<그림7-8. 라우팅 및 원격액세스 서버 설치 마법사 - 주소 범위 할당>

 



예제에서 RAS서버의 IP 192.168.0.15이다. 클라이언트를 위해 설정하는 주소범위는 RAS서버의 IP와 같은 네트워크ID를 사용하는 IP Address범위를 지정한다. 예제에서는 192.168.0.56 ~ 192.168.0.60까지 5개의 IP Address를 범위로 지정하였다.

 


<그림7-9. 라우팅 및 원격액세스 서버 설치 마법사 - 다중 원격 액세스 서버관리 >

 


RADIUS
를 사용할 것인가를 묻는 화면이 나온다. 기본설정은 '아니오'이다. RADIUS에 대한 설명은 이 장의 마지막에서 다룬다. 기본설정을 그대로 두고 [다음]으로 진행한다.

 

<그림7-10. 라우팅 및 원격액세스 서버 설치 마법사 - 완료 >

 


'
라우팅 및 원격액세스 서버 설치마법사'완료 화면이 나오면 요약정보를 확인하고 [마침]을 눌러서 마법사를 마친다.

 

<그림7-11. 라우팅 및 원격액세스 서버 설치 마법사 - DHCP Relay Agent 구성 메시지 >

 

DHCP릴레이 관련한 메시지가 팝업된다. <그림7-8>의 경우처럼 RAS서버에서 IP범위를 만들 경우에는 필요없는 옵션이다. 무시해도 좋다. 하지만, DHCP Server로부터 IP Address를 받도록 설정을 했다면 DHCP Relay agent를 구성해 주어야 한다.

<그림7-12. 라우팅 및 원격액세스 서버 설치 마법사 - 일반구성>

라우팅 및 원격 액세스 서비스를 시작하고 있다.



<그림7-13. 서버 등록정보 >

 



설정에 문제가 없었다면 서비스는 시작되고, 서버이름을 확인해 보면 녹색의 화살표가 up되어 있는 것을 확인할 수 있다. 서버이름을 마우스 오른쪽 클릭하여 속성을 선택한다.

 

<그림7-14. RRAS - 포트 등록정보 >

서버의 등록정보를 확인하면 <그림7-14>와 같다. 원격액세스 서버 항목에 체크되어 있는 것을 확인할 수 있다. 이 서버를 추가로 라우터로도 사용하기를 원한다면? 라우터 항목에 체크를 하고 구성을 할 수 있다. 된다. 처음 서비스를 구성할 때는 마법사를 통해서 접근하지만, 이미 서비스가 시작되어 있을 때는 마법사를 이용한 설정은 할 수 없다. 등록정보를 이용해서 추가를 해 주어야 한다.

 

이제 RAS클라이언트가 서버로 전화를 걸면 서버는 전화연결을 받을 수 있도록 구성이 되었다. 여기까지 셋업을 하면 서버구성은 끝났지만, 추가로 생각해 봐야 할 옵션이 있다. 만일 특별한 RAS사용자에 대해서 서버측에서 "콜백(call back)"옵션을 지정했다면 그때는 클라이언트로부터 전화를 받은 서버가 전화를 클라이언트 컴퓨터로 되걸어 주어야 할 필요가 생긴다.

<그림7-15. RRAS - 포트 등록정보 >

그럴 경우를 고려한다면 추가로 <그림7-15>의 옵션을 체크해 주어야 한다. 관리콘솔의 왼쪽 패널의 서버이름 아래에 '포트'를 클릭하고, 등록정보를 연 다음 모뎀의 [구성]을 클릭하면 접근할 수 있다. 기본설정은 '원격 액세스 연결(인 바운드만)'으로 되어 있다. '필요시 전화접속 라우팅 연결(인 바운드 및 아웃바운드)'옵션도 체크를 해 주면 된다.

 

이것으로 RAS서버의 구성은 완료되었다. RAS서버는 구성하였지만 RAS서버에 접근할 사용자가 있어야 할 것이다. 당연하지만, 설정을 빠트리면 어떤 사용자도 RAS서버에 접근을 할 수 없게 된다.

:
Posted by 새벽예찬
2008. 11. 17. 20:48

7장. 원격 액세스 서비스 Windows Networking2008. 11. 17. 20:48

 

윈도우 서버는 전화접속, VPN접속, 인터넷 연결공유, 라우터 등 다양한 기능의 연결서비스를 제공한다. 이번 장에서는 접속서버 기능과 정책, 인증서비스를 살펴보도록 한다. Windows Server 2003을 기준으로 설명하였지만Windows 2000 Server의 서비스와 기능이나 인터페이스 측면에서 큰 차이는 없다.


:
Posted by 새벽예찬
2008. 11. 17. 20:42

6-6. Lmhosts 파일 Windows Networking2008. 11. 17. 20:42

 

WINS서버를 사용하지 않고 라우트된 도메인 환경에서 서로간에 자원공유가 가능하도록 할 수 있을까? RFC 표준만 그대로 지원한다면 방법은 없다. 하지만 마이크로소프트는 추가로 Lmhosts 파일을 통해서 NetBIOS 이름풀이를 지원하고 있다.


<그림6-16. 'Color' 도메인의 예제 >

 

<그림6-16>을 예제로 설명하도록 한다. 회사의 도메인 이름은 Color 이다. 이 회사는 서울과 대전으로 지역이 나뉘어 있고 서울에는 Red 라는 이름의 도메인 컨트롤러가 위치해 있다. 서울과 대전에는 각각 Blue White 라는 파일서버가 있고, 서울과 대전의 클라이언트들은 도메인으로 로그온을 하고 Blue White 2대의 자원을 공유해서 사용하고 있다. 지역별로 구분을 한 예제이지만 서울과 대전이라는 WAN 구간의 경우에 한정된 것은 아니다. 한 지역에서도 라우터로써 네트워크가 나뉘어 있는 상황이라면 <그림6-16>의 예제와 같은 형태로 볼 수 있다. 서울과 대전이라는 지역적인 측면보다는 2개의 서로 다른 네트워크라고 이해하도록 하겠다. WINS서버가 없더라도 같은 네트워크 안에서 클라이언트들은 서버를 찾는데 어려움이 없다. 브로드캐스트라는 차선의 방법이 제공되기 때문이다. 하지만, 문제는 자신과 다른 네트워크 즉 라우터 건너편에 존재하는 서버에게 접근하려면 그때는 문제가 생긴다. 브로드캐스트가 라우터를 넘지 못하므로 서버를 찾을 방법이 없는 것이다.

 

이것을 해결하기 위해서 클라이언트 컴퓨터에서 lmhosts 파일을 이용할 수 있다. lmhosts 파일은 %systemroot%\system32\drivers\etc 폴더에 위치해 있다. (%systemroot% NT기반의 컴퓨터에서는 winnt 폴더를 의미한다.) <그림6-17> 해당폴더에는 몇가지 파일이 더 보인다. 다른 파일들 역시 TCP/IP 환경에서 각각 필요에 따라 사용된다. lmhosts 파일을 자세히 보면 다른 파일과 다른 것을 알 수 있다. hosts, protocol 등의 파일과 비교해서 '종류'를 살펴보면 'SAM 파일'로 되어 있는 것을 알 수 있다. 다른 파일들은 확장자가 없지만 lmhosts 파일은 실제로는 lmhosts.sam 이라는 파일명을 가지고 있다. 윈도우탐색기에서 도구à폴더옵션à보기 메뉴에서 '알려진 파일 형식의 파일 확장명 숨김'옵션을 지워주면 확장자까지를 확인할 수 있다.


<그림6-17. lmhosts 파일 >

 

lmhosts 파일을 사용하기 위해서는 확장자를 지워줘야 한다. <그림6-17>을 보면 예제의 PC에서는 기본적으로 lmhosts 파일을 사용하지 않고 있음을 알 수 있다. 메모장을 사용해서 lmhosts.sam파일을 열어본다. 이 파일은 텍스트 파일이므로 텍스트를 읽을 수 있는 프로그램이면 뭐든 상관없다. 아래의 <그림6-18>은 메모장을 사용해서 열어본 파일을 보여준다.


<그림6-18.
메모장으로 열은 lmhosts 파일 >

 

파일에 대한 설명이 있고, 텍스트의 맨 앞에는 한결같이 '#'이 붙어 있다. 이것은 주석처리됨을 의미한다. 끝까지 읽어봐도 #이 붙어 있음을 알 수 있다. 기본적으로는 아무런 내용이 존재하지 않는 빈 파일과 같다. <그림6-11>의 파란박스부분을 보면 #PRE, #DOM 등의 문자들이 보인다. 여기서의 #은 의미를 가진다. 이러한 것들은 특별한 의미가 있는 '태그(tag)'들이다. 사용법은 파일에 기록된 설명을 참고하겠다. 그렇다면 이 파일을 어떻게 사용할까? 예제를 들어서 작성을 해 보자.

 

<그림6-16>의 예제에서 Green 이라는 컴퓨터의 사용자는 color 도메인으로 로그온 하기 위해서 도메인 컨트롤러인 Red를 찾아야 하고, Blue 라는 서버에 연결하여 자원에 접근도 해야 한다. 이것을 가능하게 하기 위한 방법은 Green 컴퓨터의 lmhosts 파일을 편집함으로써 해결할 수 있다. lmhosts 파일을 열고 <그림6-19>와 같이 기록을 하면 된다.


<그림6-19. lmhosts 파일 편집 >

 

<그림6-19>화면에서는 blue 서버가 192.168.10.200 IP Address를 사용하고 있음을 기록했고, #PRE #DOM 태그를 이용하여 Color 도메인의 도메인 컨트롤러가 Red 이고 Red 192.168.10.2 IP Address를 사용하고 있음을 나타내고 있다. 여기서 #DOM 은 도메인명을 지정해 주는 것이고, #PRE는 시스템 시작과 동시에 PreLoad 시키는 것을 의미한다. #PRE 태그를 이용하면 시스템이 시작될 때 #PRE 태그가 붙어 있는 라인의 내용을 메모리에 로딩을 하게 되고 이것은 시스템을 끌 때까지는 계속 메모리에 올라와 있게 된다. 또는 명령프롬프트에서 'nbtstat -R'을 이용해서 로딩 시킬 수도 있다. Green 컴퓨터에서 nbtstat 유틸리티를 이용해서 잠시 들여다 보자.

< lmhosts 파일 설정 전 >


D:\>net view \\blue  (
net.exe 유틸리티를 이용하여 blue 서버의 공유자원 리스트를 요청하고 있다.)

시스템 오류 53() 생겼다.

 

네트워크 경로를 찾지 못했다. (blue 라는 서버를 찾을 수 없음을 보여준다.)

 

< lmhosts 파일 설정 후 >


D:\>net view \\blue

\\blue의 공유 리소스

 

공유 이름   유형         용도  설명

---------------------------------------------------------------------

Address      Disk                  "Access to address objects"

Down         Disk

HANKOOK.log  Disk                  "Exchange message tracking logs"

NETLOGON     Disk                  Logon server share

SYSVOL       Disk                  Logon server share

명령을 잘 실행했다.

 

D:\>nbtstat -c  (NetBIOS 이름을 성공적으로 해석(resolution)하면 NetBIOS 캐쉬에 일시적으로 저장한다. 기본적으로 10분이라는 시간동안 저장된다. 캐쉬를 보기 위한 스위치 '-c' 를 이용했다.)

Node IpAddress: [192.168.20.112] Scope Id: []

 

                  NetBIOS Remote Cache Name Table

 

        Name           Type           Host Address      Life [sec]

    ------------------------------------------------------------

       BLUE           <20>  UNIQUE   192.168.10.200      595    (blue <20>이 캐쉬에 등록되었다.  캐쉬에서 사라질 때까지의 남은 시간 (TTL) 595초임을 알 수 있다.)

 

D:\>nbtstat -R  (NetBIOS Cache를 모두 삭제하고, lmhosts 파일에서 #PRE 태그가 붙은 레코드를 캐쉬에 로딩시키는 명령이다.)

    Successful purge and preload of the NBT Remote Cache Name Table.

 

D:\>nbtstat -c

NIC:

Node IpAddress: [203.239.61.109] Scope Id: []

 

                  NetBIOS Remote Cache Name Table

 

   Name           Type                     Host Address    Life [sec]

    ------------------------------------------------------------

    RED            <03>  UNIQUE          192.168.10.2        -1

    RED            <00>  UNIQUE          192.168.10.2        -1

    RED            <20>  UNIQUE          192.168.10.2        -1

    COLOR         <1C>  GROUP          192.168.10.2        -1

(다시 캐쉬를 확인하니 BLUE 의 레코드는 삭제되고, #PRE 태그가 붙어있던 레코드가 추가된 것이 보인다. TTL -1 (무한대)임을 확인할 수 있다.)

D:\>

 

Lmhosts파일에 원하는 정보를 입력했다면 파일을 저장한다. 저장할 때 다른 이름으로 저장을 선택하여 lmhosts파일을 큰 따옴표로 묶어서 확장자 없이 저장한다. 그렇지 않으면 lmhosts.txt 파일로 저장되어 이 파일은 동작하지 않는다. Lmhosts.sam 파일에서 확장자만 제거해도 무방하다.


<그림6-20. lmhosts 파일 저장>

 

예제에서 서울에 있는 Black 컴퓨터가 대전의 White를 찾을 수 있도록 하기 위해서는 역시 Black 컴퓨터의 lmhosts 파일에 White 의 정보를 추가해 주어야 한다. WINS 서버를 사용하지 못할 때 해결할 수 있는 차선책이긴 하지만, 어디까지나 차선책일 뿐이다. 사실상 번거롭다. 수많은 클라이언트들을 관리해야 하는 관리자라면 이러한 작업들이 보통 귀찮은 작업이 아니다. lmhosts WINS 서버의 오류시 사용하게 될 백업 측면에서 접근을 하는 것 정도라면 고려해 볼만 하지만, lmhosts 파일보다는 WINS서버의 오류시 그것을 대체하게 될 WINS서버를 추가로 구현하는 방법으로 접근하는 것이 바람직한다고 생각한다. 

 

이러한 WINS서버 역시 장기적으로는 사용되지 않을 서비스이다. 현재 시점에서 만일 회사의 네트워크 환경이 Windows2000이상의 환경으로 완전히 전환되고(이것은 서버뿐이 아니라 클라이언트 시스템까지 Windows 2000, Windows XP등으로 바뀌는 것을 의미한다.) 도메인 환경이 구축되었다면, 더 이상 WINS 설정을 하지 않아도 좋다. 이들은 DNS 쿼리를 통하여 자원에 접근하는 것이 가능하기 때문이다. 또한 컴퓨터들의 TCP/IP설정에서 “TCP/IP에서 NetBIOS 사용안함옵션을 활성화시키는 바람직하다. 이것은 불필요한 네트워크 트래픽을 상당부분 감소시켜 줄 수 있다. 하지만 지금은 분명히 이러한 점에 있어서는 과도기이다. 당분간은 여전히 이전 버전의 클라이언트들을 지원해야 하기 때문에 WINS의 존재는 분명히 필요하다. 제대로 WINS서비스를 잘 구성해 놓는것만으로도 여러분은 네트워크상에서 문제점이 상당히 줄어들었다는 실감할 수 있을 것이다.


:
Posted by 새벽예찬
2008. 11. 17. 20:39

6-5. 최적화된 WINS 서버 구현 방법 Windows Networking2008. 11. 17. 20:39

 

앞에서 WINS서버를 설치하고 클라이언트를 설정하는 방법을 설명하였다. 지극히 쉬운 방법이지만 이렇게 설정해 놓은 WINS서버가 실패했을 경우 즉 서비스가 멈추는 상황이 발생한다면 큰일이 아닐 수 없다. 회사에서 WINS서버의 활용도가 크면 클수록 문제발생시의 불편함은 커지기 마련일 것이다. 네트워크 상에서 서비스가 구현이 될 때 관리자가 반드시 고려해 봐야 할 부분이 이러한 것이다. 서비스를 하던 서버가 멈췄더라도 여전히 클라이언트는 원하는 작업을 계속할 수 있어야 한다는 것이다. 바로 가용성(Availability)을 고려해야 한다는 것을 의미한다. 또 한가지는 회사에 하나의 서버가 있는데 서버가 수용하기 어려울 정도로 많은 사용자가 서비스를 요청한다면? 당연히 결과는 너무나 느린 응답시간 때문에 사용자들의 불만은 커질 것이고 심한 경우는 서버의 다운으로 까지 이어져서 네트워크가 마비되는 결과를 초래할 수도 있을 것이다. 가용성과 더불어 추가로 고려해야 할 사항이 바로 성능(Performance)이다. 이 두가지 사항을 감안하여 기업 네트워크 상에 어떻게 하는 것이 WINS서버를 구현하는 최선의 방법이 될 것인지 알아보도록 하자.

 

아래의 <그림6-11>를 보면서 접근해 보자. 예제그림은 서울에 본사가 있고, 부산에 지사가 있는 회사이다. 서울과 부산간에는 상대적으로 느린 WAN 링크를 이용하고 있고, 두 지역간에는 서로간에 자원을 공유해야 할 필요성이 있다. WINS서버를 구현하고자 하는데 가용성과 성능을 고려해서 최적화된 WINS 서비스를 구현하기를 원한다. WINS서버는 몇대를 두고 어디에 배치를 하고, 클라이언트는 어떻게 설정을 해 줘야 할까?

 


<그림6-11. 최적화된 WINS 구현 >

 

WINS 서비스의 가용성과 성능을 높일 수 있는 방법중 가장 일반적인 것은 서버를 여러대 배치하는 것이다. 하나의 서버가 서비스를 하지 못하더라도 다른 서버가 계속 서비스를 제공할 수 있기 때문이다. 두 대를 배치한다고 가정하면 서울에만 2대의 WINS서버를 두는 것보다는 지역마다 하나씩 두는 것이 바람직할 것이다. 그렇지 않으면 부산에 있는 WINS클라이언트가 자신의 NetBIOS 이름을 등록할 경우, 또는 다른 서버의 NetBIOS 이름해석을 요청할 때마다 상대적으로 느린 WAN 구간을 거쳐야 할 것이다. 여기서 우리가 고려해 보아야 할 점은 두 대의 서버가 각각 정상적으로 동작하고 있는 경우라면 가급적이면 WAN 트래픽이 발생하지 않도록 해야 한다는 것이다.

 

이를 해결하기 위해서 일단 서울에 WINS-A를 설치하였다. 그리고 서울에 있는 모든 컴퓨터를 WINS-A의 클라이언트로 설정하였다. 다음에 부산에 WINS-B를 설치하고 부산의 모든 컴퓨터를 WINS-B WINS클라이언트로 설정하였다. 이렇게 하면 서울에서의 WINS 트래픽은 서울지역에만 국한되고, 부산에서의 WINS 트래픽은 부산지역에서만 발생될 것이다.

 

여기까지만 구성하면 문제가 발생한다. <그림6-11>에서 부산의 WINS 클라이언트인 RED가 서울에 있는 BLUE 라는 이름의 서버를 찾고자 한다면 어떻게 될 것인지 생각해 보자. RED WINS-B에게 BLUE 라는 NetBIOS 이름을 쿼리할 것이다. 하지만 WINS-B BLUE IP Address를 알 수가 없다. 왜냐하면 BLUE는 자신의 클라이언트가 아니기 때문이다. BLUE의 레코드는 서울의 WINS서버인 WINS-A가 가지고 있을 뿐이다. 서울의 WINS서버와 부산의 WINS서버의 WINS Database는 서로 다르다. WINS-A는 서울의 WINS 클라이언트의 레코드를 가지고 있고, WINS-B는 부산의 WINS 클라이언트의 레코드를 가지고 있다. 서울과 부산간에 자원의 공유가 가능해 지려면 이 두 WINS서버들의 WINS Database가 교환될 필요성이 생긴다. 이 과정을 WINS Database 복제를 설정함으로써 가능하게 만든다.

 

이들 두 대의 WINS서버는 서로를 WINS Database 복제파트너로 설정하여 자신의 DB를 밀어주고(push partner), 상대방의 DB를 끌어오는(Pull Partner) 형태로 서로 다른 WINS Database를 하나로 통합할 수가 있게 된다. 이렇게 하면 부산에 있는 WINS Client가 자신의 WINS서버에게 서울의 레코드를 요청하더라도 올바른 응답을 받을 수 있게 된다. WINS 데이터베이스 복제파트너는 WINS 관리콘솔에서 '복제파트너'를 통해서 추가할 수 있다. <그림6-12>에서는 redapple이라는 이름의 WINS서버를 복제파트너로 추가하고 등록정보를 열어서 Pull / Push 복제 일정을 확인한 것을 볼 수 있다


<그림6-12. WINS 복제 파트너 추가 >

 

 


 <그림6-13. WINS 복제 파트너 추가 >

 

복제파트너로 구성할 상대방 WINS서버의 이름이나 IP주소를 입력해야 한다. IP주소를 입력하는 것이 좋다.

 


<그림6-14. WINS 복제 파트너 추가 >

 

이번엔 다른 측면을 고려해 보자. 만일 부산에 있는 WINS 서버가 멈춘다면 어떻게 될까? 당연한 얘기지만 부산지역의 WINS 클라이언트는 더 이상 WINS서버를 이용할 수가 없다. 그러면 그 클라이언트들은 부산지역의 서버를 찾을 때는 WINS서버를 이용할 수 없으므로 다음 방법인 브로드캐스트를 이용해서 검색을 할 수도 있겠지만 서울지역에 위치한 컴퓨터들을 찾고자 할 때는 실패할 수밖에 없게 된다. 그렇다면 이러면 되겠다. 부산에 있는 WINS서버가 동작하고 있을 때는 해당 서버를 통해서 서비스를 받고, 만일 부산의 WINS 서버가 문제가 있다면 서울의 WINS 서버를 사용하면 될 것이다. 그렇게 동작하도록 하기 위해서 부산의 WINS 클라이언트들에게 두 번째 WINS서버를 추가로 설정을 해 줄 수 있다. <그림6-15>의 빨간색 표기부분을 보면 2개의 IP Address가 설정되어 있다. [추가]버튼을 이용하여 WINS서버를 추가할 수 있고 오른편의 [화살표]버튼을 이용하여 쿼리순서를 결정할 수 있다. 물론 서울의 WINS 클라이언트들은 두 번째 WINS Server로서 부산의 WINS서버를 이용할 수 있도록 설정해 줘야 한다.

 


<그림6-15. TCP/IP WINS 설정 >

 

정리하면 다음과 같다. 지역마다 WINS서버를 하나씩 배치하고 이들 WINS 서버들은 서로 데이터베이스를 복제할 수 있도록 파트너로 설정을 한다. 클라이언트들에게는 첫 번째 WINS서버의 IP Address를 자신의 지역에 있는 WINS서버로 설정을 하고 첫 번째 서버가 다운되었을 상황을 대비하여 다른 지역의 WINS서버를 두 번째 WINS서버로 설정을 해 준다. 그렇게 해 두면 자신의 지역의 WINS서버가 동작하는 동안에 WINS쿼리는 WAN 링크를 이용하지 않을 것이며 첫 번째 WINS서버에 문제가 생겼을 때도 여전히 두 번째 WINS서버를 통해서 NetBIOS 이름을 쿼리할 수 있게 된다. WINS 서버간의 데이터베이스 복제 트래픽은 물론 WAN을 이용한다. 이 트래픽이 심각하게 고려해야 할 수준이라면 몇가지 옵션설정을 통해서 복제트래픽을 최적화 할 필요가 있다.
:
Posted by 새벽예찬

 

만일 네트워크에 비 WINS 클라이언트가 있다면 그들을 지원해야 할 필요가 있다. WINS 클라이언트는 자신의 NetBIOS이름을 WINS 서버에 등록하지 않는다. , 다른 서버의 자원에 접근하기 위해서 NetBIOS이름풀이(name resolution)를 할 때도 역시 WINS서버에게 쿼리하지 않고 브로드캐스트를 이용한다. 아래의 <그림6-7>을 보면서 설명한다.



<그림6-7. Non-WINS 클라이언트를 위한 구성 >

 

<그림6-7>의 예제에서는 라우터로서 분리된 2개의 브로드캐스트 도메인을 보여준다. 왼쪽의 세그먼트에는 WINS서버가 있고, WINS 클라이언트인 'Blue'라는 이름의 컴퓨터도 존재한다. 오른쪽의 세그먼트에는 왼쪽의 WINS Server의 클라이언트로 설정된 WINS 클라이언트도 있고, 'Red'라는 이름의 Non-WINS 클라이언트도 존재한다.

 

첫 번째 상황을 가정해 보자. 예제와 같은 환경에서 Blue Red의 자원에 접근을 하고자 한다(). Blue의 사용자는 \\red\public 이라는 UNC 경로를 사용하여 red에 접근을 시도했다. red 라는 NetBIOS Name TCP/IP 통신을 위해서 당연히 IP Address로 매핑 (resolution)되어야 한다. blue WINS 클라이언트이므로 NetBIOS 이름풀이 방법으로써 WINS서버에게 요청을 하게 된다(). 이 요청을 받은 WINS Server WINS Database에서 "Red <20>"이라는 NetBIOS 이름을 검색한다. 하지만 red의 레코드를 찾지 못한다. 이유는 Red Non-WINS 클라이언트이므로 자신의 NetBIOS Name WINS Server에 등록하지 않았기 때문이다. 결국 WINS 서버는 Blue에게 NetBIOS Name Resolution을 하지 못했다는 응답을 하게 되고, Blue는 그 다음 Resolution방법으로 브로드캐스트를 시도하게 된다. 그렇지만, 라우터로 네트워크가 분리되어 있고 Red 는 원격지의 네트워크에 위치해 있으므로 검색에 실패하게 된다. 결과적으로 Blue에서는 "네트워크 경로를 찾지 못했다."라는 에러 메시지를 확인하게 된다. 통신실패를 의미한다.

 

해결방법은 있다. 기본적으로 WINS 서버는 동적으로 동작하지만 관리자가 수동으로 레코드를 추가할 수도 있다. 정적매핑을 통하여 Red WINS 서버에 추가해 주면 된다. WINS 관리콘솔의 왼쪽 패널의 서버이름 아래에 있는 '활성등록'을 선택한 다음 마우스 오른쪽 클릭하여 '새 정적 매핑'을 선택한다. Red IP Address를 할당해 주면 된다. <그림6-8>

 


<그림6-8. WINS 레코드 정적 매핑 >

 

<그림6-9>을 보면 정적 매핑으로 추가한 Red 의 레코드를 확인할 수 있다. 이제 WINS 클라이언트인 Blue WINS 서버를 통하여 Red IP Address를 쿼리할 수 있게 되었다.


<그림6-9. 정적매핑된 WINS 레코드 확인 >

 

두 번째 상황도 고려해 보도록 하겠다. 이번에는 Non-WINS 클라이언트인 Red WINS 클라이언트인 Blue를 찾고자 할 때의 상황을 생각한다. Red의 사용자는 Blue Public 공유폴더에 연결하기 위하여 \\blue\public 이라는 UNC를 통해서 접근을 시도했다(). Red Non-WINS 클라이언트이므로 Blue NetBIOS 이름을 찾기 위해 WINS서버에게 쿼리하지 않는다. 브로드캐스트를 이용해서 이름풀이를 시도할 것이다(). 당연히 라우터의 건너편 네트워크에 존재하는 Blue로부터 응답이 올 수가 없다. 역시 에러 메시지를 받게 될 것이다. 이것을 해결할 방법은 있다. 다행히 오른쪽 편의 네트워크에 WINS 클라이언트가 존재한다. WINS 클라이언트가 Non-WINS 클라이언트를 대신해서 WINS 서버에 요청을 전달해 주게 구성할 수 있다. 이때 이러한 WINS 클라이언트를 가리켜서 'WINS Proxy Agent'라고 부른다. WINS Proxy Agent를 구성하기 위해서는 레지스트리를 직접 편집해 주어야 한다. WINS Proxy Agent로 구성할 시스템에서 레지스트리 편집기(regedt32.exe 혹은 regedit.exe)를 통해서 레지스트리를 열고 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\ 키를 찾은후 'EnabledProxy' 값을 '1'로 설정하면 된다.<그림6-10>


<그림6-10. WINS Proxy Agent 구성하기 >

 

뭔가 되긴 된 듯해 보이지만 석연찮은 구석이 있다. 이거 WINS 클라이언트가 아닌 녀석이 하나 끼어있으니까 이래저래 번거로운걸? 하는 생각이 들었다면 지금까지 내용을 잘 이해한 독자라는 생각이 든다. 방법은 있다. 아주 간단한 방법. Non-WINS Client를 두지 않고 전체 모든 시스템을 WINS 클라이언트로 만들면 모든 것이 해결된다. WINS솔루션을 구현하자. 하지 못할 이유가 없다.


:
Posted by 새벽예찬

 

위에서 WINS서버를 구현하는 방법이 가장 바람직한다는 말을 했다. 그렇다면 이제 WINS서버를 설치하고 구성을 해 보도록 하겠다. WINS서비스를 먼저 추가해 주어야 한다. 제어판àWindows구성요소 추가à네트워킹서비스àWINS를 통해서 추가할 수 있다.<그림6-4>

 


<그림6-4. WINS 서비스 설치 >

 

설치가 완료되면 그것으로 WINS서버의 준비는 끝났다. 다음엔 WINS서버에게 자신의 NetBIOS이름을 등록하고 다른 서버의 NetBIOS 이름을 쿼리할 수 있도록 클라이언트 셋팅을 해야 한다. ‘제어판à네트워크 연결을 통해서 TCP/IP 등록정보를 연 다음, [고급]버튼을 클릭하면 WINS 탭을 볼 수 있다. [추가]를 이용하여 앞에서 WINS서비스를 설치한 서버의 IP Address를 입력한다. 예제에서는 192.168.0.16을 입력했다.<그림6-5>

 


<그림6-5. WINS Client 설정 >

 

클라이언트도 구성을 했다. 이것으로써 WINS서버와 WINS클라이언트 구성을 모두 마쳤다. 사실 설치는 너무나 쉽다. 그것보다는 이러한 서비스들의 필요성을 이해하는 것이 보다 중요한 일이라고 생각한다. 과정을 이해하면 보다 커다란 환경의 네트워크를 만나게 되었을 때도 적절히 대처를 하는 것이 용이할 것이기 때문이다. 이제 WINS서버쪽에서 WINS 관리도구를 열어보면 <그림6-6>에서 보는 것처럼 클라이언트가 등록되어 있음을 알 수 있다. 또 다른 WINS 클라이언트가 BLUEXP라는 NetBIOS 이름에 대한 IP Address를 요청한다면 이 WINS서버는 응답을 할 수가 있게 된다. 이러한 일련의 과정들은 동적으로 동작한다. 관리자는 WINS서비스를 추가해 주고, 네트워크 상의 모든 클라이언트를 WINS 클라이언트로만 구성해 주면 나머지는 WINS서비스가 알아서 처리한다. 말 그대로 서비스이다.



<그림6-6. WINS 관리콘솔 >


:
Posted by 새벽예찬