netsh 명령어로 네트워크를 설정한다
윈도우2000/XP가 지원하는 네트워크 명령어로 netsh가 있다. netsh는 명령 프롬프트에서 이용할 수 있는 도구로 윈도우2000/XP의 대부분의 설정 항목을 명령어나 저장된 스크립트를 이용하여 설정할 수 있다. netsh는 어떤 설정을 할지 지정하는 문맥(*8)이 있다. netsh를 실행했을 때는 최상위의 문맥이 된다. 문맥에 따라 이용할 수 있는 명령어는 바뀌며 help 명령어를 실행하면 이용할 수 있는 명령어를 알 수 있으므로 한번 쯤 확인해보자(사례 13).
netsh는 아무 옵션을 붙이지 않으면 대화형 인터페이스로 실행된다. 대화형 인터페이스로 설정할 수도 있지만 스크립트를 작성하여 실행하면 설정 변경 등이 수월하다. 예를 들어 netsh 명령어의 스크립트를 이용해 구성 변경을 쉽게 하려면 우선 netsh 명령어를 사용해 현재의 구성상태를 출력해 둔다. 그런 다음 명령 프롬프트에서 netsh interface ip dump라고 실행하면 현재의 TCP/IP 구성이 출력된다. 이 파일을 netsh의 ―f옵션으로 읽어 들이면, 현재의 TCP/IP 구성을 재차 적용할 수 있다. 스크립트 실행은 최상위의 문맥으로 exec 명령어로 실행할 수 있다.
용어 해설 -----------------------------------------------------------------------------
※8 문맥
전후관계나 문맥, 맥락 등을 나타내는 말. 프로그램의 경우 현재 상황이나 조건을 가리킨다.
--------------------------------------------------------------------------------------
사례 13. netsh 명령어의 기본 사용 방법
Point! 네트워크 진단은 netsh
|
|
|
|
|
▲ netsh 명령어를 옵션 없이 실행하면 대화 모드로 작동한다. netsh는 여러 항목을 설정할 수 있기 때문에 모드를 변경하기 위한 문맥이 있다. |
netsh 명령어를 옵션 없이 실행하면 대화 모드로 작동한다. netsh는 여러 항목을 설정할 수 있기 때문에 모드를 변경하기 위한 문맥이 있다. 문맥을 변경하면 프롬프트가 변경되고 이용할 수 있는 명령어도 바뀐다. 옵션으로 문맥 및 명령어를 지정하면 지정한 문맥의 명령어가 실행된다. 예를 들어 netsh interface ip dump는 inerface 문맥→ip문맥으로 변경해 dump 명령어를 실행한 결과를 보여준다.
표 11. netsh의 서식
netsh [-a alias 파일명][-c 문맥명][-r 컴퓨터명][{명령어명┃-f 스크립트 파일명}] |
-a
|
앨리어스(alias) 파일을 읽고 나서 netsh 셀을 실행한다. |
-c
|
지정한 netsh 문맥을 변경한다. |
-r
|
컴퓨터 이름을 지정해 netsh 셀을 실행한다. |
TCP/IP 필터 설정
윈도우2000/XP는 RRAS(Routing and Remote Access 서비스)기능을 제공한다. RRAS는 라우터처럼 패킷을 루팅하는 서비스로 패킷 필터링 기능도 지원한다. 다만 설정은 netsh 명령어를 이용하며 복잡한 룰을 기술하기 위해서는 프로토콜 지식이 필요하다.
RRAS 기능을 이용하려면 RRAS 서비스를 실행하면 된다(사례 14). 이더넷 카드의 패킷 필터링을 실시하려면 INPUT 및 OUTPUT의 필터링 타입을 DROP으로 설정하고 통과시킬 프로토콜만 허가하도록 add filter로 룰을 추가하는 것이 좋다. 설정내용 삭제는 delete filter로 없앤다. 설정 내용은 dump 명령어로 출력 하거나 exec 명령어로 읽어 들일 수 있다. 몇 개의 룰을 정의해 dump 명령어로 출력해 텍스트 편집기로 내용을 편집한 뒤 exec 명령어로 스크립트의 내용을 읽어 들이면 편집하기가 한결 쉬울 것이다.
도움말 및 지원 센터의 진단 프로그램
네트워크 문제를 해결할 때 반드시 확인해야 할 항목이 몇 가지 있다. 윈도우XP에는 복수의 항목을 차례로 자동적으로 확인할 수 있는 도움말 및 지원 센터를 제공하므로 이를 이용하면 편리하다. 이 프로그램은 명령 프롬프트에서 ‘netsh diag gui’를 입력하면 실행된다(사례 15). 여기서 ‘시스템 검사’를 클릭하면 자기 자신 및 게이트웨이, 각종 서버에 대한 ping이나 서버의 서비스가 정상적으로 작동하는지 점검해준다. 또 ‘검사 옵션 설정’에서 실행할 내용을 변경할 수도 있다. 단순한 문제는 대부분 진단할 수 있기 때문에 한번쯤 사용해보길 바란다.
telnet으로 원격PC 제어
윈도우XP 프로페셔널의 경우 원격 PC를 제어하는 방법으로 원격 데스크탑 연결 기능을 제공한다. GUI 환경에서 이용할 수 있으므로 조작하기 쉽다는 이점이 있는 반면, 파일 복사 등 단순한 작업도 일정 이상의 고속 회선이 필요하다는 단점이 있다. 이럴 때 telnet 명령어를 이용하면 훨씬 쾌적한 환경에서 작업할 수 있을 것이다.
telnet으로 접속하기 위해서는 원격 PC에 telnet 서버가 작동중이여야 한다. 윈도우2000/XP 프로페셔널에는 telnet 서버를 제공하므로 이를 이용하자. 우선 ‘관리 도구’의 서비스에서 Telnet를 자동, 혹은 수동으로 작동하도록 설정한다(사례 16). 수동으로 설정하면 명령 프롬프트에서 ‘net start telnet’ 혹은 ‘tlntadmn start’(윈도우XP만 해당)로 실행하면 telnet 서버가 작동한다. 그리고는 클라이언트에서 ‘telnet 호스트명’으로 접속하여 조작하면 된다. telnet으로 할 수 있는 작업은 기본적으로 명령 프롬프트에서 실행할 수 있는 것과 동일하다.
덧붙여 유닉스의 경우 인증은 사용자 이름과 패스워드를 입력해야 하지만 윈도우의 telnet 서비스는 윈도우 네트워크의 인증 방식인 NTLM(*9)도 지원하며 이를 기본 인증 방식으로 사용한다. 윈도우XP의 telnet 서비스는 초기설정이 양쪽 모두 지원하므로 유닉스 PC도 접속할 수 있지만 윈도우2000의 telnet 서비스는 NTLM 인증만 지원한다.
용어 해설 ------------------------------------------------------------------------
※9 NTLM
NT LAN Manager의 약자로 윈도우NT/2000/XP에서 사용하는 인증 프로토콜. 패스워드가 해킹되지 않도록 챌린지/리스폰스 방식을 채용하고 있다. 파일 공유나 네트워크 로그 온 등에서 사용한다.
-----------------------------------------------------------------------
사례 14. netsh 명령어로 RRAS 설정
Point! 패킷 필터링 설정은 netsh
|
|
|
|
|
▲ 26. netsh 명령어를 사용해 RRAS의 필터링을 설정할 수 있다. RRAS의 필터링은 routing의 ip문맥으로 실행한다. |
사례 15. 도움말 및 지원 센터로 복수의 명령어를 한 번에 실행
|
|
|
|
|
▲ 27. 네트워크 진단을 간편하게 설정하려면 ‘netsh diag gui’로 실행한다. 네트워크에서 일반적으로 확인해야할 항목을 한 번에 체크할 수 있다. |
|
|
|
|
|
▲ 28. 체크할 내용을 세밀하게 지정할 수 있다. |
사례 16. telnet로 다른 PC를 제어하기
Point! 다른 PC를 조작하려면 telnet |
|
|
|
|
▲ 29. telnet 서버를 실행하려면 ‘도구 관리’의 서비스에서 Telnet를 더블 클릭한 다음 시작 유형을 수동 혹은 자동으로 설정한다. |
|
|
|
|
|
▲ 30. 윈도우XP의 telnet 서비스는 tlntadmn 명령어으로 제어할 수 있다. telnet 서비스를 수동으로 설정했으면 ‘‘net start telnet’ 혹은 ‘tlntadmn start’로 telnet 서버를 실행한다. |
|
|
|
|
|
▲ 31. 클라이언트 PC에서 telnet 명령어로 로그인하여 각종 명령어로 조작할 수 있다. |
표 12. telnet 서식
telnet [-a][-e 이스케이프 문자][-f 로그 파일명][-l 사용자명][-t 단말기의 종류] |
-a
|
자동으로 로그 온 한다. 사용자명을 자동적으로 처리하는 것 이외는 ―l옵션과 같다 |
-e
|
telnet 클라이언트의 프롬프트로 입력하는 이스케이프 문자 |
-f
|
클라이언트측 로그의 파일명을 지정한다. |
-l
|
원격 시스템에 로그인하는 사용자명을 지정. 원격 시스템이 TELNET ENVIRON 옵션을 지원해야 한다. |
-t
|
단말기의 종류를 지정한다. |
tlntadmn [컴퓨터명][공통 옵션] start┃stop┃pause┃continue┃-s┃-k┃-m┃config 구성 옵션 |
-s
|
세션 정보를 표시한다. |
-k
|
세션을 종료한다. |
-m
|
세션에 메시지를 송신한다. | 표 13. tlntadmn 서식 |