2009. 5. 16. 02:34

coLinux의 Fedora 설정하기

이제 colinux 관련 설정은 모두 끝난 것 같습니다.
이제는 실제 colinux에서 사용하는 Fedora 리눅스를 설정을 해야겠네요..


LANG 변수 설정하기
/etc/sysconfig/i18n 파일에 다음 내용을 추가합니다.
UTF-8을 사용하실 분들은 "LANG=ko_KR.UTF-8"을 사용하시면 됩니다.

LANG=ko_KR.eucKR




timezone 설정하기
처음에 coLinux에 Fedora를 설치하면, timezone이 EDT로 설정됩니다.
이것을 KST(Korean Standard Time)으로 설정해줍니다.

ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime




hosts 파일에 다음 내용을 추가해 줍니다.

127.0.0.1   localhost




Fedora 시스템을 업그레이드합니다.

yum upgrade -y




기타 필요한 파일들을 설치하기

yum install -y vim
yum install -y gcc
yum install -y gcc-c++
yum install -y svn
yum install -y git

2009. 5. 16. 01:53

coLinux를 편리하게 쓰기 위한 설정들

이 글에서는 다음과 같은 내용들을 적어볼까 합니다.
  • coLinux와 Fedora를 분리하기
  • ssh를 통해 coLinux에 접속하기
  • host 파일에 coLinux 등록하기
  • coLinux를 서비스로 등록하기


coLinux와 Fedora를 분리하기

이전 글에서 coLinux를 설치한 디렉토리(c:\Program Files\coLinux)에 Fedora 이미지 파일이 같이 있는 것으로 설명을 했습니다.
하지만 Fedora 이미지 파일의 경우에는 4GB 정도의 큰 사이즈이기 때문에 c:\Program Files\에 넣어두기에는 좀 무리가 있을 것 같습니다.
따라서 coLinux 설치된 것과 Fedora 이미지 파일을 분리하는 것을 해 보도록 하겠습니다.


colinux-daemon.exe로 Fedora 리눅스를 구동하는 방법에는 2가지가 있습니다.
  • 명령행 파라메터로 구동하는 방법
  • config 파일을 지정해서 구동하는 방법


명령행 파라메터로 구동하는 방법
이전에 계속 보아왔던 start-Fedora-10.bat 파일의 내용입니다.

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/Program Files/coLinux/Fedora-10.img" cobd1="C:/Program Files/coLinux/swap.img" root=/dev/cobd0 eth0=tuntap,"로컬 영역 연결 3" ro eth1=pcap-bridge,"로컬 영역 연결"



config 파일을 지정해서 구동하는 방법
간단히 start-Fedora-10.bat 파일에서 colinux-daemon.exe 파일의 파라메터로 주어졌던 것을 파일에 넣으면 됩니다.
다음과 같이요. 파일이름은 fedora.conf 파일로 하겠습니다.

kernel=vmlinux
initrd=initrd.gz
mem=256
cobd0="C:/Program Files/coLinux/Fedora-10.img"
cobd1="C:/Program Files/coLinux/swap.img"
root=/dev/cobd0 eth0=tuntap,"로컬 영역 연결 3" ro
eth1=pcap-bridge,"로컬 영역 연결"


그럼 이 fedora.conf 파일을 가지고 colinux-daemon.exe 파일을 실행하는 방법은 다음과 같습니다.

colinux-daemon.exe @fedora.conf


start-Fedora-10.bat 파일을 실행했을 때와 똑같이 Fedora가 실행된다면 설정파일이 정상적으로 만들어졌다는 것입니다.

최종적으로 Fedora 이미지 파일들을 d:\Fedora 디렉토리로 옮겼습니다.
그리고 c:\Program Files\coLinux\fedora.conf 파일은 다음과 같이 변경하였습니다.

kernel=vmlinux
initrd=initrd.gz
mem=512
cobd0="D:/Fedora/Fedora-10.img"
cobd1="D:/Fedora/swap.img"
root=/dev/cobd0 eth0=tuntap,"로컬 영역 연결 3" ro
eth1=pcap-bridge,"로컬 영역 연결"


이제 c:\Program Files\coLinux 디렉토리에서 다음 명령을 수행하면 Fedora가 정상적으로 부팅하는 것을 볼 수 있을 것입니다.

colinux-daemon.exe @fedora.con




ssh를 통해 coLinux에 접속하기
항상 coLinux 콘솔을 띄워서 작업을 할 수는 없겠죠.
ssh 접속을 하기 위해 Fedora에 설정을 하겠습니다.

passwd 명령으로 root의 암호를 설정합니다.

-bash-3.2# passwd


sshd에서 root로 로그인을 할 수 있도록 /etc/ssh/sshd_config 파일에서 다음 라인의 주석을 제거해줍니다.

PermitRootLogin yes


이제 putty같은 프로그램으로 192.168.37.20의 주소에 ssh를 사용해서 접속할 수 있게 됩니다.



host 파일에 coLinux 등록하기
putty등으로 colinux에 ssh로 접속할 때 항상 192.168.37.20의 IP 주소를 입력한다면 귀찮겠죠.
다음의 경로의 hosts 파일에 192.168.37.20의 host 이름을 입력해 줍니다.

C:\WINDOWS\system32\drivers\etc\hosts


저는 colinux라는 host 이름을 사용하기로 했습니다.

127.0.0.1           localhost
192.168.37.20    colinux

이제 192.168.37.20이라는 IP 주소가 아니라 colinux라는 host 이름으로 colinux에 접속할 수 있게 되었습니다.



coLinux를 서비스로 등록하기
이제까지는 colinux-daemon.exe 프로그램을 이용해서 colinux를 사용할 때마다 console을 열었습니다.
하지만 coLinux를 서비스로 등록하게 되면 다음과 같은 것들이 가능해집니다.
  • 서비스로 등록하게 되면 colinux의 console이 아닌 ssh를 사용해서 colinux에 접속해서 작업할 수 있습니다.
  • 윈도우 부팅시에 coLinux도 자동으로 부팅하게 하기
  • coLinux가 필요할 때마다 간단한 명령어로 coLinux를 console없이 동작시키기
  • 간단한 명령어로 coLinux의 사용이 끝나면 coLinux를 종료하기

coLinux를 서비스로 등록하는 방법은 다음과 같이 간단합니다.
c:\Program Files\coLinux 디렉토리에서 다음 명령을 실행합니다.

colinux-daemon.exe @fedora.conf --install-service colinux


서비스에서 제거하는 명령은 다음과 같습니다.

colinux-daemon.exe --remove-service colinux


그럼 서비스에 등록된 colinux를 시작하는 명령은 다음과 같습니다.

net start colinux


서비스에서 시작된 colinux 종료하는 명령은 다음과 같습니다.

net stop colinux


서비스로 시작된 colinux를 putty를 사용해서 접속해 보시기 바랍니다.


PC 부팅시에 colinux 서비스를 항상 실행하고 싶다면, "내 컴퓨터/관리/서비스" 항목에서 colinux를 자동으로 설정하시면 됩니다.

colinux를 항상 사용하신다면 자동으로 설정하시고, 가끔 사용하신다면 필요하실 때마다 "net start colinux" 명령으로 사용하시는게 더 좋으실 것 같습니다.
2009. 5. 16. 01:07

coLinux에 PCAP-BRIDGE 네트워크 설정하기

이전 글에서 coLinux에 TAP-사설 네트워크를 설정했습니다.
TAP-사설 네트워크에서는 coLinux에서 인터넷이 되지 않습니다.
따라서 coLinux에서 실제 LAN이나 Internet을 사용하기 위해서는 PCAP-BRIDGE 네트워크를 설정해야 합니다.



최종적으로 다음과 같이 설정됩니다.


 로컬 영역 연결
실제 네트워크 장치
 eth1  PCAP-BRIDGE
 로컬 영역 연결 3
가상의 네트워크 장치
eth0
TAP-사설 네트워크


이전 글에서 "로컬 영역 연결 3"을 TAP-사설 네트워크로 설정했습니다.
이제 "로컬 영역 연결"을 PCAP-BRIDGE로 설정하겠습니다.



pcap-bridge 네트워크 설정하기

pcap-bridge 네트워크는 TAP-사설 네트워크와 달리 HOST OS(내가 사용하는 PC)와 같은 네트워크를 정보를 가집니다.

즉, 내 PC와 같은 네트워크 상에 coLinux가 존재하는 것처럼 되는 것입니다.


그럼 내 PC의 네트워크 정보를 알아야 되겠죠.
  • 로컬 영역 연결 : 실제 존재하는 네트워크 카드의 정보입니다.
    • 제가 공유기를 사용하고 있어서 192.168.10.X 대의 네트워크를 가집니다.
  • 로컬 영역 연결 3 : coLinux를 설치하면서 추가되는 TAP-Win32 네트워크 인터페이스 입니다.
    • 이전 글에서 설정한 네트워크 정보를 가지고 있습니다.


저는 공유기를 사용하고 있기 때문에 192.168.10.X대의 네트워크에 제 PC가 존재합니다.
  • IP 주소는 192.168.10.100 이구요.
  • 그럼 coLinux는 192.168.10.110을 설정하도록 하겠습니다.


start-Fedora-10.bat 파일을 다음과 같이 수정해서 coLinux에 eth1 장치를 추가합니다.

colinux-daemon.exe kernel=vmlinux initrd=initrd.gz mem=256 cobd0="C:/Program Files/coLinux/Fedora-10.img" cobd1="C:/Program Files/coLinux/swap.img" root=/dev/cobd0 eth0=tuntap,"로컬 영역 연결 3" ro eth1=pcap-bridge,"로컬 영역 연결"

  • eth0=tuntap,"로컬 영역 연결 3" ro
  • eth1=pcap-bridge,"로컬 영역 연결"


그럼 이제 start-Fedora-10.bat 파일을 더블 클릭해서 coLinux로 부팅한 후에,
ifconfig 명령으로 coLinux의 네트워크 정보를 살펴보도록 하죠.


현재는 eth0 장치만 존재합니다.

이제 eth1 장치를 추가하겠습니다.
console에서 system-config-network 명령을 실행합니다.
다음 이미지의 순서대로 하시면 됩니다.







eth1의 네트워크 정보는 이전에 언급한 대로 다음과 같이 설정합니다.
(이 네트워크 정보는 내 PC와 같은 네트워크에 있는 비어있는 IP 정보를 입력하면 됩니다.)



이제 최종적으로 두개의 이더넷 디바이스(eth0, eth1)가 추가되었습니다.


실제 인터넷을 사용하기 위해서는 DNS(Domain Name Server) 서버를 지정해주어야 합니다
(/etc/resolv.conf 파일을 직접 편집해도 됩니다.)


저는 DNS 서버로 한국통신 DNS 서버를 주로 사용합니다.



/etc/sysconfig/network-scripts 디렉토리를 보면, 다음과 같이 ifcfg-eth0, ifcfg-eth1 파일이 정상적으로 존재함을 확인할 수 있습니다.



ifcfg-eth1 파일에 조금의 작업이 필요합니다.
다음 이미지에 표시된 부분을 추가해 주시면 됩니다.
  • ONBOOT=yes : 부팅시에 활성화 시키기 위해서 추가합니다.
  • HWADDR=00:ff:9b:28:60:01 : MAC Address를 지정해줍니다. 저는 ifcfg-eth0의 HWADDR에 1을 더한 값을 사용했습니다.
  • 부팅 메시지를 보면 eth1의 HWADDR은 설정할 필요가 없습니다.
    • eth1은 어차피 시스템에 실제로 존재하는  이더넷 장치이므로 HWADDR은 설정할 필요가 없습니다.



/etc/resolv.conf 파일을 보면 DNS(Domain Name Server)도 정상적으로 적용이 되었음을 확인할 수 있습니다.



최종적으로 coLinux에서 인터넷이 되는지 ping 명령으로 확인해 봅니다.




이제 pcap-bridge를 사용해서 coLinux에서 LAN 혹은 인터넷이 되도록 했습니다.