< 리눅스 복합서버 구축하기 >
- 맥과 윈도우 PC간의 파일 공유 및 인터넷 공유 서버구축 -

필자 : 정용석 (freemir@lsa.2y.net)

 

     

    《 목 차 》

    1. 리눅스로 다양한 서버를 함께 설치하자

    2. 리눅스 서버 구축 개념잡기

    3. 리눅스 서버 구축 실전

      가. 컴퓨터를 조립한 뒤 Red Hat 6.2 설치
      나. Linux로 부팅 후 이더넷 카드 설정
      다. UDMA 66/100 커널패치 (커널 업그레이드도 병행)
      라. 3COM 905B-TXNM 드라이버를 설치
      마. /usr/src/linux로 이동하여 커널 컴파일 시작
      바. DHCP 클라이언트 실행을 위한 설정
      사. IP masquerade를 위한 설정
      아. 매킨토시, MS 윈도우즈, FTP에서 사용할 디렉토리와 사용자를 등록
      자. Mac과의 연결을 위한 AppleTalk Protocol 설치
      차. 삼바(samba)로 MS 윈도우즈와 연결
      카. FTP 디렉토리 설정
      타. 타 운영체제에서의 설정

    4. 적용분야

     

1. 리눅스로 다양한 서버를 함께 설치해보자.

     

    위와 같이 두루넷 케이블로 받고 있는 인터넷 서비스를 내부 네트워크에서 공유하며, 매킨토시용으로 외부에서 전송 가능한 FTP 파일서버, 내부에서만 사용 가능한 Mac 파일서버, 그리고 MS 윈도우즈를 사용하는 컴퓨터에서만 사용 가능한 MS 윈도우즈용 파일서버, 이렇게 4가지의 서비스가 종합된 복합 서버를 구축하여 보도록 하겠습니다. 자 그러면 한가지씩 정리해 보도록 하겠습니다.

     

2. 리눅스 서버 구축 개념잡기

    복합 서버를 구축하기 위해서는 우선 각각의 서버를 운영하는데 필요한 것들을 알아보아야 할 것입니다.

    ▶ 준비된 컴퓨터 사양

    CPU  : 인텔 펜티엄 셀러론 500Mhz
    M/B  : GIGABYTE ATA-66 지원보드
    RAM : 128MB
    HDD : IBM Deskstar 30G(ATA-100)
    ETH  : 3COM 905B-TXNM, Realtek 8139B 칩셋을 사용한 대만제 이더넷 카드
    그 외 : 케이스, 파워 서플라이, 키보드, 모니터 등

     

3. 리눅스 서버 구축 실전

     

    가. 컴퓨터를 조립한 뒤 Red Hat 6.2 설치

    ※ UDMA-66 또는 100의 하드디스크를 설치할 때는 기본으로 들어있는 커널에서 지원이
        안되므로 우선 E-IDE primary master에 설치한 후 UDMA 패치를 적용시킨 다음에
        연결해야 합니다.

    (1) CMOS Setup에서 Boot Sequence 항목을 수정하여 First boot를 CD-ROM으로 선택
    (2) CD-ROM 드라이브에 Red Hat 6.2 CD를 넣고 부팅
    (3) 아나콘다(anaconda)를 이용한 시각적인 설정을 사용.
         아니면 텍스트 기반의"linux : text"로 설치

    ※ 개인적인 견해로 텍스트 모드를 권장합니다. 아나콘다 사용시 시스템 자원을 X에
        사용하므로 텍스트 모드보다 느려집니다.

    (가) 주의할 것은 두루넷의 케이블 모뎀 서비스를 받는 경우 DHCP 클라이언트(client)를
          설치해야 합니다. 가정에서 두루넷의 서버에서 IP를 할당받는 것이므로 가정은
          클라이언트의 개념이 됩니다. 여기서 말씀드리고 싶은 것은 설치프로그램에서 이더넷
          카드를 찾아내어 설정을 하게 됩니다. 이때 DHCP로 사용할 것이라고 설정해도
          Red Hat 6.2의 경우 dhcpcd를 기본적으로 설치하지 않으니, 설치 패키지를 고를 때
          필히 "개별 패키지 선택(Select Individual packages)"를 선택하여 dhcpcd 패키지를
          선택해야 합니다. 또한, lrzsz 패키지도 기본적으로 설치가 되지 않을 수 있으므로 꼭
          확인하는 습관을 길러야 합니다.

     

    나. Linux로 부팅 후 이더넷 카드 설정

    (1) Linux로 부팅을 한 후에 이더넷 카드가 인식이 되는지 확인해 봅니다.
         3COM 905B-TXNM 이더넷 카드와 Realtek 8139 칩을 사용한 대만제 이더넷 카드가
         인식이 되는 것을 확인할 수 있습니다. 만약 CPU와 HDD의 성능이 좋아서 너무 빠르게
         메시지가 지나간다면 dmesg 명령으로 다시 확인할 수도 있습니다.
         두 개의 이더넷 카드가 부팅 시 모듈로 읽혀지는 것을 확인할 수 있습니다. 그러나 여기서
         안심할 수 없는 것은 부팅 시 사용하는 모듈이 3COM의 경우 정확한 것이 아니라는
         것입니다. 그러한 연유로 우선 내부 네트웍에 연결되어 있는 인터넷이 되는 다른 PC를
         이용하여 패치파일을 받아야 합니다.

    (2) 내부 네트웍을 이용하기 위하여 우선 내부 네트웍용으로 이더넷 카드의 설정을 바꾸어
         줍니다. 만약 3COM 이더넷 카드는 eth0 으로, Realtek 8139 카드는 eth1으로 설정되었고,
         eth0를 두루넷 케이블 모뎀과 연결한다면 eth1은 내부 네트워크 연결용으로 사용할
         것이므로 아래와 같이 설정해 줍니다.

      [root@server /]# cd /etc/sysconfig/network-sctipts
      [root@server network-scripts]# vi ifcfg-eth1
      DEVICE=eth1
      BROADCAST=192.168.1.255
      IPADDR=192.168.1.1
      NETMASK=255.255.255.0
      NETWORK=192.168.1.0
      ONBOOT=yes

    ※ 왜 ifcfg-eth0은 설정하지 않느냐고 질문하시는 분들이 계실 겁니다. DHCP의 경우
        데몬이 메모리 상에 올라가면 자동으로 eth0(dhcpcd가 사용하는 이더넷 카드)에 대한
        정보를 자동으로 만들어 줍니다. 접속한 다음에 보면 자동으로 eth0가 생성되고
        /etc/resolv.conf도 내용이 자동으로 생성되는 것을 알 수 있습니다.

    ※ 만약 데비안을 설치하여 사용하신다면 /etc/init.d/network에 아래와 같이 설정해 줍니다.
     

      #!/bin/sh
      ifconfig lo 127.0.0.1
      route add -host 127.0.0.1 dev lo
      IPADDR=192.168.2.1
      NETMASK=255.255.255.0
      NETWORK=192.168.1.0
      BROADCAST=192.168.1.255
      GATEWAY=
      ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
      route add -net ${NETWORK} dev eth0
      route add -host ${IPADDR} dev eth0

 

    (3) 이제 다시 부팅을 한 뒤 리눅스에서 eth1이 정확하게 설정되었는지 ifconfig 또는
         netstat -nr 등의 명령을 이용하여 확인합니다.

      [root@server root]# netstat -nr
      Kernel IP routing table
      Destination  Gateway  Genmask             Flags  MSS  Window  irtt  Iface
      192.168.1.1  0.0.0.0    255.255.255.255   UH       0        0        0    eth1
      192.168.1.0  0.0.0.0    255.255.255.0       U         0        0        0    eth1
      127.0.0.0      0.0.0.0    255.0.0.0              U        0        0        0     lo
      [root@server root]#

    (4) 다른 PC에서 리눅스 서버로 접속하여 받은 파일을 적당한 디렉토리에 복사해 넣습니다.

     

    다. UDMA 66/100 커널패치 (커널 업그레이드도 병행)

    (1) Red Hat 6.2 설치시 기본적으로 커널 2.2.14가 설치되므로 커널을 업그레이드 합니다.
         커널 소스와 UDAM 66/100 커널 패치 파일을 받습니다.

      (가) 커널 버전 2.2.17 소스파일(현재, 안정버전 2.2.18까지 나와있고, 2.4도 나왔군요.)
             ftp://sunsite.unc.edu/pub/linux/kernel/v2.2/linux-2.2.17.tar.gz
      (나) UDMA 66/100용 패치파일
             http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.2.17 \
                    /ide-2.2.17/ide.2.2.17.all.20000904.pathch.gz

    (2) 커널 소스를 설치합니다. /usr/src 밑에 압축을 해제하고 linux라는 디렉토리가 생성되므로
         디렉토리명을 linux-2.2.17 이런 식으로 바꾸고 linux로 링크를 걸어줍니다.
         그 후 /usr/include에 있는 asm, linux, scsi 디렉토리를 지우고 /usr/src/linux/include
         밑에 있는 디렉토리로 링크를 걸어줍니다.

    (3) UDMA 66/100 커널 패치 파일을 적용시킵니다.

      [root@server root]# mv ./ide.2.2.17.all.20000904.patch.gz /usr/src/
      [root@server root]# cd /usr/src/linux
      [root@server linux]# patch -p1 < ../ide.2.2.17.all.20000904 .patch.gz

     

    라. 3COM 905B-TXNM 드라이버를 설치

    (1) 3COM 905B-TXNM 패치 파일을 받습니다.
         http://support.3com.com/infodeli/tools/nic/linux/3c90x-1.0.0i.tar.gz

    (2) 3COM 905B-TXNM 패치 파일을 적용시킵니다.
        [root@server root]# mv ./3c90x-1.0.0i.tar.gz /usr/src/
        [root@server root]# cd /usr/src
        [root@server src]# tar xvfz 3c90x-1.0.0i.tar.gz
        [root@server src]# cd linux
        [root@server linux]# patch -p0 < ../3c90x-1.0.0/patch 2.2.5

     

    마. /usr/src/linux로 이동하여 커널 컴파일 시작

    (1) /usr/include에 asm, linux, scsi를 지우고 다시 링크를 걸어줍니다.
        [root@server linux]# cd /usr/include
        [root@server include]# rm -rf asm linux scsi
        [root@server include]# ln -s /usr/src/linux/include/asm-i386 asm
        [root@server include]# ln -s /usr/src/linux/include/linux linux
        [root@server include]# ln -s /usr/src/linux/include/scsi scsi
        [root@server include]# cd /usr/src/linux
        [root@server linux]# make mrproper
        [root@server linux]# make menuconfig

    (2) 커널 옵션 설정에서 필요한 것을 설정

      (가) Mac 연결을 위한 설정

        1) Appletalk DDP

      (나) UDMA 66/100을 위한 설정

        1) Code maturity level options
        2) Block devices
            ① Include IDE/ATA-2 DISK support
            ② Include IDE/ATAPI CDROM support
            ③ 자신의 메인보드에 맞는 칩셋(eg. CMD640 chipset bugfix/support,
                CMD640 enhanced support). 칩셋은 메인보드 설명서를 보면 나옵니다.
            ④ Generic PCI IDE chipset support
            ⑤ Sharing PCI IDE chipset support
            ⑥ Generic PCI bus-master DMA support
            ⑦ Use DMA by default when available
            ⑧ Boot off-board chipsets first support
            ⑨ Other IDE chipset support

      (다) 3COMB-TXNM과 Realt다 8139 사용을 위한 설정

        1) Network device support
            가) Ethernet (10 or 100Mbit)
            ① 3COM cards
            ② 3c90x/3c980 B/C series
                "Cyclone/Hurricane/Tornado" support (NEW)
            ③ RealTek 8129/8139 (not 8019/8029!) support

      (라) DHCP 클라이언트 데몬 사용을 위한 설정

        1) Networking options
            ① Packet socket

      (마) IP Masquerading을 위한 설정

        1) Code maturity level options
            ① Prompt fot development and/or incompletecode/drivers
        2) Loadable module support
            ① Enable loadable module support
        3) Networking options
            ① Network firewalls
            ② IP: firewalling
            ③ IP: masquerading
            ④ IP: ICMP masquerading
            ⑤ IP: masquerading special modules support
            ⑥ IP: ipportfw masq support (EXPERIMENTAL)

    (3) 커널 컴파일 및 모듈 컴파일, 설치
        [root@server linux]# make dep
        [root@server linux]# make clean
        [root@server linux]# make bzImage
        [root@server linux]# make modules
        [root@server linux]# make modules_install

    (4) 커널 컴파일을 마친 후 커널 이미지를 복사합니다.
        [root@server linux]# cp ./arch/i386/boot/bzImage /boot/vmlinuz-2.2.17
        [root@server linux]# cp ./System.map /boot/System.map-2.2.17
        [root@server linux]# cd /boot
        [root@server /boot]# rm -f System.map
        [root@server /boot]# rm -f vmlinuz
        [root@server /boot]# ln -s ./System.map-2.2.17 System.map
        [root@server /boot]# ln -s ./vmlinuz-2.2.17 vmlinuz

    (5) lilo.conf를 수정합니다.

      [root@server /boot]# vi /etc/lilo.conf
      boot=/dev/hda
      map=/boot/map
      install=/boot/boot.b
      prompt
      timeout=50
      default=linux

      image=/boot/vmlinuz
              label=linux
              read-only
              root=/dev/hde1

      image=/boot/vmlinuz-2.2.14-5.0
              label=linux-001216
              read-only
              root=/dev/hde1
      [root@server /boot] lilo
      Added linux *
      Added linux-001216
      [root@server /boot]#

    (6) fstab을 수정합니다.
        [root@server /boot]# vi /etc/fstab

    ※ 설정되어 있는 부분을 hde로 바꿔줍니다

    (7) 시스템을 종료시킨 후 UDMA용으로 커넥터를 바꿔 줍니다.

    (8) 시스템을 켜고 UDMA가 정확하게 되는지 확인합니다.

    (9) 설치된 모듈을 인식시켜 줍니다.
        [root@server /]# depmod -a

     

    바. DHCP 클라이언트 실행을 위한 설정

    (1) /etc/rc.d/rc.local에 다음의 내용을 적어줍니다.
         /usr/sbin/dhcpcd -t 90 eth1
         sleep 5

    (2) DHCP 접속이 끊겼을 경우를 대비한 재접속 스크립트

    (가) 우선 fping이라는 프로그램이 필요합니다. fping은 아래의 주소에서 받을 수 있습니다.
           http://www.stanford.edu/~schemers/docs/fping/fping.tar

    (나) /etc에 autoreconnect라는 파일을 만들어 아래와 같이 작성합니다.

      #!/bin/bash
      export PATH=/bin:/sbin:/usr/sbin:/usr/bin
      GATEADDR="211.110.52.1"
      # fping이 실패면 then 이하 실행
      #
      while [ 1 ]
      do
        fping $GATEADDR > /dev/null 2> /dev/null
        ALIVE=$?
        if [ "$ALIVE" != "0" ]
          then
             ifconfig eth1 down 2> /tmp/log1
             kill -9 `ps ax | grep dhcpcd | cut -b 0-5` 2> /tmp/log1
             rm -f /var/run/dhcpcd-eth1.pid 2> /tmp/log1
             dhcpcd -t 90 eth1
             sleep 5
             IPADDR=`ifconfig eth1 | grep inet | cut -b 21-36`
             mail -s "$IPADDR - dhcpcd" freemir@lsa.2y.net
             ifconfig eth1 | mail -s "from dhcpcd" freemir@lsa.2y.net
          else
             sleep 120
        fi

    ※ 우선 fping으로 게이트웨이에 대해 접속이 되어있는가 조사하여 접속이 끊겼다면
        현재 실행 중인 dhcpcd 프로세스를 죽인 후 다시 접속하는 스크립트입니다.
        fping  검사는 120초 그러니까, 2분마다 하도록 설정되어 있습니다. chmod로 권한을
        755로 설정한 뒤 /etc/rc.d/rc.local의 맨 마지막에 /etc/autoreconnect & 라고 적어줍니다.

     

    사. IP masquerade를 위한 설정

    (1) IP forwarding 설정

    (가) Red Hat의 경우 /etc/sysconfig/network 파일에 아래의 내용을 적어주면 됩니다.
          FORWARD_IPV4=yes

    ※ 그러나, 불행히도 Red Hat 6.2의 자체 버그 때문인지 아무리 적어주어도 실행이 되지
        않습니다. 그리하여 직접 대입법으로 한다면 /etc/rc.d/rc.local에 아래의 내용을
        적어줍니다.
        echo "1" > /proc/sys/net/ipv4/ip_forward
        위의 방법은 강제로 ip_forward의 값을 1로 바꾸어 실행하도록 하는 방법입니다.

    (2) IP chains 설정

    (가) /etc/rc.d/rc.local에 다음의 내용을 적어줍니다.
          /sbin/ipchains -P forward DENY
          /sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ

    ※ 왜 192.168.1.0 다음에 /24를 해주는 것일까요? 그것은 해당 내부 네트워크 주소가
        C 클래스 이므로 netmask가 255.255.255.0입니다. 각 부분이 8bit이므로 8×3=24이므로
        24를 적어줍니다. 24대신 255.255.255.0를 적어도 가능합니다.
        기본 방식은 255.255. 255.0으로 적어야 합니다. 몇몇 프로그램에서만 8의 배수를
        인식합니다.

    (3) Port forwarding 설정

    (가) 다이얼 패드 같은 프로그램 사용을 위해서는 아래와 같이 설정해 줍니다.
           단, ipmasqadm 이라는 프로그램이 필요합니다. 파일은 sunsite.unc.edu 등에서
           구할 수 있습니다. /etc/rc.d/rc.local에 적어주면 됩니다.
           /usr/sbin/ipmasqadm autofw -A -v -u -r udp 51200 51201 -c tcp 7175
           /usr/sbin/ipmasqadm autofw -A -v -u -r tcp 51210 51210 -c tcp 7175

    (4) IP masquerading한 컴퓨터에서 irc, 리얼오디오, ftp 등을 할 수 있도록 설정

    (가) /etc/rc.d/rc.modules에 아래와 같이 추가합니다.
          #!/bin/sh
          insmod ip_masq_vdolive
          insmod ip_masq_raudio
          insmod ip_masq_irc
          insmod ip_masq_ftp

     

    아. 매킨토시, MS 윈도우즈, FTP에서 사용할 디렉토리와 사용자를 등록

      [root@server /]# mkdir Mac        → 매킨토시에서 사용할 파일서버
      [root@server /]# mkdir pub
      [root@server /]# cd pub
      [root@server /]# mkdir macfile    → 외부에서 접속할 FTP 서버
      [root@server /]# mkdir windows  → MS 윈도우즈에서 사용할 파일서버
      [root@server /]# adduser ohk      → 각 디렉토리 권한을 위한 사용자 등록

    ※ 물론 패스워드는 각자 바꾸어 주도록 합니다.

      [root@server /]# chown ohk Mac
      [root@server /]# chgrp ohk Mac

    ※ 나머지 /pub/macfile과 /pub/windows도 소유자와 소유그룹을 동일하게 설정합니다.

     

    자. Mac과의 연결을 위한 AppleTalk Protocol 설치

    (1) netatalk+asun 파일을 받는다.
         ftp://ftp.redhat.com/contrib/libc6/SRPMS/netatalk-1.4b2+asun2.1.4-0.src.rpm

    (2) libdes 파일을 받는다.
         ftp://ftp.redhat.com/contrib/libc6/SRPMS/libdes-4.04b-1.src.rpm

    (3) tcp wrappers 파일을 받는다.
         ftp://ftp.redhat.com/contrib/libc6/SRPMS/tcp_wrappers-7.6-5.src.rpm

    ※ 현재 tar.gz의 형식으로는 netatalk-1.4b2+asun2.1.3.tar.gz만이 있습니다.
        이것은 본 기사의 설정이 맞지 않으므로 주의하시기 바랍니다.
        데비안 사용자는 ftp://sunsite.unc.edu에서 데비안용 패키지를 찾으실 수 있습니다.

    (4) 받은 소스 rpm을 설치합니다.
         [root@server root]# rpm -Uvh netatalk-1.4b2+ asun2.1.4-0.src.rpm
         [root@server root]# rpm -Uvh libdes-4.04b-1.src.rpm
         [root@server root]# rpm -Uvh tcp_wrappers-7.6-5.src.rpm

    (5) netatalk+asum과 libdes 파일을 컴파일 한다. 소스 rpm을 설치하면
         /usr/src/redhat/SOURCES 디렉토리 아래에 생성됩니다.
         [root@server root]# cd /usr/src/redhat/SOURCES
         [root@server SOURCES]# mv ./netatalk-1.4b2+asun2.1.4-0.tar.gz /usr/local/
         [root@server SOURCES]# mv ./libdes-4.04b-1.src.rpm /usr/local/
         [root@server SOURCES]# mv ./tcp_wrappers-7.6-5.src.rpm /usr/local/
         [root@server SOURCES]# cd /usr/local/
         [root@server local]# tar xvfz netatalk-1.4b2+asun2.1.4-0.tar.gz
         [root@server local]# tar xvfz libdes-4.04b-1.tar.gz
         [root@server local]# tar xvfz tcp_wrappers-7.6-5.tar.gz

    (가) libdes를 설치합니다.
         [root@server local]# cd des
         [root@server des]# make ; ./destest ; ./rpw ; mkdir /usr/local/include
         [root@server des]# make install
         [root@server des]# cp des.h ../netatalk-1.4b2+asun2.1.4/include/

    (나) tcp wrappers를 설치합니다.
         [root@server des]# cd ../tcp_wrappers_7.6
         [root@server tcp_wrappers_7.6]# cp tcpd.h ../netatalk-1.4b2+asun2.1.4/include/

    (다) netatalk+asun의 Makefile을 수정합니다.
         [root@server tcp_wrappers_7.6]# cd ../netatalk-1.4b2+asun2.1.4
         [root@server netatalk-1.4b2+asun2.1.4]# vi Makefile
         DESTDIR=/usr/local/atalk    <- 설치할 디렉토리를 적습니다.
         CRYPTODIR=/usr/local/ssl  <- 만약 주석처리 되어있으면 해제합니다.
         #DESDIR=/usr/local           <- des.h 파일의 위치입니다.
                                                     기본 값인 include 디렉토리에 넣었으니 주석처리합니다.

    (라) 새도우 패스워드 사용자라면 아래와 같이 수정합니다.
         [root@server netatalk-1.4b2+asun2.1.4]# cd etc/afpd
         [root@server afpd]# vi Makefile
         CFLAGS= ${DEFS} ${AFSDEFS} ${OPTOPTS} ${INCPATH} -DAPPLCNAME
         위의 줄 마지막 부분에 -DSHADOWPW를 추가합니다.
         -> CFLAGS= ${DEFS} ${AFSDEFS} ${OPTOPTS} ${INCPATH} -DAPPLCNAME      -DSHADOWPW

    (마) netatalk+asun을 설치합니다.
         [root@server afpd]# cd /usr/local/net

         atalk-1.4b2+asun2.1.4
         [root@server netatalk-1.4b2+asun2.1.4]# make ; make install

    (바) 아래와 같이 설정파일을 만들어 줍니다.
         [root@server netatalk-1.4b2+asun2.1.4]# cd ../atalk
         [root@server atalk]# vi ./etc/afpd.conf-guestname ohk  <- 가장 마지막 줄에 추가

    ※ -guestname이라는 것은 해당 디렉토리에 접근할 때 가지는 권한에 대한 설정입니다.
        여기서 -guestname 다음에 ohk라고 적어준 것은 guest로 접근시 ohk 사용자의 권한을
        가지고 접근한다는 의미입니다. 즉, 현재 구성하는 파일서버에서 맥과 MS 윈도우즈에서
        동시에 쓰고 지울 수 있는 권한을 부여하기 위해 설정한 것입니다.

         [root@server atalk]# vi ./etc/atalkd.conf
         eth0 -phase 2 -net 0-65534 -addr 65280.19  <- 가장 마지막 줄에 있는지 확인
         [root@server atalk]# vi ./etc/AppleVolumes.default
         /Mac mac_server  
         <- /Mac이라는 디렉토리를 맥에서 mac_server라는 명칭으로 보이도록 설정
         /pub/macfile output_server
         <- /pub/macfile이라는 디렉토리를 맥에서 output_server라는 명칭으로 보이도록 설정

    ※ 물론 위의 설정들은 파일의 맨 마지막에 적어줍니다.

     

    차. 삼바(samba)로 MS 윈도우즈와 연결

    (1) 삼바 소스파일을 받습니다.
         http://www.samba.org에서 받을 수 있습니다.(한국 미러사이트도 있습니다.)
         본 설정에서 받은 파일은 samba-2.0.6.tar.gz이지만 현재 2.0.7버전까지 나와있습니다.

    (2) 받은 소스파일의 압축을 해제합니다.
         [root@server atalk]# mv ./samba-2.0.6.tar.gz ../
         [root@server local]# tar xvfz samba-2.0.6.tar.gz

    (3) 소스파일을 컴파일 합니다.
         [root@server local]# cd samba-2.0.6/source
         [root@server source]# ./configure
         [root@server source]# make
         [root@server source]# make install

    (4) 설정파일을 복사한 후 수정합니다.
         [root@server source]# cp./examples/smb.conf.default \
          /usr/local/samba/lib/smb.conf
         [root@server source]# cd /usr/local/samba/lib
         [root@server lib]# vi smb.conf
         #======= Global Settings =======
         [global]
           workgroup = window_file <- MS 윈도우즈 네트워크 환경에서 보이는 이름 설정
           guest account = ohk       <- MS 윈도우즈에서 로그인시 사용할 이름
         [public]
            comment = Public Stuff
            path = /pub/windows     <- MS 윈도우즈에서 사용할 디렉토리
            public = yes
            writable = yes
         ;  printable = no
         ;  write list = @staff
            only guest = yes

    (5) ohk라는 사용자를 등록해줍니다.
         [root@server lib]# cd ../bin
         [root@server bin]# ./smbpasswd -a ohk  <- 여기서 입력한 패스워드를 기억

    (6) 부팅시 실행되도록 /etc/rc.d/rc.local에 다음의 내용을 추가합니다.
         /usr/local/samba/bin/smbd -D
         /usr/local/samba/bin/nmbd -D

     

    카. FTP 디렉토리 설정

    (1) kim이라는 새로운 사용자를 등록하고 사용 디렉토리를 /pub/macfile로 합니다.
            [root@server lib]# adduser -d /pub/macfile kim
            [root@server lib]# passwd kim
            [root@server lib]# cd /pub/
            [root@server pub]# chown ohk macfile
            [root@server pub]# chgrp users macfile

    (2) /etc/group에서 users에 ohk와 kim을 추가합니다.
            [root@server pub]# vi /etc/group
            users:x:100:ohk,kim

    (3) 위의 (가), (나) 일련의 작업이 필요한 이유
         우선, 내부 네트워크의 매킨토시에서 output_server로 보이는 /pub/macfile의 권한을
         내부 사용자인 ohk가 가지도록 설정하였습니다. 이것은 외부에서 사용하는 것 보다
         내부에서 사용하는 것이 더 중요하기에 권한을 우선적으로 ohk에 주었기 때문입니다.
         즉, 외부에서 ftp 접속시 kim으로 접속하여 작업하고, 내부에서 그 파일을 다시 작업할 수
         있도록 하는 것입니다.

     

    타. 타 운영체제에서의 설정

    (1) 매킨토시에서의 설정

         (가) TCP/IP에서 각각의 주소를 내부 네트워크 주소로 할당하고,
               네임서버와 기본 게이트웨이를 192.168.1.1로 설정합니다.

    (2) MS 윈도우즈에서의 설정

         (가) 로그인시 ohk로 로그인하도록 설정하고, 패스워드는 삼바에서 설정한 패스워드와
               동일하게 설정합니다.
         (나) 네트워크 환경 설정
               기본 게이트웨이와 네임서버를 192.168.1.1로 설정하고, 내부 네트워크 주소를 할당
         (다) 전체 네트워크
               전체 네트워크 검색에서 window_file이 검색되는지 확인하고 필요에 따라 링크

 

4. 적용분야

    이렇게 하여 전체적인 설정을 마쳤습니다. 부팅 시, 자동접속 스크립트로 다시 접속시 설정해준 메일 주소로 IP 주소가 전송되므로 외부에서 FTP 접속이 필요하거나 할 때 유용하게 쓰일 수 있습니다.

    이번에 다른 내용은 출력소 등에서 적용할 수 있습니다. 고객이 출력을 맡기러 일일이 찾아오는 것이 아니라 FTP로 파일을 보내고, 추후 출력시 찾아가 찾아오는 등 소요가 적어지며, FTP에 올린 파일을 MS 윈도우즈나 맥에서 작업할 수 있습니다.

    본지에서 소개한 방법 이외에도 더 적용할 수 있는 기술로는 내부 네트워크에서  IP 주소 할당 방식에서 각각의 컴퓨터에서 직접 설정하는 것이 아니라, DHCP  서버를 설치하여 내부 네트워크 주소를 리눅스에서 할당해주는 방법도 있습니다.




▲ top

home으로...