Windows ICS(인터넷 연결 공유)의 IP 강제로 바꾸기

한참을 찾고 찾아도… Windows XP 이상에서의 변경 방법이 없었습니다…


찾다 찾다 보니 허거걱…


하드 코딩 되어 있다고 하네요… 이런…


그래서 강제로 바꿔 봤습니다.


 


아 여기서 잠깐 왜 이걸 하고 있었냐구요?


 


현재 아내와 함께 인터넷을 공유기를 통해 사용 중입니다.


이렇게 저렇게 설정하여 아내는 공인 IP 를 TWIN IP 라는 공유기 기능으로 그대로 사용 중이고,


저는 192.168.0.x 로 되는 IP 를 고정하여 사용 중입니다.


그리고 제 PC에 Virtual PC 와 VMWare 를 설정하는데 인터넷이 되게 하려다 보니…


인터넷 공유를 해야 되는 것…


헌데 문제는 ICS 라 불리는 녀석… Internet Connection Sharing (인터넷 연결 공유) 이 녀석이 192.168.0.x 를 사용한다는 것입니다.


VMWare 야 자체 서비스를 설정하므로 상관이 없지만…


Virtual PC 는 윈도우 기능을 이용해야 해서…


Host 의 설정을 바꾸던가 다른 서비스 (WinGate 와 같은) 를 사용해야 하는 상황이었습니다.


 


그래서 선택한 무식한 방법을 알려드립니다.


 


1. 내 외부 연결 설정하기…


위 화면은 외부 연결 (현재 공유기와 연결되어 있는 장치) 의 속성 창 입니다.


어떻게 창을 띄우는지는 아시리라 믿고… 일단 이 장치의 IP 를 먼저 바꿉니다.



요렇게 바꿨습니다. 임시로…


그리고 확인을 눌려 모두 닫았습니다.



ipconfig /all


요 명령으로 10.0.0.2 가 되었는지 확인하고 다시 속성 창을 열어 고급 탭으로 갑니다.


요기 까지가 1단계 외부 연결 설정이었습니다.


 


2. Microsoft Loopback Adapter 설정


이것은 말 그대로 루프백 어댑터를 말하는 것으로


새 하드웨어 추가에서 수동으로 하다가 네트워크 어댑터를 선택하여 제조업체 Microsoft 를 하시면 설치할 수 있습니다.


미리 해 두셔야겠죠? 위에서 인터넷 공유 켜려면…


이 녀석의 연결 속성에서 TCP/IP 등록 정보를 아래처럼 바꿔버렸습니다.


원래 192.168.0.1 이 기본으로 됩니다. 위 과정을 지나면서…



그리고 나서 방화벽 설정으로 갔습니다.


고급 탭에서 Microsoft Loopback Adapter 의 연결 이름인 “로컬 영역 연결 3″을 선택 후 옆에 “설정” 버튼을 눌려



 


아래 창에서 저렇게 선택하였습니다. (그냥 알아서 선택 된 것임)



 


그리고 혹시나 해서 옆에 ICMP 탭에서 수신 에코 를 허용했습니다.



 


3. 외부 연결 원상 복구…


스샷 없습니다. 아까와 같이 외부 연결의 속성 창을 열고 TCP/IP 설정을 공유기에서 받아 오도록 다시 설정했습니다.


 


4. 확인 과정


IP 를 가져오는 것이 끝나고 확인에 들어갔습니다.


환경은 VirtualPC 2007 SP1 에서 CentOS 5 Live CD 이미지를 이용해 부팅하여


system-config-network 도구로 IP, Netmask, Gateway 등을 설정하고


수동으로 /etc/resolve.conf 파일을 수정하였습니다.


 


아래는 일단 호스트인 Windows XP 에서의 확인 화면



 


그리고 아래는 VirtualPC 확인 화면… (테두리나 윈도우 틀이 없으니 조금 이상하군요…)



위 화면을 보시면 아시겠지만…


DNS 도 잘 되고 ping 도 잘 나갑니다…


와우~~~~ 성공~~~


 


5. 마치면서


이 방법은 약간은 비정상적인 방법입니다.


그래서 이렇게 설정하고 나면 게스트 시스템인 VirtualPC 상의 OS 에서 DHCP Client 를 통해 IP 를 자동 획득이 안됩니다.


수동으로 192.168.1.x (x는 게이트웨이와 브로드캐스트 1 과 255 를 제외한 범위) 로 설정해 주셔야 합니다.

Keyboard 종류 강제로 바꿔보기

Windows 설치시 선택한 키보드 종류를 후에 바꾸기가 쉽지 않다.

HKLM/SYSTEM/CurrentControlSet/Services/i8042prt/Parameters

위 경로의 레지스트리 값을 적절히 수정하면 키보드 종류를 바꿀 수 있다.
물론 레지스트리를 수정하는 것이므로 만약 해당 키보드 드라이버를 찾을 수 없는 상황이 되거나 했을 때에는 골치 아픈 상황이 벌어진다.
System32 폴더에서 해당 키보드 드라이버를 확인 하고 수정하도록 한다

아래에는 한글 Windows에서 가장 많이 쓰이는 4가지 종류를 적어둔다.

  1. Korean 101 key Type A
    • 한영 – 오른쪽 Alt, 한자 – 오른쪽 Ctrl
    • LayerDriver KOR / REG_SZ / kbd101a.dll
    • OverrideKeyboardIdentifier / REG_SZ / PCAT_101AKEY
    • OverrideKeyboardSubtype / DWORD / 3
    • OverrideKeyboardType / DWORD / 8
  2. Korean 101 key Type B
    • 한영 – 오른쪽 Ctrl, 한자 – 오른쪽 Alt
    • LayerDriver KOR / REG_SZ / kbd101b.dll
    • OverrideKeyboardIdentifier / REG_SZ / PCAT_101BKEY
    • OverrideKeyboardSubtype / DWORD / 4
    • OverrideKeyboardType / DWORD / 8
  3. Korean 101 key Type C
    • 한영: Shift + Space, 한자: Ctrl + Space
    • LayerDriver KOR / REG_SZ / kbd101c.dll
    • OverrideKeyboardIdentifier / REG_SZ / PCAT_101CKEY
    • OverrideKeyboardSubtype / DWORD / 5
    • OverrideKeyboardType / DWORD / 8
  4. Korean 103/106 key
    • 별도의 한영, 한자 키 사용
    • LayerDriver KOR / REG_SZ / kbd103.dll
    • OverrideKeyboardIdentifier / REG_SZ / PCAT_103KEY
    • OverrideKeyboardSubtype / DWORD / 6
    • OverrideKeyboardType / DWORD / 8

IE7 추가 기능 끄고 사용하기

이전 IE 에서는 옵션에서 추가 기능을 일일이 사용안함 으로 해야만 추가기능을 끄고 IE 를 사용할 수 있었는데


IE7 에서는 about 페이지를 통해 가능하게 되었다.


 


WinKey + R 을 눌려 실행 다이얼로그를 열고
about:NoAdd-ons


를 입력하여 실행하면 IE가 추가기능 없이 실행된다.

Windows 자동 로그인 설정하기

예전에는 제어판에서 그냥 하면 되었는데 언젠가 안 보이는데… XP 부터 인가?
암튼 실행다이얼로그(WinKey + R)에서

control userpasswords2

를 실행하면 뜨는 창에서

  1. 사용자 이름과 암호를 입력해야 이 컴퓨터를 사용할 수 있음 항목을 체크 적용
  2. 다시 체크를 빼고 자동 로그인을 원하는 유저를 아래 리스트에서 선택후 적용
  3. 패스워드 입력
  4. 완료…

DNS 캐싱 정보 삭제

DNS: Domain Name System

흔히 사용하는 www.bspfp.pe.kr 과 같은 형식을 도메인이라고 부르는데
이런 이름을 네트워크 주소로 변환해 주는 시스템은 DNS라고 합니다.

DNS 서버가 이런 변환을 매번하기에는 상당한 부하가 있고, 대부분 DNS 호스팅 업체는 쿼리 수량으로 사용료도 받고… 이런 저런 이유로 대부분의 OS가 DNS 조회 결과를 캐싱하고 있습니다. 모바일 장치들도 마찬가지이고요

Windows에서 DNS 캐싱 정보를 지우러면 명령 프롬프트에서 아래와 같이 입력합니다.

ipconfig /flushdns

Linux에서는 nscd 또는 dnsmasq 또는 named 서비스를 재시작 하면 됩니다.

Mac에서는 dscacheutil -flushcache
구형 Mac에서는 lookupd -flushcache

Windows의 원격 데스크톱 서비스 포트 번호 변경하기

공유기를 사용한다거나 방화벽 설정 문제로 3389 포트를 사용 못하는 경우를 위한 방법

Windows에서 포트 번호를 바꾸는 기본 UI를 제공하지 않으므로 역시 레지스트리를 수정하는 방법을 사용해야 한다

HKLM/SYSTEM/CurrentControlSet/Control/TerminalServer/WinStations/RDP-Tcp/PortNumber

위 값을 원하는 값으로 수정한 뒤에, Win + Break 로 시스템 정보창을 열어서 원격 설정을 통해 원격 데스크탑 서비스를 활성화한다
이미 원격 데스크탑을 활성화 한 경우에는 컴퓨터를 리부팅하거나 아래와 같은 명령을 입력하여 서비스를 재시작한다

net stop TermService
net start TermService

이제 xxx.xxx.xxx.xxx:port 형식으로 접속을 하면 됩니다.

IP 변경을 간편히 하는 방법 – netsh 명령 사용하기

노트북을 집과 직장에서 사용할 경우…
집에서는 공유기를 통한 DHCP 사용, 직장에서는 고정 IP
요새는 시대가 좋아져서 DHCP 시도 후 실패시 고정 IP 사용 뭐 이런 옵션이 가능하긴 한데…
이렇게 하더라도 일단 시도하는 시간이 걸려 조금 짜증…
그렇다고 매번 제어판을 열어 설정하기는 귀찮고…


 


netsh 로 해결해 봅시다.
아래 내용을 적당히 home.cmd, office.cmd 처럼 파일로 만들어 처리하면 더블클릭 만으로 해결됩니다.


 


가정
    연결 식별자: 로컬 영역 연결
    집
        DHCP 사용
    직장
        IP: 123.123.123.12
        Subnet Mask: 255.255.255.0
        Gateway: 123.123.123.1
        DNS: 213.213.213.10
    방법1
        Home.cmd
            @echo off
            netsh -c int ip set address name=”로컬 영역 연결” source=dhcp
            netsh -c int ip set dns name=”로컬 영역 연결” source=dhcp
        Office.cmd
            @echo off
            netsh -c int ip set address name=”로컬 영역 연결” source=static addr=123.123.123.12 make=255.255.255.0 gateway=123.123.123.1 gwmetric=0
            netsh -c int ip set dns name=”로컬 영역 연결” source=static addr=213.213.213.10 register=PRIMARY
    방법2
        일단 아래 2개는 명령 프롬프트에서 입력하는 것입니다. (경로는 C:\NetConf 로 가정합니다.)
        집에서 할 일
            제어판으로 DHCP 사용하도록 설정
            C:\NetConf> netsh -c int dump > home.netsh.dump.txt
        직장에서 할 일
            제어판으로 고정 IP 사용하도록 설정
            C:\NetConf> netsh -c int dump > office.netsh.dump.txt
        Home.cmd
            @echo off
            netsh -f home.netsh.dump.txt
        Office.cmd
            @echo off
            netsh -f office.netsh.dump.txt


 


위와 같은 방법으로 쉽게(?) IP 를 바꿀 수 있습니다.
그 외에도 netsh 은 네트워크 설정에 관한 엄청난 기능들이 있으니 한번 공부해 보는 것도 좋을 것 같군요…
한글 Windows 라면 도움말이 한글로 친절하게 나오므로 쉽게(?) 익힐 수 있습니다.

Windows 환경에서 Unix like 환경 구축

[Cygwin]
편리하게 관리하며 사용할 수 있다

[Minimalist GNU for Windows]
MinGW이라고 하는 소프트웨어 집합?
최대한 가벼움을 유지하면서 사용할 수 있다

[Windows Subsystem for Linux]
Bash on Ubuntu on Windows라고도 한다. (apt 를 이용한 소프트웨어 설치, 관리를 하니까?)
그냥 기분만 낼 수 있고 쓸모는 없다. (직접 사용해 본 결과 go language조차 실행이 안되고 할 수 있는 것이 거의 없다)

File Description 최대 수, PID 최대값, Local Port Range 설정

  • /proc/sys/fs/file-max
    최대 file descriptor 수를 설정
  • /proc/sys/fs/inode-max
    과거 2.2.x 버전 이하에서 file-max 와 함께 설정을 했던 값
    file-max 의 4 ~ 5 배를 설정 했던 것으로 기억
  • /proc/sys/kernel/pid_max
    PID 최대값을 설정
  • /proc/sys/net/ipv4/ip_local_port_range
    로컬 포트 번호 대역을 설정
    이 대역 만큼의 로컬 포트를 열 수 있다
  • /etc/sysctl.conf
    배포판에 따라 /etc/sysctl.d/…

    • fs.file-max
    • kernel.pid_max
    • net.ipv4.ip_local_port_range
  • /etc/security/limits.conf
    여기에서 프로세스 당 제한 수량을 조정
    bs 에게 4096 개를 허용

    bs hard nofile 4096
    bs soft nofile 4096