|Home|私のLinux活用記録-Home-|

私のLinux活用記録

-Page8-

項目

kh08-01[ネットワークの構築]

 

[ネットワークの構築]

追記:2001年05月19日

日経 Linux 2001/1 月号に記載されたノート PC を利用したダイヤルアップルーター構築記事に触発されて、いよいよネットワークの構築に挑戦する事にしました。
Linux を使い始めて約1年と少しですが、ようやくネットワークに取り組むレベルにきたのかと感慨深いものがあります。まあ、これができれば、あとはのんびりとプログラミングの勉強でもしたいものです。
以下、初めてネットワークを構築するという人にも参考にして頂けるよう、できるだけ詳しく記載しました。

■ [参考]
□ Linux 怒涛のQ&A/ぱぱんだ 著/エーアイ出版発行
□ 日経 Linux 2001/1 月号
□ Linux徹底構築ガイド/ネットワークサーバ構築編 西尾和彦 著/(株)テクノプレス発行
□ [注]
実際の設定は、主として「Linux 怒涛のQ&A」を参考にしました。

kh08-01.01 ネットワークの機器構成と機能
kh08-01.02 機器構成詳細
kh08-01.03 IBM ThinPad 380XD への Kondara MNU/Linux1.1 のインストール
kh08-01.04 Corega EtherII PCC-T のインストール
kh08-01.05 ネットワークの設定
kh08-01.06 ネットワークの動作確認
kh08-01.07 IP Masquerade の設定
kk08-01.08 Domain Name Service(DNS) Server の設定
kh08-01.09 DNS の動作確認
kh08-01.10 bind-8.2.3 での DNS Server 設定上の注意
kh08-01.11 /etc/inetd.conf の設定
kh08-01.12 gw450 から ISP への PPP 接続
kh08-01.13 PPP Server の構築

戻る

ネットワークの機器構成と機能

■ 概要
□ IBM ThinkPad 380XD をダイアルアップルータとして設定することで、Gateway GP7-450 から ISP へのダイアルアップを可能にします。

□ 上記を実現する前提として、IBM ThinkPad 380XD を DNS Server として設定し、横浜でのローカルネットワークを構成します。

□ Gateway GP6-350(大津)から PPP 接続を受け付けるように、IBM ThinkPad 380XD を、PPP Server として設定します。

□ IBM ThinkPad 380XD、Gateway GP7-450 双方とも、http、FTP、telnet が使えるように inetd.conf を設定します。

 
図表(ネットワーク構成図)

■ [注]
( )は、未接続の空端子です。

戻る

機器構成詳細

■ Gateway GP7-450
既存マシンで、横浜の単身赴任先に設置し、Kondara MNU/Linux1.1 をインストールしています。Kondara MNU/Linux2000 も使って見ましたが、emacs & mew が含まれていない、スクリーンセーバーが起動しない、vfat の日本語表示ができない、cdrecord のマルチセッションでエラーが出るなど、カーネルが 2.2.16 である以外にメリットがないため、Kondara MNU/Linux1.1 に戻しました。
[参考]
kh07-01[Kondara MNU/Linux 2000]
kh07-02[cdrecord 使用方法]

■ Gateway GP6-350
既存マシンで、大津の自宅に設置しています。
MS Windows95 をいまだに使っていますが、息子が DTM による作曲とCD作り、娘がホームページ作りにフル稼動中です。

■ 新たに購入した機器は、以下のものです。
□ LAN Card は、Corega のホームページを参考にして、Kondara MNU/Linux1.1 で実績のある物を選びました。規格は、いずれも 10M タイプです。
[参考]
http://www.corega.co.jp/technical/kondara11.htm

□ IBM ThinkPad 380XD(NOTE BOOK PC)
中古品を秋葉原で購入しました。CDROM内蔵、96Mメモリー付きで、66,000円。横浜の単身赴任先に設置し、Kondara MNU/Linux1.1 をインストールしました。

□ IBM ThinkPad 380XD 用 LAN PC Card:Corega EtherII PCC-T(PCMCIA)
ドライバーのインストール方法が、Corega のホームページに記載されています。
定価は、3,000円でした。

□ Gateway GP7-450 用 LAN アダプター:Corega Ether PCI-T
PCI Bus に装着して、kondara MNU/Linux1.1 を起動すると、 Kuzdu が起動して自動認識されます。
定価は、1,250円でした。

□ HUB:Corega HUB 5PL
5台以上も PC をネットワークにつなぐことはないので、一番安い5Pタイプにしました。定価は、2,450円でした。

□ LAN 構築に必要な機器は、追加の NOTE BOOK PC を別にすれば、締めて約7,000円でした。

戻る

IBM ThinPad 380XD への Kondara MNU/Linux1.1 のインストール

ハードディスクのパーティション設定は、以下のようにしました。
■ ハードディスク
3.1GB
■ Windows98
hda1/1.3GB
■ Kondara MNU/Linux1.1
swap      :hda2/0.1GB
/         :hda3/1.7GB

CDROM 内蔵型なので、インストールは特に難しい問題はありませんが、以下いくつかのポイントを記述します。

■ Windows98 のインストール
ビデオカードのドライバーがないので、IBM のホームページからダウンロードしました。
ftp://ftp.ibm.co.jp/pub/pccsvc/thinkpad/i8d320/i8d320.exe

■ Kondara MNU/Linux1.1 のインストール
MS-DOS でインストール起動用 FD を作成します。詳細は、以下に掲載されています。
http://www.kondara.org/docs/Kondara-Install-HOWTO/\
Kondara-Install-HOWTO-3.html#ss3.1

□ 以下、インストール起動用 FD 作成
C:\> d:
D:\> cd \dosutils
D:\dosutils> rawrite
Enter disk image source file name: ..\images\boot.img
Enter target diskette drive: a:
Please insert a formatted diskette into drive A: and
press --ENTER-- : Enter
D:\dosutils>
以上、インストール起動用 FD 作成

□ 上記で作成したインストール起動用 FD を装着し、Kondara MNU/Linux1.1の CDROM をセットして起動すれば、インストールが開始できます。
「全てインストール」を選択しても、約250MB のディスク容量が残りますので、ダイアルアップルーター、PPP Serverなど、サーバー専用に使うには、十分な空き容量です。

■ メモリーの認識設定
96MB のメモリーが 64MB しか認識されないので /etc/lilo.conf を以下のように編集し、/sbin/lilo を実行します。

□ 以下、/etc/lilo.conf の内容
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=100
default=linux
image=/boot/vmlinuz-2.2.14-5k4
  label=linux
  append="mem=95M" <== ここがポイント、mem=96M ではエラーが発生します。
  read-only
  root=/dev/hda3
other=/dev/hda1
  label=dos

□ /sbin/lilo の実行
# /sbin/lilo

戻る

Corega EtherII PCC-T のインストール

■ /etc/pcmcia/config に以下の記述を追加します。
card "corega EtherII PCC-T"
version "corega K.K.", "corega EtherII PCC-T"
bind "pcnet_cs"

■ ネットワークの再起動
# /etc/rc.d/init.d/pcmcia restart

■ PC ブートの時のエラー対策
PC ブート時に以下のようなエラーメッセージが出ます。
Bringing up Interface eth0 Delaying eth0 initialization [FAILED]
PCMCIA が起動すると、正常にインストールされるので、実害はないのですが、起動時のエラーメッセージが出ないようにするには、以下の対策を行います。
□ 対策
/etc/sysconfig/network-script/ifcfg-eth0 を以下のように編集します。
ONBOOT="no"

戻る

ネットワークの設定

まずは、もっとも簡単なネットワークの設定を行って、LAN Card の機能を確かめます。

■ 前提
□ このローカルネットワークのサブドメイン名は、ISP の so-net.ne.jp をもじって tamura.so-net.ne.jp としました。

□ ホスト名
IBM ThinkPad 380XD:ibm380
Gateway GP7-450   :gw450

□ サブネットマスクは、255.255.255.0 としました。

■ /etc/hosts の編集
□ IBM ThinkPad 380XD
127.0.0.1     localhost.localdomain        localhost
192.168.0.1   ibm380.tamura.so-net.ne.jp   ibm380
192.168.0.2   gw450.tamura.so-net.ne.jp    gw450

□ Gateway GP7-450
127.0.0.1   localhost.localdomain          localhost
192.168.0.1   ibm380.tamura.so-net.ne.jp   ibm380
192.168.0.2   gw450.tamura.so-net.ne.jp    gw450

■ /etc/sysconfig/network の編集
□ IBM ThinkPad 380XD
NETWORKING=yes
FORWARD_IPV4="yes"
HOSTNAME="ibm380"
GATEWAYDEV=""
GATEWAY=""

□ Gateway GP7-450
NETWORKING=yes
FORWARD_IPV4="yes"
HOSTNAME="gw450"
GATEWAY=""
GATEWAYDEV=""

■ /etc/sysconfig/network-scripts/ifcfg-eth0 の編集
□ IBM ThinkPad 380XD
DEVICE="eth0"
USERCTL=no
ONBOOT="no"
BOOTPROTO="none"
NETMASK="255.255.255.0"
IPADDR="192.168.0.1"

□ Gateway GP7-450
DEVICE="eth0"
USERCTL=no
ONBOOT="yes"
BOOTPROTO="none"
NETMASK="255.255.255.0"
IPADDR="192.168.0.2"

■ ネットワークの起動(IBM ThinkPad 380XD、Gateway GP7-450)
# cd /etc/sysconfig/network-scripts
# ./ifdown eth0
# ./ifup eth0
# /etc/rc.d/init.d/network stop
# /etc/rc.d/init.d/network start

戻る

ネットワークの動作確認

各ホストで、以下を確認します。
# ifconfig -a
eth0 が表示されて、それぞれの IP Adr が表示されていたら正しく認識されています。

次に各ホストから他のホストへ ping を通します。ping コマンドに対して以下のようなメッセージが帰ってくれば、OK です。

■ IBM ThinkPad 380XD から Gateway GP7-450 への ping
$ ping -c 5 192.168.0.2
PING 192.168.0.2 (192.168.0.2) from 192.168.0.1 : 56(84) bytes of data.
64 bytes from 192.168.0.2: icmp_seq=0 ttl=255 time=0.6 ms
64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=0.6 ms
64 bytes from 192.168.0.2: icmp_seq=2 ttl=255 time=0.5 ms
64 bytes from 192.168.0.2: icmp_seq=3 ttl=255 time=0.5 ms
64 bytes from 192.168.0.2: icmp_seq=4 ttl=255 time=0.6 ms
--- 192.168.0.2 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.5/0.6 ms

■ Gateway GP7-450 から IBM ThinPad 380XD への ping
$ ping -c 5 192.168.0.1
PING 192.168.0.1 (192.168.0.1) from 192.168.0.2 : 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=0 ttl=255 time=0.6 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=255 time=0.5 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=255 time=0.5 ms
64 bytes from 192.168.0.1: icmp_seq=3 ttl=255 time=0.5 ms
64 bytes from 192.168.0.1: icmp_seq=4 ttl=255 time=0.5 ms
--- 192.168.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 0.5/0.5/0.6 ms

戻る

IP Masquerade の設定

追記:2001年05月19日

IP Masquerade は、ネットワークに繋がったホストから Dial Up Router を通して、インターネットに接続するための仕組みです。IP Masquerade を有効にするためには、
/etc/rc.d/rc.local に以下の記述を追記します。
# 以下を追記
for i in /lib/modules/2.2.14-5k4/ipv4/*.o
do
        /sbin/insmod $i
done

■ [追記](2001.05.19)
IP Maquerading、IP Forwarding の設定方法については、一般的な方法が別にあります。
こちらを参照してくだい。kh07-05[Vine Linux2.1]

戻る

Domain Name Service(DNS) Server の設定

DNS は、サブドメイン内でのホストのIP Address と名前の関係を解決する機能です。
DNS を設定しておくと、ネットワーク内にホストを追加する場合、新しいホストのネットワーク設定と、DNS に新しいホストを追加登録するだけで、新しいホストがネットワークにつながります。DNS が設定されていないと、全てのホストで /etc/hosts の追加記入が必要になり、ホストの数が多くなると管理が大変になります。
また、DNS を設定すると、各ホストの指定は、IP Adr だけでなく、ホストの名前で指定することができます。以下、DNS Server としての IBM ThinkPad 380XD の設定です。

/etc/named.conf を以下の内容に編集します。

options {
        directory "/var/named";
        forwarders {
              XXX.XXX.XXX.XXX; <== 注1:参照
              YYY.YYY.YYY.YYY; <== 注2:参照
        };
};

zone "." {
        type hint;
        file "named.root";
};

zone "localhost" {
        type master;
        file "named.local";
};

zone "0.0.127.in-addr.arpa" {
        type master;
        file "named.local.rev";
};

zone "tamura.so-net.ne.jp" {
        type master;
        file "named.tamura";
};

zone "0.168.192.in-addr.arpa" {
        type master;
        file "named.tamura.rev";
};

■ 注1
ISPの プライマリ DNS Server IP Address を記述します。
■ 注2
ISPの セカンダリ DNS Server IP Address を記述します。

次いで、/var/named/ 配下に以下のファイルを作成します。

■ /var/named/named.root
.               IN     NS   localhost.
localhost       IN     A    127.0.0.1

■ /var/named/named.local
@       IN      SOA    localhost.  root.localhost.  (
        1       ; serial
        360000  ; refresh
        900     ; retry
        3600000 ; expire
        36000   ; minimum
        )
IN      NS      localhost.
IN      A       127.0.0.1

■ /var/named/named.local.rev
@       IN      SOA     localhost.  root.localhost.  (
        1       ; serial
        360000  ; refresh
        900     ; retry
        3600000 ; expire
        36000   ; minimum
        )
IN      NS      localhost.
1       IN      PTR     localhost.

■ /var/named/named.tamura
@       IN      SOA     ibm380.tamura.so-net.ne.jp.  root.localhost.  (
        1       ; serial
        360000  ; refresh
        900     ; retry
        3600000 ; expire
        36000   ; minimum
        )
IN      NS      ibm380.tamura.so-net.ne.jp.
ibm380  IN      A       192.168.0.1
gw450   IN      A       192.168.0.2

■ /var/named/named.tamura.rev
@       IN      SOA     ibm380.tamura.so-net.ne.jp.  root.localhost.  (
        1       ; serial
        360000  ; refresh
        900     ; retry
        3600000 ; expire
        36000   ; minimum
        )
IN      NS      ibm380.tamura.so-net.ne.jp.
0       IN      PTR     tamura.so-net.ne.jp.
        IN      A       255.255.255.0
1       IN      PTR     ibm380.tamura.so-net.ne.jp.
2       IN      PTR     gw450.tamura.so-net.ne.jp.
■ /etc/resolv.conf の記述
□ IBM ThinkPad 380XD
domain  tamura.so-net.ne.jp
nameserver      127.0.0.1

□ Gateway GP7-450
domain tamura.so-net.ne.jp
nameserver 192.168.0.1

■ /etc/sysconfig/network の再編集
□ Gateway GP7-450
NETWORKING=yes
FORWARD_IPV4="yes"
HOSTNAME="gw450"
GATEWAYDEV=""
GATEWAY="192.168.0.1"

最後に、/etc/rc.d./init.d/named を再起動します。
# /etc/rc.d/init.d/named stop
# /etc/rc.d/init.d/named start

■ /etc/rc.d/init.d/named の自動起動(2001.01.10 追記)
サーバー起動時に自動的に /etc/rc.d/init.d/named を起動するには、以下の設定を行います。

□ RUN レベル 3 の場合
# chkconfig --add named
/etc/rc.d/rc3.d 配下に K45named --> ../init.d/named というソフトリンクがあります。
# cd /etc/rc.d/rc3.d
# mv K45named S99named

□ RUN レベル 5 の場合
/etc/rc.d/rc5.d 配下の K45named --> ../init.d/named を、上記と同様に名前の変更を行います。

□ K45named を S99named に名前変更する意味
K は、named を起動させない、S は起動させることを意味しています。
45 or 99 は 45番目 or 99番目に起動するという意味です。
45 を 99 に変更したのは、pcmcia の起動が、S45pcmcia に設定されているため、
named をこれより確実に後で起動させるためです。
上記設定の意味についての詳細は、以下を参照してください。
kh04-06[/etc/inittabの設定内容と/sbin/initによる実行内容]
kh04-07[/etc/rc.d/init.d/配下のスクリプトファイルの内容]

戻る

DNS の動作確認

IBM ThinkPad 380XD にターミナルよりログインし、nslookup コマンドで各ホストの IP Adrと、ホスト名を確認します。以下のようなメッセージが帰ってくれば、正常動作しています。

# nslookup
Default Server:  localhost
Address:  127.0.0.1

> 192.168.0.1
Server:  localhost
Address:  127.0.0.1

Name:    ibm380.tamura.so-net.ne.jp
Address:  192.168.0.1

> 192.168.0.2
Server:  localhost
Address:  127.0.0.1

Name:    gw450.tamura.so-net.ne.jp
Address:  192.168.0.2

> ibm380
Server:  localhost
Address:  127.0.0.1

Non-authoritative answer:
Name:    ibm380.tamura.so-net.ne.jp
Address:  192.168.0.1

> gw450
Server:  localhost
Address:  127.0.0.1

Non-authoritative answer:
Name:    gw450.tamura.so-net.ne.jp
Address:  192.168.0.2

戻る

bind-8.2.3 での DNS Server 設定上の注意

作成:2001年05月19日

Kondara MNU/Linux 1.1 や Vine Linux 2.1 では、DNS は bind-8.2.2 が採用されていますが、bind-8.2.2 にはセキュリティホールがあるので、bind-8.2.3 へのアップデートが推奨されています。bind-8.2.3 での DNS Server 設定上の注意を記載します。

前記、/var/named/ 配下の設定ファイルの表記上の注意が必要です。

■ 例1:/var/named/named.local の場合
@       IN      SOA     localhost.  root.localhost.  (
        1       ; serial
        360000  ; refresh
        900     ; retry
        3600000 ; expire
        36000   ; minimum
        )
IN      NS      localhost. <=== このままではエラーになります。
IN      A       127.0.0.1  <=== このままではエラーになります。

正しい表記
        IN      NS      localhost. <=== 'IN'の前にスペースを入れます。
        IN      A       127.0.0.1  <=== 'IN'の前にスペースを入れます。

■ 例2:/var/named/named.local.rev の場合
@       IN      SOA     localhost.  root.localhost.  (
        1       ; serial
        360000  ; refresh
        900     ; retry
        3600000 ; expire
        36000   ; minimum
        )
IN      NS      localhost. <=== このままではエラーになります。
1       IN      PTR     localhost.

正しい表記
        IN      NS      localhost. <=== 'IN'の前にスペースを入れます。
1       IN      PTR     localhost.

戻る

/etc/inetd.conf の設定

FTP、telnet を有効にするには、/etc/inetd.conf を編集します。
詳細は、kh05-03[FTP Server構築]を参照してください。
IBM ThinPad 380XD、Gateway GP7-450 ともに、/etc/inetd.conf を設定しました。

戻る

gw450 から ISP への PPP 接続

訂正:2001年04月28日

■ 準備
ダイアルアップルーターとしての ibm380 に PPxP の設定を行います。
ユーザー権限で PPxPを使用するには、kh06-06[Kondara MNU/Linux1.1]を参照して下さい。 X-Window を使用していれば、ターミナルから $ qdial で PPxPコンフィグレーション設定ダイアログボックスが表示されますので、以下の設定を行います。
デバイス名  :/dev/ttyS0
ダイアル形式:pulse(or tone)
電話番号    :xxxx-xxxx-xxxx
ログイン名  :xxxxxxxx
パスワード  :xxxxxxxx
上記を so-net という名前で登録します。/home/USER_NAME/.ppxp/conf/ に so-net とい
うファイルが生成します。内容は以下の通りです。
□以下、/home/USER_NAME/.ppxp/conf/so-net の内容
source qdial
set MODE active
set AUTH.PASSWD so-net
set LOG.FILE so-net.log
set LINE /dev/ttyS0
set DIAL.LIST 718-2030
set DIAL.TYPE Pulse
set AUTH.PROTO PAP CHAP/MD5 CHAP/MS
set IP.VJ yes
set IP.RESOLV yes

□ /etc/resolv.conf の自動生成を行わないようにするために、上記を書き換えます。
set IP.VJ yes     ===> set IP.VJ no
set IP.RESOLV yes ===> set IP.RESOLV no
また、IP Masquerade を有効にするために、上記に以下の内容を追記します。
filter ip +mO -S 192.168.0.0/24

■ 接続
gw450 のターミナルから以下のコマンドを入力すると、ibm380 から ISP への PPP接続が開始されます。
$ telnet ibm380
$ ppxp so-net
> connect
後は、gw450 からインターネット接続が可能になります。

■ 接続終了
> disconnect
or
> q

戻る

PPP Server 構築

ibm380 は、IP Masquerade の設定によって、IP:forwarding  がすでに有効になっており、その他のカーネルも、デフォルトで組み込まれているか、モジュール化されていますので、カーネル再構築の必要はありません。
各種のファイルを設定すれば、PPP Server が有効になります。
設定が必要なファイルは以下の通りです。
/etc/mgetty+sendfax/login.config
/etc/mgetty+sendfax/mgetty.config
/etc/ppp/options
/etc/ppp/pap-secrets
/etc/inittab
詳細、設定内容は、kh05-02[PPP Server構築]を参照してください。
なお、/etc/ppp/options の IP Adr については、このネットワークのものを使用します。

Gateway GP6-350(大津)/MS Windows95 から、ibm380(横浜)に PPP 接続すれば、
ibm380(横浜)、gw450(横浜)にアクセスでき、telnet、FTP、http とも使用できます。

戻る

counter1counter2counter3counter4counter5counter6

|Home|
 
Valid XHTML 1.1 Valid CSS!