MAC NETATALK HOWTO

From 흡혈양파의 인터넷工房
Jump to navigation Jump to search
netatalk 를 이용한 매킨토시와의 연결

며칠사이에 그동안 갖고 싶어하던 매킨토시(비록 아주 구형 모델이지만)를 원없이 만져봤다.운 좋게도 공짜로 생긴 매킨토시 IIci 는 매니아들이 명기라 부를 만큼 잘나가던 기종(? 어디서 줏어들은 얘기... ^^). 더군다나 이 매킨토시에 누버스(매킨토시의 옛기종에서 볼 수 있는 슬롯의 타입)용 애플 이더넷 카드가 장착되어있는 것이 아닌가!슬슬 입맛이 당겨진다. 그럼 매킨토시와 리눅스를 연결해보자!

준비

매킨토시와 리눅스를 연결하기 위해서는 두가지 방법이 있다. 그 첫번째는 TCP/IP 를 이용해서 통신을 하는 방법, 그다음은 리눅스 커널에서 지원하는 AppleTalk DDP 프로토콜을 이용해서 통신하는 방법이다. 첫번째 TCP/IP 를 이용한 통신은 매킨토시를 인터넷에 연결할 경우와 다르지 않으니 여기서는 생략하기로 하고, AppleTalk 를 이용하는 방법을 설명하도록 한다.

시작하기에 앞서 필요한 사항들을 살펴보자.

하드웨어

시스템

먼저 리눅스 박스가 하나 있어야 한다. 그리고 매킨토시도 하나 있어야 한다. ^^; 리눅스 박스의 CPU 는 486 이상, 메모리는 32메가 정도에서 25 개의 매킨토시를 연결할 수 있으니 이를 감안하면 될 것이다.

랜카드

손쉽게 구할 수 있는 것이면 상관없는 듯 하다. 하지만, 몇몇 랜카드는 멀티캐스팅을 지원하지 않는 것이 있으므로 잘 확인하고 준비하도록 하자. 멀티캐스팅을 지원하지 않는 것에는 Intel EtherExpress 가 그렇다고 한다(-.- 공교롭게도 피씨에 장착한 랜카드가 Intel EtherExpress Pro 일줄이야... 하지만 정상적으로 작동한다.).

매킨토시와 리눅스와의 네트웍 구성

애플 누버스용 이더넷 카드에는 10Base2, 흔히 BNC 케이블이라고도 하는데 이를 연결할 수 있도록 되어 있다. 이 케이블로 리눅스와 연결하기 위해서는 리눅스에 장착되어 있는 랜카드에도 10Base2 케이블을 꼽을 수 있도록 되어있던지 그렇지 않으면 트랜시버가 따로 있어야 한다. 10Base2 를 10BaseT 로 바꾸어주는 것이 있으니 용산과 같은 곳에서 찾기바란다. BNC 케이블을 이용할 경우에는 반드시 양쪽 끝단에 종단저항(터미네이터)으로 막아두어야 한다. 만약, 맥에 장착되어있는 이더넷 카드가 리눅스에 장착되어있는 이더넷 카드와 같이 10BaseT(UTP 케이블)를 지원한다면 문제없다.

소프트웨어

매킨토시

시스템 7.0 이상이면 사용가능하다. 그 이하는 테스트해보지 못했으므로 알 수 없다.

만약, 맥오에스를 구하지 못했다면 맥사용자 그룹이나 애플사 홈페이지에 가면 한글 시스템 7.1 이나 영문 시스템 7.0.1 등을 구할 수 있다. 애플사의 홈페이지에 가면 네트웍 소프트웨어 인스톨러(NSI)를 구할 수 있는데 이 소프트웨어를 설치하면 애플 누버스용 이더넷 카드를 인식시킬 수 있는 드라이버가 설치된다. 만약 TCP/IP 를 이용하려면 맥사용자 그룹의 자료실에서 MacTCP 를 구할 수 있으며, OpenTransport 는 애플사의 홈페이지에서 구할 수 있다. 시스템 7.1 에는 OT 1.1.1 을 설치하면 된다.

리눅스

커널 버전 1.2 이상이 필요하다. 요즘의 배포본(알짜, 레드햇, 데비안등)을 사용하고 있다면 걱정할 필요없다. Netatalk 프로그램이 필요하다. 현재 정식 버전은 1.3.3 이며, 좀더 최신의 소스를 얻고 싶다면 1.4b2 를 사용할 수도 있다. 1.4b2 는 CPU 속도 가 낮음에도 불구하고 이전 버전보다 두배정도의 속도를 느낄 수 있다고 한다.

여기에 언급된 프로그램들을 구할 수 있는 URL 은 문서의 끝부분에 명시하도록 하겠다.


Netatalk 의 설치와 설정에 대해서

netatalk 소스코드에 대한 설정

먼저 소스를 풀고 소스 디렉토리에서 Makefile 을 vi 와 같은 에디터로 불러온다. 여기서 고쳐야 할 부분은 다음과 같다.

DESTDIR=/usr/local/atalk

/usr/local/atalk 디렉토리가 싫다면 다른 디렉토리로 바꿔도 상관없다. 예를 들면,

DESTDIR=/user3/Applications/Networking/Macintosh/AppleTalk

와 같이 바꾸면 된다. ^^;


컴파일과 설치

make 와 make install 로 기본적인 컴파일과 설치는 완료된다. 만약 레드햇 5.0 버전과 netatalk 1.4b2 를 가지고 컴파일을 하려고 한다면 레드햇 5.0 에서 컴파일할 수 있도록 만든 패치(문서의 제일 마지막 부분에 위치를 명시해두었다.)를 적용하면 된다.

커널 컴파일

커널 컴파일을 하는 방법에 대해서는 Kernel HOWTO 와 같은 문서를 참조하기 바란다.

리눅스 커널 소스디렉토리(/usr/src/linux)에서 다음과 같은 방법으로 AppleTalk 에 대한 설정을 한다.

make config / make menuconfig / make xconfig (엑스윈도우상에서)
*
* Networking options
*
Appletalk DDP (CONFIG_ATALK) [Y/m/n/?] y

1.2.* 대의 커널을 가지고 있다면 IEEE802.2 의 지원이 필요하기 때문에 다음과 같은 항목에서도 yes 라고 답해야 한다.

IPX support [n] y

IPX 패키지에 IEEE802.2 인터페이스의 지원을 포함하기 때문에 이를 설정해줘야 하지만, 그 이후의 커널 버전들은 AppleTalk 자체내에도 IEEE802.2 를 지원하기 때문에 굳이 IPX 프로토콜까지 선택할 필요는 없다. 설정이 완료되었으면 커널을 컴파일 하고 재부팅하자.


옵션 설정

atalkd.conf

netatalk 소스 디렉토리중 etc/atalkd/ 혹은 conf/ 에 보면 etc.atalkd.conf 또는 atalk.conf 파일을 찾을 수 있을 것이다. 이 파일을 netatalk 의 DESTDIR/etc 에 복사하고 수정한다. 간단히 파일 내에다 자신의 이더넷 디바이스명을 적어주자.

eth0

그 외의 설정에 대해서는 AppleTalk 데몬(atalkd)이 자동으로 맞추어주니 걱정하지 않아도 된다.

AppleVolumes.default / AppleVolumes.system

conf/ 혹은 etc/afpd/ 에서 찾을 수 있고 역시 DESTDIR/etc 에 복사한뒤 수정하자. AppleVolumes.system 파일은 파일의 확장명의 매핑을 설정해놓은 파일이며, 기본적인 설정으로도 충분하다. 다음 AppleVolumes.default 는 매킨토시에서 공유할 디렉토리와 이름을 정의해주는 파일이다. 형식은 다음과 같다.

/user2/kingcrab "Jae-Hwa's Volume"
/user3/temp "Public Volume"

AppleTalk Services

/etc/services 파일에 AppleTalk 서비스를 추가하기 위해 다음과 같은 내용을 파일의 제일 마지막 부분에 넣는다.

#
# For AppleTalk Services
#
rtmp1/ddp # Routing Table Maintenance Protocol
nbp 2/ddp # Name Binding Protocol
echo4/ddp # AppleTalk Echo Protocol
zip 6/ddp # Zone Information Protocol

AppleTalk Demon Startup

소스디렉토리에서 rc.atalk.sysv 파일을 찾을 수 있으며, 약간의 수정이 필요하다.

/etc/rc.d/init.d/atalk 혹은 /etc/rc.d/rc.atalk 로 복사한 뒤 사용하면 된다. 예제는 다음과 같다.

ATALKDIR="/usr/local/atalk"
echo "Starting AppleTalk Fileserver..."
${ATALKDIR}/etc/atalkd
echo -n 'atalkd'
${ATALKDIR}/bin/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:Workstation
${ATALKDIR}/bin/nbprgstr -p 4 `hostname|sed 's/\..*$//'`:netatalk
echo -n 'nbprgstr'
${ATALKDIR}/etc/afpd
echo ' afpd.'

사용자 만들기

매킨토시 사용자가 리눅스 박스의 디스크를 공유하기 위해서 AppleShare 를 선택했을 때 입력하는 사용자와 비밀번호는 리눅스 박스에 있는 사용자 것이어야 한다. 단 비밀번호는 AppleShare 가 8자리만 허용하기 때문에 8자리내에서 선택해야 한다.

서버 시작하기

/etc/rc.d/init.d/atalk 를 실행시키면 AppleTalk 서비스를 제공하는 데몬이 시작된다.

/etc/rc.d/init.d/atalk start


매킨토시에서 리눅스 디스크를 마운트하자.

매킨토시의 조절판에서 Network 부분을 LocalTalk 를 EtherTalk 로 바꾸던지, 혹은 Ethernet 으로 연결을 바꾼다.

애플 메뉴에서 Chooser(선택자)를 선택하고, AppleShare 서비스를 클릭한다. 이때 애플토크가 비활성 상태에 있다면 활성 상태(Active)로 전환한 뒤 시스템을 재부팅하고, 만약 활성 상태인데도 불구하고 아무것도 나타나지 않는다면, 조절판의 Network 부분이 여전히 LocalTalk 로 되어있을 수 있으니 이를 EtherTalk / Ethernet 으로 바꾸고 다시 Chooser(선택자)를 선택한다.

리눅스 박스에 있는 사용자명과 비밀번호를 이용해서 AppleShare 서버에 로그인한다. 만약 위에서 설정한 디렉토리에 쓰기 권한이 없을 경우에는 AppleShare 가 이 디렉토리를 읽기전용으로 마운트하게 된다.

AppleVolumes.default 에서 정해준 볼륨이 두개 이상일 경우에는 마운트할 볼륨을 선택하게 되는데 해당 볼륨에 선택바를 위치시키고 엔터를 치면 된다. 오른쪽에 네모박스에 클릭하면 나중에 재부팅시마다 해당 볼륨을 마운트하게 된다. 마운트가 되면 매킨토시 화면 오른쪽에 리눅스 박스의 볼륨이 나타나게 된다. 클릭하게 되면 해당 디렉토리가 담고 있는 파일이나 디렉토리들이 나타나게 된다.

마운트를 해제하려면 오른쪽 화면에 나타난 리눅스 박스의 볼륨 그림을 휴지통으로 버리면 된다. 그렇다고 해서 내용이 지워지는 것은 아니니까 걱정하지 말자. ^^;


Netatalk HOWTO

이 글은 앤더스 브라운워스씨의 "Linux Netatalk-HOWTO"를 참고했다. 다음의 URL에서 찾을 수 있다.


소프트웨어를 구할 수 있는 곳

1. 영문 시스템 7.0.1

2. 한글 시스템 7.1

  • 하이텔 매킨토시 통신동호회 고맥
    • go gomac 5 자료
      • 1391, 1393, 1400, 1403, 1404, 1405, 1406, 1407, 1411
  • 나우누리 매킨토시 사용자 그룹
    • go mug 17 자료
      • 5736, 5737, 7173, 5740 - 5752

3. Network Software Installer

4. Open Transport

5. MacTCP

  • 하이텔 매킨토시 통신동호회 고맥
    • go gomac 5 자료
      • 1481

6. Netatalk