달력

4

« 2024/4 »

  • 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

 

회사 내부의 사용자계정정보, 네트워크의 각종 자원들, 이러한 정보들은 분명히 외부로부터 보호되어야 한다. 가장 좋은 방법은 회사의 네트워크를 Active Directory등을 담고 있는 내부(Internal) 네트워크와 외부로 공개해야 할 웹서버, 메일 서버, DNS서버 등을 담고 있는 외부(External)네트워크로 분리하는 방법이다.

 

추가로 인터넷에서 내부의 네트워크에 접근하기 위해 먼저 알아야 하는 컴퓨터의 주소, IP Address를 감춰야 할 필요가 있는데 이것은 DNS서버에 대한 보안을 유지함으로써 챙겨줄 수 있다. 방법은 외부DNS와 내부DNS를 구분하여 공개된 네트워크에 배치하는 외부 DNS는 웹서버, 메일서버, VPN서버등의 레코드를 가지도록 구성하며, 내부DNS Active Directory, 파일서버 등의 내부네트워크에서만 접근할 수 있도록 레코드를 구성하는 것이다. 이것은 가장 먼저 고려해야 할 간단하지만 아주 좋은 구성이라고 하겠다.

 

또한 클라이언트 컴퓨터들중 일부가 IP Address가 부족하여 어쩔 수 없이 개인네트워크의 IP Address를 사용하고 NAT서버나 프록시서버를 통해서 인터넷에 접근하도록 할 수는 있지만, 이제는 어쩔수 없는 상황이 아니라 IP Address가 충분하더라도 반드시 고려해야 할 필수적인 환경이 개인네트워크를 구성하는 것이다.

 

이러한 사항들을 토대로 구현해 본 네트워크 디자인이 아래의 <그림8-33>과 같다.


<그림8-33. ,외부 네트워크로 분리된 모습>

 

그림을 주의깊게 살펴보라. 라우터의 이더넷 포트에는 방화벽이 물려있고 이곳을 통과한 패킷들은 다시 스위치를 통하여 확장되고 있다. 스위치로 확장된 네트워크를 통하여 프록시서버(또는 파이어월), 메일서버, 웹서버, DNS서버 등을 배치하였다. 이들 4개의 서버가 물리적으로는 한대의 서버에서 구현될 수도 있다. 어디까지나 기능적인 측면이다. 이들 4개의 서버들은 공용 네트워크에 배치하였다. 역시 공인 IP Address를 가지게 된다. 여기서 내부네트워크로 들어오기 위한 관문이 프록시서버 혹은 내부 방화벽이 된다. 이 사이 구간을 가리켜서 비무장지대(D.M.Z)라고 부른다. 그리고 프록시 서버에서는 내부로 하나의 스위치로 네트워크를 확장하여 여기에 모든 클라이언트 컴퓨터를 배치하고 내부 네트워크를 구현하였다. 프록시서버를 통해서 한단계 더 걸러지는 개인네트워크를 구현한 것이다. 이것은 당연히 공용네트워크에 있는 컴퓨터들보다는 안전하다.

 

회사가 Active Directory도메인과 메일,웹서버의 도메인으로 Secure.pe.kr 이라는 도메인을 사용하고 있을 때, 외부 네트워크의 DNS서버는 secure.pe.kr이라는 영역(Zone)을 주영역으로 생성하고 외부에서 접근해야 하는 자원들, 웹서버(www), 메일서버(MX) 등의 레코드를 가지고 있어야 한다. DNS서버가 내부의 자원의 목록을 가지지 않도록 주의해야 한다. 또한 내부 네트워크의 DNS서버 역시 secure.pe.kr 영역을 주영역으로 생성하며 도메인 컨트롤러의 정보(SRV)를 포함한 내부네트워크의 모든 서버들의 정보를 담고 있어야 한다. 관리자는 이 DNS서버에 외부 네트워크에 있는 www, MX 등의 레코드들을 수작업을 통해 구성하는 것을 잊지 말아야 할 것이다. 또한 내부DNS서버가 외부DNS서버를 포워더 서버로 구성해서 내부네트워크의 클라이언트가 인터넷에 접근할 수 있도록 구성해 주어야 한다.

 

포워더 서버 구성은 내부 DNS서버에서 DNS관리콘솔을 열고 왼쪽 패널의 서버이름을 마우스 오른쪽 클릭하여 등록정보로 접근한 후, ‘전달자탭에서 구성할 수 있다.


<그림8-34. DNS 포워더 서버 구성>

 

외부네트워크와 내부네트워크의 경계 역할을 하는 프록시서버(파이어월)은 프로토콜, IP필터링을 통해서 DNS트래픽이 통과할 수 있도록 구성해 줄 필요가 있다.

 

큰 개념적인 내용은 위에서 정리한 바와 같다. 하지만 현실적으로 생각해 볼 필요가 있다. 회사가 중요하게 고려해야 할 부분이 어느것인가 하는 부분이다. 네트워크의 성능이 가장 중요한지, 보안이 가장 중요한 것인지, 아니면 비용을 줄이는 것이 가장 중요한 것인지, 관리자에게는 여기에 바로 선택의 여지를 남겨둘 것이다. 시스템관리자들에게는 가급적이면 위와 같은 네트워크 구성을 권하고 싶다. 잘 구성된 초기네트워크와 잘 설정된 방화벽의 필터규칙들은 관리자에게 네트워크의 문제점을 줄여줄 수 있는 기반이 될 수 있다.

 

보안이나 성능도 무시할 수 없지만, 위와 같은 모델을 채택하기에는 상대적으로 비용부담이 너무나 크다고 생각되었다면 기본모델을 유지하는 상태에서 조금씩 타협점을 찾아갈 수 있다. 중요한 것은 관리자가 지속적으로 흐름은 잃지 말아야 한다는 것이다. 아래에 비용이 조금 덜 들어가는 모델을 두가지 더 구성해 보았다.


<그림8-35. 멀티 홈 프록시 서버로 구성된 네트워크 환경>

 

위의 그림 역시 기본적으로 개인네트워크와 공용네트워크를 구분한 모델이다. 프록시 서버가 내부네트워크로 2가지의 연결을 가지고 있다. <그림8-33>에 비해 방화벽이 하나 줄어들었다. 성능면에서는 떨어질 수 있지만 보안 측면에서는 메일서버, 웹서버, DNS서버 등을 프록시서버 안쪽의 개인네트워크에 배치함으로써 여전히 안전성 있는 네트워크 환경을 구축하였다.


<그림8-36. 멀티 홈드 프록시 서버로 구성된 네트워크 환경>

 

<그림8-36>은 가장 간단하면서도 중소규모 회사에서는 큰 비용부담없이 검토해 볼만한 보안을 생각한 네트워크 모델이다. 프록시서버에서 Publishing(인터넷에서 개인네트워크에 접근할 수 있도록 허용해 주는 작업)을 해야 할 서버들은 메일서버, 웹서버, DNS서버(외부)이다. 내부DNS서버와 외부DNS서버가 각각 가지고 있어야 하는 레코드들에는 차이가 없다. 역시 내부DNS서버는 외부DNS서버를 포워더 서버로 지정해 주어야 하며, 내부DNS서버가 인터넷에서 감춰짐으로써 내부 자원들의 목록을 보호할 수 있는 방법을 제공한다. 중소규모 회사에서는 전혀 무방비 상태의 회사에 비한다면 한결 안전해 지는 네트워크 환경을 구성하는 것이다. 웹서버의 응답속도 등의 성능이 우선시 되어야 한다면 상대적으로 권장하지 않는 모델이다.

 

몇가지 모델을 살펴보았지만 이들은 한결같이 네트워크를 보호하고자 하는데 초점이 맞춰져 있다는 것을 알 수 있다. 회사의 여건이 어느 것을 먼저 필요로 하는지 잘 검토해 보아야 할 것이고 일단 회사의 여건에 따른 요구사항이 명확히 결정되었다면 기술적인 구현은 여러분들이 생각하는 방향대로 얼마든지 구현할 수 있을 것이다.

 

현재 대부분의 회사환경에 개인(사설) 네트워크를 도입하는 것은 선택이 아니라 필수이다.


:
Posted by 새벽예찬
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 새벽예찬