리눅스
설치 입문 III
참고 사항 : |
이 글은 리눅스 월드 '99년
5월호 기사이다. |
이 글은 Linux Gazette에 실렸던 기사입니다. 이번 호의 기사는 실제적인 네트워크 구축방법을 설명하고 있습니다. 기초적인 네트워크 구축에서 가정에서 활용할 만한 충분한 사항을 조목조목 설명한 Ron Jenkins의 경험을 함께 해 보시기 바랍니다. 이 글에 대한 원본은 다음의 웹페이지를 참고하기 바랍니다.
http://www.linuxgazette.com/issue36/jenkins5.html
http://www.linuxgazette.com/issue37/jenkins5.html
필자는 케이블과 동축 클립과 그외의 케이블에 관한 사항을 구입하는것에 대한 언급을 자세히 하지 않은 것 같다.
여러분의 지역에 컴퓨터 상점이 있을 것이고 좀더 생각해보면 Radio Shack 1999년 카다로그 163페이지를 보기 바란다.
이 내용은 여러분에게 여러분이 설치하고자 하는 장소에 케이블 한다발로 묶어서 함께 케이블링하고 고정시키는 것에 대한 것을 알려줄 것이다. 이러한 방법은 케이블 문제를 좀더 쉽게 하고 케이블에서 발생할 문제를 좀더 쉽게 한다.
마지막으로 케이블의 양쪽 끝을 만들 곳에 여러분이 알 수 있는 방법으로 마킹을 해놓는다. 이것을 하는 방법은 여러 가지가 있으나 단순히 케이블 그것 자체에 샤프나 또는 흰색 펜으로 케이블에 쓰는 것이다.
추가적으로 각 10Base2 동축 버스 네트워크는 BNC라고 불리는 T자형 커넥터가 필요하다. 이것은 여러분의 네트워크 카드에 포함되어 있다. 만약 Radio Shack에 가지 않는다면 해당 책의 278-112에서 이러한 사항을 얻을 수 있을 것이다. 이것은 컴퓨터 가게에서 그것들을 구입하는 것보다 좀 더 비용이 쌀 것이다. 마지막으로 터미네이터를 잊지마라. 이것은 반드시 두 개가 필요하다. 이것도 또한 여러분의 지역 컴퓨터 상점이나 Radio Shack에서 살 수 있다.
◈ 가정내 네트워크를 구축하기
이번달은 지난달에 계획했던 가정내 네트워크의 내용을 실행에 옮겨보자.
여기에는 몇가지 단계가 있다. 필자가 권하는 순서는 필자 나름대로의 방법이다. 그러나 여러분의 개발 단계에 대한 선택을 여러분에 맞추어 할 수 있다.
추가적으로 필자는 단계별로 네트워킹 구성요소와 프로토콜의 설정에 대해서 가르쳐 줄 것이다. 이것은 여러분에게 이 시리즈가 계속됨에 따라서 더해진 내용에 대한 기본적인 기능을 상기시켜주는 것이다.
이 설치의 목적은 네트워킹 하드웨어와 소프트웨어를 설치하고 기본적인 연결을 제공하고 간단한 네임 서비스를 하고 파일 공유 서비스를 하는 것이다.
좀더 진보된 서비스 예를 들면 sendmail, DNS, 라우팅, ftp, 웹, 프린트 서비스, 게이트웨이 서비스 등은 다음 설치법에서 다루기로 하겠다.
이 시리즈의 각 설치는 배포본마다 서로 차이가 있기 때문에 필자는 일반적인 정보만을 제공할 것이다.
이 설치에서는 다음과 같은 주제를 다룰 것이다.
- 설치전 계획
- 케이블링 준비
- 파일서버 준비
- 워크스테이션 준비
- 케이블링 설치
- 하드웨어 설치
- 소프트웨어 설치
- 파일서버 설정
- 워크스테이션 설정
- 설치점검
- 설치시의 문제점 해결
- 참고
- 깊이있는 정보를 찾을 수 있는 것
이 설치에서는 여러분이 처리하기 쉽도록 최대한 단순한 수준에서 처리되는 것으로 가정한다.
우리는 세가지 형태의 네트워크 노드를 설치할 것이다. 이것은 파일 서버, 윈도우즈 NT 그리고 리눅스 클라이언트이다. 물리적으로 모든 세가지 장비는 하나의 테이블에 위치시킬 것이다. 리눅스 클라이언트는 가장 왼쪽에 리눅스 파일서버는 중앙에 NT 클라이언트는 가장 오른쪽이다.
10Base2 (동축 또는 버스형 설정)에서는 케이블링이 테이블의 뒤쪽을 따라서 이루어진다. 그리고 클립으로 묶인다. 이 클립은 컴퓨터 상점이나 Radio Shack에서 구입할 수 있다.
10BaseT 또는 스타형 설정에서는 허브가 파일 서버 옆에 위치하게 된다. 그리고 케이블링은 허브로부터 각 장비로 방사형으로 나간다. 세 개의 케이블들이 함께 케이블 묶는 것으로 묶여질 것이다. 이것은 테이블의 뒤쪽에 역시 클립으로 고정된다.
NIC는 여기서 NE2000 ISA 콤보 카드를 사용할 것이다. 이것은 BNC와 RJ-45 인터페이스를 모두 가지고 있다. 이 카드는 플러그앤드 플레이가 지원되는 것으로 DOS 유틸리티가 제공되고 이러한 설정을 할 수 있다. 이 유틸리티 디스켓은 이 카드의 NT 드라이버도 포함하고 있다.
필자는 FREE DOS를 사용한다. 도스 부트 디스크를 만드는 것은 http://sunsite.unc.edu에서 찾아볼 수 있다. 여러분은 여러분의 DOS 부트 디스켓을 사용할 수도 있고 그렇지 않을 수도 있다. 이것은 여러분이 가진 NIC가 어떤 종류인가에 달려있을 것이다.
두 개의 NE2000 NIC는 다음과 같이 설정되어 있다.
IO = 0x320 (320), IRQ = 10
세 번째 랜카드는 NT에서 구성될 것이다.
이 카드는 일반적으로 가장 많이 접할 수 있는 형태의 카드이다. 만약 여러분이 다른 것을 사용하고 있더라도 방법은 유사할 것이다. 단지 리눅스 장비에 대해서는 플러그 앤 플레이 항목 설정을 꺼주어야 한다는 것을 잘 알고 있어야 한다. 이것은 보통 ISA NIC에 적용된다. 그리고 커널버전이 2.0.34 이상이라면 보통 PCI NIC가 랜카드 문제를 쉽게 해결할 수 있는 좋은 대안이 될 수도 있다.
이러한 랜카드의 설정은 대부분의 어떠한 크기의 네트워크에도 필요한 정보이다. 이러한 단계는 여분의 클라이언트나 또는 서버에도 반복해야 할 필요가 있다.
필자는 유닉스나 리눅스 용어를 다소 상호교환하면서 사용할 것이지만 필자가 명시적으로 유닉스라고 언급하고 사용하는 경우도 있다. 이는 특별한 경우이다.
만약 여러분이 Novel이나 또는 맥킨토시 클라이언트와 통합한다면 여러분의 소유에 달려있다. 필자는 3.1이후에 Novell을 다루보지 않았고 맥킨토시 장비에 대한 접근을 할 수 없다. AppleTalk와 IPX HOWTO가 여러분에 다소나마 도움이 될 것이다.
계속해서 “예약” IP 어드레스를 사용할 것이다. 우리는 C 클래스의 예약된 네트워크인 192.168.1.0을 사용할 것이고 netmask는 255.255.255.0을 사용할 것이다. 우리는 파일 서버의 IP로서 192.168.1.2를 사용하고 호스트네임은 fileserver01 이다. 리눅스 클라이언트의 IP는 192.168.1.3이고 호스트이름은 linux01이다. 마지막으로 NT 클라이언트의 IP는 192.168.1.4이고 호스트이름은 nt01이다. 필자는 192.168.1.1 어드레스와 호스트이름 gateway01을 나중에 게이트웨이 장비를 설정하기 위해서 남겨놓을 것이다.
이 네트워크의 도메인 네임은 home.net으로 할 것이다.
NT 도메인 네임(이것은 실제적인 도메인과 혼돈하여서는 안된다.)은 HOME 이 될 것이다.
NT 클라이언트는 SAMBA 서비스를 사용하여 파일 서비스에 접근할 것이다. 그리고 리눅스 클라이언트는 NFS를 사용하여 파일 서비스에 접근할 것이다.
이름 해석은 hosts와 resolv.conf 파일을 사용하여 할 것이고 NT장비에 조금의 속임수를 사용할 것이다.
끝내게 되면 여러분은 IP 어드레스와 호스트네임 모두를 사용하여 모든 장비에 ping을 할 수 있게될 것이다.
추가적으로 여러분은 파일서버의 디스크 장비에 읽기는 물론 쓰기 접근까지 할 수 있을 것이다.
네트워크 계획을 살펴보자: 마지막으로 한번 네트워크 계획을 점검해 보자. 확실히 필요한 하드웨어 소프트웨어 케이블링이 이루어졌는지 확인한다. 물론 허브나 터미네이터 까지도.
공통으로 필요한 파일을 준비하자 : 우리는 DNS를 사용하지 않기 때문에 유닉스 장비에 대한 세가지 파일이 필요하다. NT 장비에는 이중 하나의 파일만 필요하다.
유닉스 장비에만 필요한 것은 다음과 같은 것이다.
/etc/hosts.conf /etc/resolv.conf
이 두 개의 파일은 아래에 설명된 hosts 파일과 함께 리눅스에서 네트워크를 통하여 복사할 수 있게 될 것이다.
첫 번째 hosts.conf 파일은 단순히 리눅스 장비에게 호스트네임에 대한 IP 어드레스를 해석하기 위해서 무엇을 사용해야 하는지를 알려준다. 여기에 지정된 순서대로 사용된다.
이름 해석에 사용되는 것은 기본적으로 두가지 방법이다. 이 설치에서 사용할 예정인 hosts 파일과 DNS 서버이다. 보통 DNS 서버를 구성하기 위해서 다른 유닉스 장비는 BIND(Berkeley Internet Name Daemon) 이라는 프로그램을 작동시킨다.
일단 /etc 디렉토리로 이동하여 hosts.conf 파일을 열어보자. 또는 필요하면 만들어서 다음과 같은 라인을 포함시키자.
order hosts, bind
파일을 닫는다. 이것은 단순히 리눅스 장비가 네트워크의 다른 장비를 발견하기 위해서 첫 번째로 hosts 파일을 점검하도록 알려주는 것이다.
다음은 resolv.conf 파일을 열고 없다면 만들어서 다음과 같은 라인들을 포함시킨다.
domain home.net search home.net
작업을 마친후에 파일을 닫는다. 이것은 리눅스 장비에게 도메인네임과 어떠한 외부 네임 해석을 구성하기 전에 먼저 이 도메인을 찾도록 지정하는 것이다.
이것들의 목적은 여러분의 로컬 네트워크에 대해서 여러분의 로컬 네트워크의 네임 해석을 하기 위해서이다. 이것은 나중에 이 장비들이 게이트웨이 장비를 통하여 인터넷에 연결될 때 매우 중요하다.
NT와 유닉스 장비 모두 공통적인 것은 다음과 같다.
hosts 파일이 있다. 이것은 단순히 로컬 네트워크에 있는 장비들의 리스트를 가지고 있고 이것은 호스트네임을 IP 어드레스로 변환한다.
hosts 파일을 열거나 또는 만들어서 루프백 장치의 항목을 만든다. 보통은 localhost로 쓴다. 그리고 이것은 여러분 네트워크의 각 장비에 해당한다. 이 파일은 또한 각 장비에 복사해서 사용한다. 이것은 유닉스 장비나 NT나 모두 이것을 사용하여 다른 호스트네임을 발견할 수 있기 때문이다.
hosts 파일의 항목들은 다음과 같은 구조를 가진다.
IP 어드레스 완전한 형태의 호스트네임(Fully Qualified Domain Name - FQDN)
예를 들면 bear.foobar.net이 206.113.102.193이라는 IP를 가지고 있다면 다음과 같이 사용한다.
206.113.102.193 bear.foobar.net bear
루프백 장치에 대한 주의사항 : 이 인터페이스는 localhost라고 알려져있고 hosts 파일의 제일 처음에 나와야 한다.
그래서 모든 우리의 네트워크에서 사용하는 hosts 파일을 만들기 위해서 다음과 같이 편집하자.
127.0.0.1 localhost 192.168.1.1 gateway01.home.net gateway01 192.168.1.2 fileserver01.home.net fileserver01 192.168.1.3 linux01.home.net linux01 192.168.1.4 nt01.home.net nt01
유닉스 장비에서는 이 파일이 /etc 디렉토리에 위치하고 NT는 /winnt/system32/drivers/etc 디렉토리에 위치한다.
지금 우리는 우리의 공통되는 파일들을 준비했다. 우리는 실제로 실행 준비단계로 갈 수 있다.
이제 여러분은 두 개의 중요한 것과 하나의 사소한 설정을 고려해야 한다.
만약 ISA 카드이고 리눅스 장비중에 설치하고 있었다면 플러그 앤 플레이 기능을 끄고 사용할 IO 어드레스와 IRQ을 직접 만들어 준다. 이것은 카드의 셋업 프로그램을 사용한다. 이 지정한
값들을 기록해 놓고 나중에 필요한 경우에 사용한다. IO 어드레스와 IRQ에 대한 주의사항 : 일부 카드들은 여러분이 카드의 점퍼를 사용하여 IO 어드레스와 IRQ 값을 설정해 주어야 한다. 여기에는 주의가 필요하다. 만약 여러분이 선택한 IO 어드레스와 IRQ가 이미 다른 장비에서 사용하고 있다면 좋지 않은 일이 일어나게 될것이기 때문이다. 여기에 일반적으로 작동하기에 적당한 것들이 있다.
0x300 (300) 0x310 (310) 0x320 (320)
10, 11, or 12.
만약 카드가 PCI 형식이라면 처음에는 자동 검색을 시도할 것이다. 그런 다음 만약 실패하면 DOS 설정 프로그램이 필요하게 될 것이다. 대부분의 경우에 IO 어드레스를 지정해야 하는데 보통의 경우에 0x6xxx 라고 되어 있는 것이 사용된다.
어떠한 경우의 카드라도 일단 카드가 설정이 되면 관계된 정보를 기록할 필요가 있다. 여러분이 나중에 리눅스 장비에 설치한다면 그것이 필요할 것이다. 그러나 NT라면 필요할 수도 있고 하지 않을 수도 있다.
10Base2
커넥터와 터미네이션 : NIC에 T자형으로 연결한다. 리눅스 클라이언트와 NT 클라이언트에서는 T자의 한쪽 끝에 터미네이션 장치를 부착한다. 그런다음 이전에 계획한대로 다른 장비로 케이블을 연결한다.
10Base-T
필요한 소프트웨어는 다음과 같다.
--- 공통
위에서 언급한 /etc/hosts 파일
위에서 언급한
/etc/hosts.conf 파일
위에서 언급한 /etc/resolv.conf 파일
--- 파일 서버에만 필요한 것
필요하다면 공통파일을 적당한 디렉토리에 복사한다.
/etc 디렉토리에서 smb.conf-sample 이라는 파일이 필요하다. 여러분은 이것은 smb.conf라는 파일로 복사하거나 또는 같은 이름으로 만든다. 필자는 처음 것을 샘플로 사용한다.
workgroup = WORKGROUP 이라는 라인을 변경해서
workgroup = home.net으로 한다. 다음은 hosts allow = xxx.xxx.x. 과 같은
행을 찾아서 xxx.xxx.x.을 여러분의 네트워크 어드레스중에서 처음 세자리
수로 바꾸어준다. 192.168.1 이 이경우에는 해당될 것이다. 추가적으로 루프백
장치에 대한 것도 필요하다. 그래서 위의 문장은 다음과 같이 바꾼다.
hosts allow = 192.168.1. 127.
마지막으로 remote announce = xxx.xxx.x.xxx와
같은 라인을 찾아서 숫자를 192.168.1.255로 바꾼다.
레드햇의 경우라면 한가지 예외가 있는데 만약 NFS 서버나 클라이언트 선택사항이 설치동안에 선택되어있지 않았다면 아마 NFS가 설치되지 않았을 것이다. 만약 필요하면 그것들을 설치한다. 일단 여러분이 확실히 설치되었다고 생각하면 다음과 같이 설정한다.
/etc/exports 파일 - 이내용은 매우 단순하다. 필자가 여기에 나타낸 것보다 NFS에서는 좀더 많은 것이 있지만 단순하게 나타낸 것이다. exports 파일의 항목들은 다음 문장구조를 가진다.
익스포트시킬 디렉토리의 전체경로 (접근종류) 접근가능자
그래서 예를 들면 홈디렉토리에 대해서 읽고 쓰기 권한으로 익스포트 시키기를 바라고 home.net의 아무에게나 연결을 할 수 있게 하려면 다음과 같이 한다.
/home (rw,no_root_squash) *.home.net
--- NT 클라이언트에 한한 것
지정된 경로에 hosts 파일을 복사한다. 여러분의 NT CD-ROM을 넣고 start/settings/controlpanel/network을 선택한다. 여러분이 DUN 장비로 사용한다고 설정한것에 따라서 이미 설치가 되어 있을 수도 되어 있지 않을 수도 있다. 만약 다음과 같은 내용이 아니라면 해당되는 것에 따른다.
오직 TCP/IP 프로토콜만을 설치한다.
네트워크 어댑터를 설치할 때 자동검색에서 먼저 찾게 될 것이다. 그것이 실패하면 “디스크 있음”을 사용하여 NIC에서 제공하는 설치 디스켓을 사용한다.
이 시점에서 기본적인 사항을 받아들이는 것이 안전하다. 만약 호스트네임, IP 어드레스나 netmask등을 요구하는 내용이 나오면 위에서 구성해놓았던 것에 따라서 설정을 한다.
여러분은 아마 몇번씩 부팅이 다시 될 것이다.
--- 리눅스 클라이언트에만 있는 것
공통된 파일들을 적당한 디렉토리로 복사한다.
--- 파일 서버의 구성
기본 네트워킹을 위해서 유닉스 장비의 첫 번째 단계는 NIC를 인식시키는 것이다. 슬랙웨어장비에서 이것은 /etc/rc.d/rc.modules를 편집하여 여러분의 특별한 NIC가 인식되기 위한 커널 모듈을 로드하기 위해서 주석처리를 없애는 것이다. 그리고 가능하면 IO 어드레스와 IRQ를 카드를 발견하기 위해서 지정하는 것도 필요하다. Network Device Support 부분으로 스크롤 시켜서 다음과 같은 라인을 확인해라.
#/sbin/modprobe/ ne io=0x320 #NE2000 at 0x320
파운드 (#)기호를 지워서 주석처리를 해제해라. 슬랙웨어의 어떤 릴리즈를 쓰고 있느냐에 따라서 여러분은 IRQ를 지정해야 하거나 또는 그러한 작업이 필요없을 수도 있다. 이것은 만약 여러분이 릴리즈 3.5 나 또는 그 이상을 사용한다면 필요 없는 작업이다.
다음으로 여러분은 여러분의 네트워킹 소프트웨어를 구성하길 원할 것이다. netconfig 유틸리티를 사용해라. 메시지가 이끄는 것에 주의해서 따라 하면 된다.
만약 여러분이 loopback 만 사용할 것이라면 no로 답한다.
기본 게이트웨이 (default gateway)는 빈칸으로 남겨둔다.
네임서버 항목도 빈칸으로 남겨둔라.
레드햇에서는 여러분은 linuxconf 유틸리티를 사용할 수 있는데 이것은 텍스트 모드나 또는 X에서 사용할 수 있다. 나는 X 버전을 사용하면서 약간의 좋지 않은 경험을 했었다. 그래서 나는 텍스트 모드 버전을 사용하기를 권하고 싶다.
명령행에서 linuxconf를 실행시킨다.
여러분은 대화상자가 나타나는 것을 볼 수 있을 것이다.
Config/Networking/Client tasks/Basic host 정보를 선택해라.
일단 여러분의 호스트네임에 fileserver01.home.net 으로 설정한다. 그런후 이전 화면으로 되돌아 가서 끝내기 위해서는 탭키를 눌러라. Adaptor 1을 선택하고 추가적인 파라미터를 선택하기 위해서 스페이스바를 사용한다.
Enabled Config mode Manual
다음에는 장비에 대한 적절한 호스트이름과 도메인, IP, netmask, 장치 번호, 커널 모듈, IO와 IRQ를 입력한다. 우리의 경우에 맞는 데이터는 다음과 같다.
fileserver01.home.net fileserver01 192.168.1.2 255.255.255.0 eth0 ne 0x320 10
이 시점에서 여러분은 기본 게이트웨이 설정화면이 나올 것이다. 이것을 지금은 공백으로 놔둬라.
이러한 정보를 입력한 후에 여러분의 변화가 실행되게 하기 위해서 quit, accept, quit, quit, quit를 선택한다.
만약 여러분이 원한다면 여러분은 linuxconf를 사용하여 여러분의 사용자 계정을 추가할 수도 있다. 또는 나중에 계정을 수동으로 해줄 수도 있다.
이후에 재부팅한다.
NT 클라이언트를 구성하기위해서 start/settings/controlpanel/network를 선택한다.
Identification 탭을 선택한다. 여러분의 Workgroup을 HOME으로 설정한다.
Protocol 탭을 선택한다. TCP/IP를 선택하고 Properties를 선택한다.
IP 어드레스 탭을 선택하고 Specify IP address를 선택하고 IP와 netmask를 정확히 선택해라. 추가적으로 Default Gateway 는 빈칸으로 나둬라.
DNS 탭을 선택하고 호스트네임(nt01)이라고 하고 도메인(home.net)이라고 입력한다.
WINS Address 탭을 선택한다. WINS 서버 칸은 비워놓고 Enable DNS for Windows Resolution 과 Enable LMHOSTS Lookup 칸은 필요하면 체크표시를 해제한다.
OK를 선택한다. 어댑터 중의 어떤것이라도 WINS와 관련된 어떤 것을 비워놓거나 또는 다른 것을 비워 놓는다면 입력하라는 대화상자를 보게 될 것이다. 이때는 yes를 선택하고 계속 진행을 한다. close를 선택한다. 재부팅된다고 나올 것이다.
리눅스 클라이언트 설정에서 네트워크 설정은 파일서버의 방법과 같은 식으로 하면 된다.
만약 이러한 테스트 과정중에 한가지라도 실패하는 경우라면 문제해결 부분으로 가서 적절하게 문제를 고친다.
--- ifconfig와 ipconfig를 사용하기
리눅스와 NT에서는 여러분의 네트워킹 설정과 하드웨어에 대한 설정에 대해서 접근하기 쉽도록 도와주는 유틸리티들이 있다. 이것들은 각각에 ifconfig와 ipconfig라 불린다.
리눅스 박스라면 명령행에서 ifconfig라고 입력하고 반드시 두 개의 항목이 보여야 한다. Loopback Adapter 는 lo라고 불리고 여러분의 NIC 중에 하나는 eth0라고 불린다.
NT 장비에서는 ipconfig 라는 명령인데 이렇게 명령을 내렸을 때 하나의 항목이 나와야 한다. 이 항목은 여러분의 이더넷 어댑터를 보여주는 것이다.
--- 파일 서버를 점검하기
리눅스 NFS - NFS 서비스를 점검하기 위해서 /mnt로 디렉토리를 옮기고 test라는 디렉토리를 만든다. 그런다음 리모트 디렉토리를 이곳에 마운트해본다. 예를 들면, 위의 예에서 우리는 파일서버 장비의 /home을 익스포트했었는데 그래서 그것을 test에 마운트 해본다.
mount -t nfs fileserver01:/home /mnt/test
라고 입력하면 된다. 만약 잘 되면 여러분은 리눅스 클라이언트에서 원거리 디렉토리에 접근할 수 있을 것이다.
NT SAMBA - Network Neighborhood를 선택한다. Home 아래에 여러분은 NT 클라이언트와 리눅스 장비인 fileserver01을 볼 수 있을 있을 것이다. fileserver01 항목을 더블클릭한다. 만약 사용자 계정을 리눅스에 만들었었다면 여러분은 여러분의 사용자이름과 패스워드를 입력하라는 입력요구상자를 볼 수 있을 것이다. 그런 후라면 리눅스 장비의 여러분의 디렉토리를 직접 접근할 수 있게 된다.
물리적인 연결에 대한 문제해결
127.0.0.1로 ping을 해본다. 문제가 있다면 여러분은 적절한 네트워크 구성이 필요하다. 뒤로 돌아가서 모든 설정과 필요한 파일들을 재점검한다. 만약 ping이 잘 작동한다면 여러분의 NIC의 IP 어드레스로 ping을 해본다. 만약 제대로 동작하지 않는다면 리눅스에서 카드가 제대로 인식되었는지 확인한다. 만약 한 개이상의 인터페이스를 가진 NIC라면 즉 RJ-45(10BaseT)와 BNC(10Base2)를 모두 가진 NIC라면 어떤 것을 사용하고 있는지 확인한다. 만약 모든 것이 제대로 잘 작동한다면 다른 장비의 IP 어드레스로 ping을 해본다. 만약 이것이 실패한다면 다음의 케이블 확인의 문제를 보기 바란다.
--- 케이블 확인
만약 여러분이 다른 장비로의 ping이 안되고
위에 설명한 것들을 모두 점검해봤다면 이시점에서는 케이블 문제로 좁힐 수
있는 몇가지 팁이 있다.
10Base2 - 버스의 터미네이션을 라인의 다음 장비로
옮겨본다. 그리고 ping을 해본다. 만약 실패하면 다른 케이블로 해본다. ping
테스트를 반복한다. 만약 그래도 실패한다면 터미네이션 문제로 좁혀진다. 다음을
보자.
10BaseT - RJ-45 커넥터가 NIC에 확실히 꼽혀있는지 그리고 허브에는
제대로 연결되어 있는지 확인한다. 만약 케이블이 정상이라면 허브에서 해당
포트에 대한 LED가 깜빡일 것이다. 만약 LED가 깜빡이지 않는다면 다른 케이블로
해본다.
--- 터미네이션 확인
이것은 10Base2나 또는 버스 네트워크에 적용된다. 터미네이터는 보통 내용을 통과시키거나 막는다. 즉 그것들이 작동하거나 또는 작동하지 않게 되는 것이다. 먼저 다른 케이블로 해본다. 그리고 만약 여러분이 NIC의 링크 깜빡임을 볼 수 있는지 점검한다. 마지막으로 이중 콤보 카드가 BNC 인터페이스가 활성화었는지 점검한다.
--- 이름 해석에 대한 문제 해결
먼저 IP 어드레스로 ping을 해본다. 만약 실패하면 케이블, 터미네이션, NIC 인식등을 점검한다. 유닉스 장비에서 ifconfig라고 명령을 내려면 루프백과 eth0 인터페이스를 볼 수 있어야 한다. 만약 NIC가 인식되어 있지 않다면 PNP가 꺼져있는지 확인하고 NIC에 맞는 IO와 IRQ가 제대로 설정되어 있는지 확인한다. NT장비에서는 ipconfig라고 명령을 내리면 유사한 결과를 볼 수 있어야 한다. 만약 그렇지 않다면 여러분의 네트워크 설정을 점검한다. /start/programs/administrative tools/nt diagnostics 가 아마 여러분에게 도움을 줄 것이다.
만약 IP 로 ping이 성공한다면 호스트네임으로 ping을 해본다. 만약 실패한다면 여러분의 hosts 파일을 확인하고 그것이 일치되는 것이 있는지 확인한다. 만약 유닉스 장비라면 여러분의 host.conf와 resolv.conf 파일을 점검하고 그것들이 ping한 호스트이름과 일치하는지 확인한다. 만약 이것이 NT 장비라면 여러분의 호스트 파일 적절한 디렉토리에 위치하고 있는지 확인한다.
--- NFS 문제해결
만약 여러분이 리모트 드라이브를 마운트 할 수 없다면 마운트할 장비의 /etc/exports 파일을 점검한다. 원하는 디렉토리가 적절하게 익스포트되었는지 확인한다.
만약 여러분이 원거리 디렉토리를 마운트할 수 있는데 읽거나 기록할 수 없다면 exports 파일에서 퍼미션을 확인한다.
--- SAMBA 문제 해결
만약 리눅스 장비가 Network Neighborhood에서 보이지 않는다면 NT 장비와 /etc/smb.conf 파일에서 HOME 워크그룹을 사용하고 있는지 확인한다.
만약 리눅스 장비가 보이지만 공유할 수 없고 Service Pack 3을 사용하고 있다면 SAMBA 문서를 읽고 NT 장비에서 필요한 레지스트리 변경을 해야 한다.
마지막으로 사용자이름/패스워드가 적절한지 확인한다. 유닉스 장비와 NT장비가 서로 같아야 한다.
◈ 인터넷 게이트웨이 구성
여러번 다시쓰고 테스트를 한 뒤에 우리는 리눅스 장비를 인터넷 게이트웨이/ 프록시 서버로 만들어서 우리의 가정 네트워크를 인터넷에 연결시키게 될 것이다.
리눅스 장비는 부팅시에 자동적으로 ISP에 연결하고 스스로 구성하고 만약 라인이 끊기는 경우에는 PPP 링크를 자동적으로 재설정 할 것이다. 필자는 diald 설정에 대해서는 다루지 않을 것이다. 그것은 다음에 좀더 발전된 설정과 성능 튜닝하는 부분에서 다룰 것이다.
이 설정의 끝에는 여러분은 여러분의 네트워크의 어떠한 장비에서도 인터넷에 접근이 가능해야 한다. 물론 e-mail 도 보내고 받을 수 있으며 웹을 서핑하고 그외 여러분이 원하는 어떠한 것도 할 수 있게 되어야 한다.
이 시리즈의 다른 설치를 할 때 배포본마다 작동에 차이가 있을 수 있다. 그래서 필자는 공통된 부분만 할 것이다.
이 설치에서는 다음과 같은 주제를 다룰 것이다.
- 인터넷 게이트웨이 서비스에 대한 몇가지 배경지식
- 장점과 단점
- 필요한 하드웨어와 소프트웨어
- 설치전 계획
- PPP 인터페이스에 대한 설정
- NIC 의 설정
- 게이트웨이 서비스에 대한 단일 대 모듈접근
- 게이트웨어 서비스에 대한 커널 컴파일
- 게이트웨이 장비 점검하기
- 클라이언트 장비에 대한 설정
- 클라이언트 장비 점검하기
- 설치에 대한 문제해결
- 특별한 서비스를 위한 몇가지 주의 사항과 팁
- rc.local 스크립트 예제
- 참고사항
- 좀더 추가적인 정보를 얻을 수 있는 곳
이전의 기사에 대한 점검과 이 내용에 대한 관련된 가정이 몇가지가 있다.
간단히 이러한 점에서 우리는 세 개의 네트워크 노드를 가질 것이다. 모든 구성은 예약 IP인 192.168.1.x 의 IP 어드레스를 가지고 네임 해석을 위해서는 공통된 hosts 파일을 사용한다.
게이트웨이 장비는 gateway0.1home.net이라 불릴 것이다. 그리고 IP 어드레스는 192.168.1.1 이다.
게이트웨이 장비는 표준이고 PNP를 지원하지 않으며 COM 포트와 IRQ를 직접 할 수 있는 내장이나 외장 모뎀을 사용하는 것으로 가정한다.
NOTE : 필자는 이 문서에 56K V.90 모뎀과 ISDN 모뎀 그리고 케이블 모뎀을 포함하도록 많은 요구를 받았다.
ISDN 모뎀 라인 준비와 설정은 이 문서의 내용을 벗어나는 것이다. 그러나 만약 그것이 시리얼 포트나 또는 네트워크 인터페이스를 사용하여 연결이 가능하다면 그것을 사용하지 못할 이유는 없는 것이다. 필자는 Ascend Pipeline 50을 가지고 있고 그것으로 항상 설치와 활용에 성공을 했었다.
56K V.90 내장 모뎀을 생각한다면 필자는 telco 인터페이스와 임피던스 매칭 장비가 가장 최적인 것으로 알고 있다. 이것은 소프트웨어와 여러분의 CPU가 한묶음이 되어 작동하는 것으로 리눅스에서 동작하지 않는다.
만약 외장 56K V.90 모뎀으로 Hayes 명령어를 받아들인다면 한번 시도해 보는 것도 괜찮다. 필자는 외장 모뎀에 대한 여러분들의 경험을 듣고싶다.
마지막으로 케이블 모뎀이 있는데 필자는 이것을 한번도 사용해 본적이 없다. 그래서 그것들에 대해서는 아는 것이 없다. Cable Modem MINI HOW-TO를 봐라. 한가지 생각해 볼만한 것은 이 장치가 여러분의 컴퓨터에 연결될 때 NIC를 통해서 연결되기 때문에 여러분이 설정을 진행시킬 때 여기에 있는 것 보다 더 간단하게 될지도 모른다는 것이다.
여러분은 ISP에 대한 관련된 정보를 가지고 있다고 가정한다. 최소한 다음의 것을 알고 있어야 한다.
---전화번호
---메일과 뉴스 서비스에 대한 FQDN
---주와 부 DNS 서버에 대한 IP 어드레스
---여러분의 서브넷마스크(보통은 255.255.255.0)
이 내용에 대한 좀더 많은 정보를 얻으려면 필자가 쓴 이전 기사를 보거나 ISP Hookup 과 Connectivity HOW-TO를 봐라.
사람들은 “아무것도 아닌 어떠한 것에 대해서는 얻을 수 없다” 라고 말한다. 음.. 이러한 점에서 우리가 이 시간에 무엇을 해야 하는지는 명확하다. 우리는 우리의 전체 네트워크가 인터넷에 접속하기 위해서 제공하는 전화접속 계정은 표준이고 보통 사용하는 것을 사용할 것이다.
이것을 완성하기 위해서는 우리는 방화벽 애플리케이션(ipfwadm)에 연결하는 IP 매스커레이딩 소프트웨어를 사용할 것이다. 물론 NIC, 모뎀 그리고 PFM - Pune Freakin’ Magic 이라고 불리는 것들도 사용할 것이다.
간단히 우리의 장비는 두가지 중요한 기능을 수행할 것이다. 하나는 인터넷 게이트웨이기능이고 두 번째는 동시에 로컬 IP 어드레스를 밖으로 보낼 때 매스커레이딩시키는 기능이다.
게이트웨이 기능은 다소 직관적이다. 게이트웨이는 두 개의 분리된 네트워크를 연결하고 모든 트래픽을 적절한 위치에 도달하도록 게이트웨이를 통과시키는 것 외에는 없다.
매스커레이딩 기능은 NAT(Network Address Translation)라고 불리우는데 이것은 다소 복잡하다.
기본적으로는, 프로그래머블한 거짓말쟁이이다. 매스커레이드 프로그램이 하는 일은 우리의 로컬(가정) 네트워크의 모든 장비로부터 오는 요구를 받아서 요청한 원래의 장소에 대해서 밖으로는 거짓말을 한다. 그리고 마치 게이트웨이 장비로부터 원래 출발했던 것처럼 보이게 하는 것이다.
거꾸로 밖으로부터의 요구가 들어오면 그것을 잡아서 로컬넷의 적당한 유저에게로 요구를 전달하는 것이다.
여러분은 여러분의 전체 네트워크를 월 $18.00에 인터넷에 접속할 수 있게 된다. 이것은 전용 ISDN 연결이 $300.00 이상 비용이 들어가는 것에 비해서 비용이 저렴한 편이다.
여러분은 네임서비스를 구성하고 모든 다른 관리를 위해서 도메인 네임을 신청할 필요가 없다.
사실 이 계획에서 우리의 구성과 설치는 간단한 상업용 설치 보다 좀더 복잡할 수 있다. 그래서 이러한 것은 가정 네트워크를 적당한 가격에 구성하게 해주면서 상업적인 기술도 익힐 수 있는 기회를 주게 된다.
만약 오직 두세명의 사람이 e-mail을 주고받거나 웹서핑을 하거나 텔넷을 한다면 가장 적당한 성능을 제공할 것이다.
여러분이 여러분의 ISP에 가지고 있는 계정의 형태에 따라서 여러분이 오직 하나의 메일 주소만을 가질 수 있게 되기도 한다. 이것은 여러분은 이 설정에서 오직 하나의 메일만 받을 수 있다는 것이다. 일부 ISP는 “가족 계정”을 제공하기도 하는데 이것은 조금의 추가적인 가격을 지불함으로서 추가적인 e-mail 어드레스를 가질 수 있는 것이다.
네트워크의 모든 사람이 WWW을 서핑하고 FTP를 수행하고 텔넷을 수행하고 그외 다른 애플리케이션을 수행시키려면 일부 것은 작동이 되지 않을 수 있다. 지원되고 지원되지 않는 서비스와 애플리케이션을 확인하려면 IP_Masq 문서를 확인해봐라.
여러분의 PPP 링크를 사용하여 연결을 하기 때문에 성능은 떨어질 것이다. 비록 속도가 느린 링크에 대해서 성능과 속도를 향상시킬 수 있는 몇가지 것이 있지만 28.8이나 33.6 접속을 사용한 후 몇주후에는 여러분은 ISDN이나 Cable Modem으로 접속을 꿈꾸게 될 것이다.
이러한 종류의 설정은 전혀 외부에서 들어올 수 있는 서비스는 되지 않는 것이다. 여러분은 대부분 동적 IP 주소를 받을 것이기 때문에 여러분이 접속할 때마다 다른 IP를 받게 된다. 그래서 외부로 제공되는 서비스를 한다는 것은 매우 현실성이 떨어지는 것이다. 여러분은 서버를 운영하려면 전용선이나 여러분의 ISP 서버의 일부 보조 웹공간을 사용하는 것이 오히려 낫다.
기본적으로 설정된 것은 그냥 사용하고 Dialup Workstation, Networked Workstation, C Development tools and libraris를 추가적으로 선택한다.
여러분은 Mail/WWW/News tools, DOS/Windows Connectivity, NFS Server, SMB Connectivity, Anonymous FTP Server 또는 여러분의 특별한 설치를 위해서 필요한 어떠한 것등을 추가하고 싶어할 것이다.
아래에 따라서 APACHE, INN, BIND에 대한 것은 넘어갈 것이다. 요구되어질 때 앞으로 지나가서 여러분의 로컬 네트워크 정보를 설정한다. 여러분의 네임서버와 게이트웨이를 입력하도록 요구하는 곳에서는 공백으로 남겨놓다.
여러분은 여기서(인스톨중에) 커널을 선택할 필요는 없다. 기본적인 것으로 쓰면되고 부트디스크는 만들도록 한다.
마지막으로 LILO를 설치 파티션의 첫 번째 수퍼블럭에 설치한다. 절대 이 시점에서 부트섹터에 LILO를 설치하지 마라.
리부팅한다. 그리고 home.net에 연결을 해야 한다. 동일한 hosts 파일을 게이트웨이 장비에 복사한다. 물론 이전의 내용에서 설명한 파일들도 복사해야 한다.
A, AP, D, N 시리즈를 선택한다. 설치에서 메뉴 설치방법을 선택한다. APACHE, INN, BIND는 설치하지 않는다. 요구되었을 때 여러분의 로컬 네트워크 정보를 입력한다. 여러분의 네임서버와 게이트웨이를 입력하는 곳은 공백으로 남겨놓는다. 적당한 vmlinuz 커널을 선택한다.
만약 부트디스크를 만들기 원하냐고 물을 때 yes를 선택한다. 몇 개의 간단한 vmlinuz 부트디스크를 만들 수 있다. 이 때 LILO를 선택하지 마라.
리부팅한다. 그리고 네트워크를 발견할 수 없다고 나와도 걱정하지 마라. NIC 설정부분으로 넘어가고 그 내용을 적당히 채워넣는다. 그리고 다시 부팅하면 된다.
이전에 언급한 ISP에 대한 내용을 가지고 있는지
확인한다.
만약 가능하다면 계획에 포함된 어떠한 것이라도 얻도록 한다.
워크스테이션에 어떠한 사람이 있고 여러분은 게이트웨이에 있다면 점검하고 검사하고 문제해결을 하는데 좀더 손쉽게 될 것이다.
ipfwadm 소프트웨어가 게이트웨이 장비에 설치되었는지 확인하라. 이것은 슬랙웨어에서는 문제가 되지 않지만 다른 배포본에서는 문제가 된다. 그러나 여러분이 설치를 할 때 선택한 것에 의존하게 되기 때문에 레드햇에서는 설치되지 않았을 수도 있다. 만약 필요하다면 그것을 glint로 설치하거나 또는 직접 설치를 한다.
rpm -ivh
여러분의 ISP의 첫 번째와 두 번째 DNS 서버의
IP 어드레스를 /etc/resolv.conf 파일에 추가한다. 이것은 두 배포본 모두 동일하다.
ppp0 인터페이스에 대한 추가와 설정을 해야 한다. 그것을 부팅시에 장치를 활성화시키고
기본 게이트웨이 장치로 만들고 여러분의 기본 라우트를 이 장치로 설정하는
것이다. 마지막으로 여러분은 ppp0 인터페이스의 링크가 끊어졌을 때 자동적으로
다시 설정되도록 해주어야 한다.
필자는 “여러분이 직접 스크립팅” 하는 방법을 권하고 싶다. 필자의 경험으로 pppsetup 방법은 중복된 결과가 만들어진다. 최종사용자 프로그램을 사용할 때, (로그인뒤에 직접 초기화하고 잘 작동시킨다) 부팅시에 사용할 때 rc.local 파일로부터 호출되는 것은 때때로 연결이 될 수도 있고 안될 수도 있다.
추천한 스크립팅 방법을 사용하기 위해서 문제해결 부분을 이용하고 스크립트를 만들어서 점검을 한다. 그런 다음 여러분의 ipfwadm 부분이 실행되기 전에 unicom을 실행시키기 위해서 rc.local 파일을 편집한다.
만약 여러분이 pppsetup 방법을 사용하길 원한다면 참고문서를 잘 읽고 ppp를 실행시킬 부분을 /etc/rc.d/rc.local 파일에 ipfwadm 부분의 전에 실행되도록 추가해야 한다.
자동 전화걸기에 관하여 - 이것을 위해서는 pppupd라는 매우 작은 프로그램이 있다. 이프로그램은 다음의 장소에서 구할 수 있다.
ftp://metalab.unc.edu/pub/Linux/system/network/serial/ppp/pppupd-0.23.tar.gz
다음처럼 이것의 압축을 풀어서 내용을 확인한다.
gunzip -dc pppupd-0.23.tar.gz | tar xvf -
완전한 사용법을 위해서 REAEME 파일을 읽어라. 그러나 초보자라면 pppupd.cf.template 파일을 복사해서 여러분의 시스템에 맞게 편집한다.
여러분은 pppsetup 스크립트나 문제해결 부분에서 설명한 스크립트의 패스 그리고 프로그램이 ping을 하기 위한 호스트네임뿐만이 아니라 ping 사이의 시간 간격등도 지정해야 한다.
다음에 간단히 Makefile을 열어서 다음의 라인을 확인한다.
CONFIGFILE=
이 부분에 여러분이 이전에 만들어둔 pppupd.cf 파일의 경로를 지정해준다.
마지막으로 make를 실행시켜서 pppupd 바이너리 파일을 만든다. 이것은 /sbin이나 /usr/sbin 디렉토리에 복사한다.
여러분은 이것은 부팅 스크립트에 추가해 줌으로써 부팅시에 시작시킬 수 있다.
rc.local 파일에 다음과 같이 입력해준다.
pppupd > /dev/null
그러나 필자는 테스트해본 바로는 간헐적으로 중단되는 경우가 있었다. 주의가 필요할 것 같다. 그래서 필자는 이것은 처음에 직접 시작시켜 주라고 권하고 싶다. 그런 다음 만약 모든 것이 정상적으로 되면 그때 rc.local 파일에 ipfwadm 부분 뒤쪽에 넣어주면 될 것 같다.
부팅시간에 커널에서 IP 포워딩을 해주어야 한다. 이것은 슬랙웨어에서는 이미 활성화된 상태일 것이다. 이것은 확인하기 위해서는 - cat /pro/sys/net/ipv4/ip_forwarding - 이라고 입력하면 된다. 이 값이 1이면 설정된 것이다. 레드햇장비에서는 /etc/sysconfig/network를 편집해서 FORWARD_IPV4=no를 yes로 바꿔준다.
네트워크의 나머지들을 매스커레이딩 하기 위해서는 해당 장비들를 매스커레이딩한다고 알려야 하는데 이것을 하기 위해서 /etc/rc.d/rc.local 파일을 편집한다. 이것은 두 개의 배포본이 동일하다. 이러한 기능을 위해서는 방법이 여러 가지가 있다. 그러나 내게는 이 방법이 가장 좋았다.
/etc/rc.d/rc.local 파일을 열어서 다음의 라인들을 주석처리를 없애거나 또는 필요하다면 추가시켜라. 순서는 다음과 같다.
/etc/rc.d/rc.local ① ipfwadm -F -p deny #deny everyone not listed below ② ipfwadm -F -a masquerade -W ppp0 -S 192.168.1.0/24 -D 0.0.0.0
2번째 행은 매스커레이딩을 가능하게 하고 ppp0 인터페이스를 가정내 네트워크의 기본 게이트웨이로 사용하는 것이다.
슬랙웨어나 레드햇 모두 NAMESERVER와 DEFAULT GATEWAY 대화상자는 비워둬야 한다.
여러분이 UNIX 장비에 대한 게이트웨이 서비스를 제공하기 위해서 두가지 선택사항이 있다. 이 선택사항이라는 것은 단일커널(모든 드라이버와 필요한 내용을 커널 자체에 컴파일하여 집어넣는것)과 모듈방식(표준커널을 드라이버나 서비스가 필요하면 이때 로드해서 사용하고 필요없으면 빼는 방식) 이다.
이것에 대해서는 emacs대 vi 의 논쟁과 같이
많은 말들이 있다. 그래서 여기서는 필자의 개인적인 가치에 대해서 말하겠다.
필자는 모듈접근방식을 사용한다. 왜냐하면 대부분 이러한 방식이 작고 선형적인
커널을 만들어주고 가장 중요한 것은 필자가 게으르다는 것이다.
새로운
커널이 이미 ip_masquerade, ip_forward를 지원하고 ipfwadm 이 설치되어 있기
때문에 새로운 커널을 컴파일하는데 추가적인 문제가 있을 수 없다.
우리들 중 일부는 계속해서 우리의 설정을 변경하여 성능을 좋게 하는데 관심이 있을 것이다. 그러나 필자의 일련의 기사의 목적이 최소한의 설정으로 동작하게 하는 것이라는 것을 강조하고 싶다.
이것은 슬랙웨어 3.6, 레드햇 5.1이나 그 이후에는 필요하지 않다. 커널 컴파일 명령을 커널 HOWTO에서 발견할 수 있을 것이고 게이트웨이 서비스를 위해서 필요한 파라미터는 IP_Masq MINI HOWTO에 지정되어 있다.
레드햇 장비는 반드시 재부팅을 한 후에 다음의
점검사항을 진행시킨다. 슬랙웨어에서도 역시 리부팅을 하고 다음 점검사항을
진행시킨다.
만약 여러분이 연결에 실패한다거나 다음의 점검들중 어떠한
것이라도 실패한다면 문제해결부분을 진행하라.
- UNIX 클라이언트
NOTE : http, smpt/pop3, icmp, telnet등의 서비스를 위해서는 아래의 팁을 봐야한다.
만약 모든 것이 잘되었다면 여러분은 여러분의 브라우져를 실행시킬 수 있다. 메일서버에 접근하고 웹에 접근하고 텔넷으로 외부로 나가게 될 것이다.
만약 위의 서비스중에 어떠한 것도 제대로 안된다면 아래 문제해결 부분을 본다.
만약 다른 서비스 - 예를 들면 ftp, real audio/video, cuseeme 등등 -가 필요하다면 아래의 note와 팁을 봐라.
세가지 인터페이스가 제대로인지 확인한다. 만약 그렇지 않다면 제대로 안되는 것은 재 설정해라.
여러분의 스크립트와 라우팅 테이블을 점검한다. 만약 필요하다면 게이트웨이 장비의 PPP와 NIC의 설정이 정확한지 확인한다.
마지막으로 만약 여러분이 레드햇이나 슬랙웨어에서 PPP 연결을 성공할 수 없다면 여러분은 다음 방법을 사용하여 스크립팅 방법이 사실인지 점검할 수 있을 것이다.
다시 이러한 것에는 많은 좋은 방법들이 있다. 그러나 이것이 필자의 방법이다. 여러분은 두 개가 스크립트를 만들어야 한다. 하나는 여러분의 ISP에 전화를 걸고 chat를 사용하여 로그인을 하고 PPP 데몬인 pppd를 설정하기 위한 것이고 하나는 chat 프로그램에 여러분의 모뎀에 대한 적당한 정보를 전해주고 그것이 어떠한 사용자이름/패스워드를 ISP의 장비에 보내는지를 말하게 하는 것이다.
필자의 경우에 필자의 ISP는 Username과 Password 에 대해서 입력하도록 되어 있었다. 그런다음 ISP의 PPP 데몬이 자동적으로 시작하는 것이다. 다음 예들은 이러한 일련의 설정에 대한 것이다. 여러분의 ISP에 따라서 이것들을 변경해야 할지도 모른다. 다른 설정에 대한 정보를 위해서는 이 기사의 참고 부분을 봐라.
필자의 경우에 두 개의 스크립트를 만들었다. 하나는 unicom 라고 하고 이것은 ISP에 전화를 걸고 pppd를 실행시킨다. 하나는 unicom.chat 이고 이것은 모뎀 정보와 expect와 send의 쌍으로 이루어진 것들을 포함하고 있다.
여러분이 선호하는 에디터를 사용하여 다음의 스크립트를 만들고 실행가능하도록 chmod +x <여러분의 스크립트파일이름>을 사용하여 허가권을 조정한다.
unicom의 내용은 다음과 같다.
#!/bin/sh pppd connect \ ‘chat -v -f /sbin/unicom.chat’ -detach crtscts modem defaultroute\ /dev/modem/ 115200 &
unicom.chat 의 내용은 다음과 같다.
TIMEOUT 5 “” ATZ OK ATDT2213005 ABORT “NO CARRIER” ABORT BUSY ABORT “NO DIALTONE” ABORT WAITING TIMEOUT 45 CONNECT “” TIMEOUT 5 “name:” 여러분의 사용자이름 “word:” 여러분의 패스워드
이것이 끝났다면 unicom과 unicom.chat을 /sbin 디렉토리로 옮긴 후에 명령행에서 unicom 스크립트를 실행한다. 만약 모든 것이 순조롭게 된다면 다음의 점검을 한다. 그런다음 unicom 스크립트를 rc.local 에 넣는데 반드시 ipfwadm 이 있는 라인의 앞쪽에 넣어야 한다.
여러분의 워크스테이션이 게이트웨이 장비의 NIC로 잘 설정이 되어 있는 지를 확인한다. (우리의 예에서는 192.168.1.1이다.)
127.0.0.1 로 ping을 해본다. 그런 다음 장비의 IP 주소로 해본다. 만약 이것이 실패한다면 여러분의 네트워크 설정이 잘못된 것이거나 여러분의 NIC에 문제가 있는 것이다.
만약 이것이 잘 된다면 게이트웨이 장비로 IP 주소를 사용하여 ping 해본다. 만약 실패한다면 케이블을 살펴본다.
바깥으로 ping을 해본다. 만약 실패한다면 게이트웨이에 문제가 있는 것이다. 클라이언트가 아니다.
지금 위에서 설명한 내용을 반복해서 점검한다. IP 주소 대신 호스트이름을 사용하고 만약 이시점에서 실패한다면 여러분의 이름해석에 문제가 있는 것이다. resolv.conf에 설정된 여러분의 DNS 설정과 hosts.conf 파일 에 이러한 라인을 점검한다. - order hosts, bind - 라고 되어 있어야 한다. 그리고 여러분의 hosts 파일이 정확한지 확인한다.
여러분의 워크스테이션이 기본게이트웨이로서(이 예에서는 192.168.1.1) 게이트웨이 장비의 NIC를 가지고 있는지 점검한다.
127.0.0.1로 ping을 하고 장비의 IP 어드레스로도 해본다. 만약 실패한다면 여러분의 네트워킹 설정이 잘못된 것이거나 여러분의 NIC가 오동작하는 것이다.
만약 이것이 잘 된다면 게이트웨이 장비의 IP 어드레스로 ping을 한다. 만약 실패한다면 여러분의 케이블링을 점검한다.
외부로 ping을 한다. 만약 실패한다면 문제는 게이트웨이에 있거나 클라이언트에 있다.
위의 단계를 반복한다. 이때는 IP 어드레스 대신에 호스트네임을 사용한다. 만약 이 시점에서 실패한다면 여러분의 이름 해석에 문제가 있는 것이다.
여러분의 Control Panel/Network/Protoclos/Properties에서 DNS 설정을 점검한다. lmhosts 파일을 사용하지 않도록 하고 dns를 기본적으로 찾도록 설정되어 있는지 확인한다. 그리고 여러분의 호스트네임과 도메인 이 올바로 설정되었는지도 확인하고 여러분의 hosts 파일이 정확한지 확인한다.
여기에 언급했지만 게이트웨이는 ICMP 요청을 지원해야 하고 웹서핑과 SMTP/POP3와 텔넷을 지원해야 한다.
추가적인 서비스를 위해서 특별하게 특정한 포트에 대해서 서비스가 사용을 할 수 있어야 한다. 여러분은 부팅시간에 어떤 추가적인 모듈을 로딩하거나 또는 하지 않을 것이다.
지원되는 애플리케이션의 완전한 리스트를 위해서는 IP_Masq HOW-TO를 본다.
최소한으로 여러분은 ftp 모듈은 로딩되기를 원할 것이다. 그리고 리얼 오디오 모듈도 원할 것이다.
이미 앞에서 언급했던 /etc/rc.d/rc.local 파일이 있는 장소로 간다. 그리고 ipfwadm 규칙앞에 다음의 내용을 적어 넣는다.
/sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio
모듈에 대한 참고사항 : 사용할 수 있는 많은 모듈이 있고 이것들중에서 필자가 자주 사용하는 것은 이 두 개이다. 추가적인 모듈을 더하기 위해서는 단지 위 라인중에 추가시키면 된다.
rc.local 스크립트의 예
레드햇
> 많은 내용들을 제거했습니다. < cp -f /etc/issue /etc/issue.net echo >> /etc/issue # Now, the stuff you add - echo “Loading Masquerade Modules ..” /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio echo “Done...” echo “Loading Masquerade and Routing Rules..” ipfwadm -F -p deny ipfwadm -F -a masquerade -W ppp0 -S 192.168.1.0/24 0.0.0.0/0 echo “Done..” # if configured properly, no pppupd required
슬랙웨어 (필자의 스크립트)
> gpm 항목은 제거했습니다. < # Now, the stuff you add - /usr/sbin/unicom echo “Loading Masquerade Modules ..” /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio echo “Done...” echo “Loading Masquerade and Routing Rules..” ipfwadm -F -p deny ipfwadm -F -a masquerade -W ppp0 -S 192.168.1.0/24 0.0.0.0/0 echo “Done..” pppupd > /dev/null
슬랙웨어 (권장하지 않지만 pppsetup 스크립트와 같이 사용)
> gpm 항목을 제거했습니다. < # Now, the stuff you add - ppp-go -q echo “Loading Masquerade Modules ..” /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio echo “Done...” echo “Loading Masquerade and Routing Rules..” ipfwadm -F -p deny ipfwadm -F -a masquerade -W ppp0 -S 192.168.1.0/24 0.0.0.0/0 echo “Done..” pppupd > /dev/null
이전기사들과 그외
IP_Masq mini HOW-TO
Ethernet HOW-TO
Net-3 HOW-TO
Network Administrator’s Guide
Mastering Windows
NT Server 4 (3rd Edition)
ISP Hookup HOW-TO
ISP Connectivity HOW-TO
http://ipmasq.cjb.net/
http://www.redhat.com/
http://www.linuxgazette.com/
http://www.linuxjournal.com/
http://www.cdrom.com/
alt.unix.wizards
comp.security.unix
comp.unix.admin
alt.os.linux.slackware
comp.os.linux.networking
comp.os.linux.hardware
linux.redhat.misc