2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

WINS(samba)と経路情報の設定!

目的:単純にルータ機能付き、WINSサーバを構築する。

構築環境:
OS)Debian Linux 5.0.3
機種)DELL DIMENSION D300
IPアドレス)192.168.0.14
ホスト名)winsrouter


1.OSのインストール
1)インストーラの起動
Debianのディスクをいれて、CD or DVD BOOTを行う。 [WINS(Samba)のインストール]
※ 画面に従って、操作を行うのみでOK!(詳細は割愛する)
このあとのWINS(SAMBA)の円滑な導入にあたり、導入するモジュールにデスクトップGUI環境のインストールを行う。

2)ネットワークの設定
デスクトップ環境にログイン後、画面上部にある[システム] → [ネットワーク]からネットワークカードの設定を行う。

[接続タブ eth0のプロパティ]
IPアドレス 192.168.0.14
サブネットマスク 255.255.255.0
デフォルトゲートウェイ 192.168.0.1

[全般 タブ]
ホスト名 winsrouter
ドメイン名 xxxxxxxxxxxx.co.jp

[DNS タブ]
DNSサーバ 192.168.0.4


2.WINSのインストールとセットアップ
1)インストール

画面上部にある[システム] → [アプリケーションの追加と削除]から[GADMIN-SAMBA]の導入を行う。

※WINSサーバは、ネットワークに接続されたホストの[NetBIOS名] と [IPアドレス名] と[ドメイン名]を解決する。
(機能的には[lmhosts]ファイルと同じです。

2)WINSの設定
画面上部にある[アプリケーション] → [システムツール]から[GADMIN-SAMBA]をクリックする

以下設定を変更した箇所のみ記述
Server Settings タブ

netbios name = winsrouter NetBIOSの名前 Windows ネットワーク上で表示される名前
server string =        DHCP3 & WINS Windows ネットワーク上で表示される説明
workgroup = hoge      Windows ネットワーク上でのグループ
wins support = yes     WINSサーバの使用の有無

他のタブについてはデフォルト設定のまま

設定終了後、[適応]をクリックし、[Active]ボタンをクリックすると起動する。その後、[Deactive)]ボタンを押し、一度終了する。

3)wins.datファイルの確認
終了後、wins.datファイルの作成が行われているかの確認を行う。
確認方法は画面上部の[アプリケーション] → [アクセサリ] → [端末]をクリックし、CUI画面を開く。

下記コマンドを入力し、wins.datファイルが開けることを確認する
# cat /var/lib/samba/wins.dat

4)sambaの起動
確認後、再度 sambaを起動する。
CUI画面から起動するには、管理者権限になり下記コマンドを実行する

# /etc/init.d/samba start

5)起動プロセスの確認
プロセスを確認するには下記コマンドを入力し、 結果
[nmbd]と[smbd]がそれぞれ表示されることを確認する。
ps -ef | grep nmbd | grep -v grep → nmbd

ps -ef | grep smbd | grep -v grep → smbd

6)wins.datファイルへの登録
クライアントにWINSの設定が行われると、[ホスト名](NetBIOS) , [IPアドレス] , [ドメイン名](ドメインコントローラーの場合)が
wins.datに登録する。(wins.datの更新は「nmbd」プロセス再起動時に行う。)

※ wins.datについて
[ホスト名](NetBIOS) , [IPアドレス] , [ドメイン名](ドメインコントローラーの場合)は、wins.datに下記のように登録する。
例として、

ホスト(NetBIOS名) hogeserver
IPアドレス 192.168.5.1
ドメイン名 hogehoge

の場合、

——–wins.dat——–
“MANAGER#1e” 1284206186 0.0.0.0 e4R
“MNGSERVER#03” 1284165049 192.168.7.2 64R
MNGSERVER#20 1284165049 192.168.7.2 64R
MANAGER#1b 1284165049 192.168.7.2 64R
MANAGER#00 1284206186 0.0.0.0 e4R
MNGSERVER#00 1284165049 192.168.7.2 64R
———————-

“HOGESERVER#03” 1284165049 192.168.7.2 64R エントリ例詳細

“HOGESERVER#03” → NetBIOS名 lmhostsファイルと同じ文法で記述。NetBIOS名の前後は””で記述
1284165049 → TTL エントリの有効期限。 静的エントリでは0を指定する
192.168.7.2 → IPアドレス
64R → NetBIOSフラグ


3. 経路情報(ROUTING)の設定(192.168.0.xに接続された端末からの問い合わせ用)

1)パケット転送の有効化
/etc/sysctl.conf の設定を変更する。下記項目の「#」を解除する。
# vi /etc/sysctl.conf
net.ipv4.tcp_syncookies = 1
net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1

PCの再起動を行う。
下記コマンドを実行し、変更結果が有効になっているか確認する(1が表示されれば有効 )
# cat /proc/sys/net/ipv4/ip_forward
1
# cat /proc/sys/net/ipv4/tcp_syncookies
1
# cat /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
1
# cat /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
1


2)登録されている経路情報の確認
登録されている経路情報(ルーティングテーブル)を参照するには、コンソール画面で「route -n」コマンドを実行する。

カーネルIP経路テーブル (一般的な状態)
受信先サイト  ゲートウェイ  ネットマスク フラグ Metric Ref 使用数 インタフェース
192.168.0.0   0.0.0.0     0.0.0.0    U   0     0   0    eth0
0.0.0.0      192.168.0.1  0.0.0.0    UG  0     0   0    eth0

現状の登録されている経路情報に対して、各セグメント宛の経路情報の追加を行う。

3)経路情報の登録
192.168.0.0のネットワークからみた各ネットワークセグメントに対してのゲートウェイ。
ネットワークセグメント 192.168.1.0 192.168.3.0 192.168.5.0 192.168.7.0 192.168.8.0
ゲートウェイ 192.168.0.31 192.168.0.25 192.168.0.26 192.168.0.27 192.168.0.28

この情報をもとに、経路情報の登録を行う。経路情報の追加(削除)には「route add(del) コマンドを使用する。

経路情報の追加と削除の書式
追加 route add -net 受信先サイト netmask サブネットマスク gateway ゲートウェイアドレス

各ネットワークセグメントのゲートウェイの経路を登録する。
# route add -net 192.168.1.0 netmask 255.255.255.0 gateway 192.168.0.31
# route add -net 192.168.3.0 netmask 255.255.255.0 gateway 192.168.0.25
# route add -net 192.168.5.0 netmask 255.255.255.0 gateway 192.168.0.26
# route add -net 192.168.7.0 netmask 255.255.255.0 gateway 192.168.0.27
# route add -net 192.168.8.0 netmask 255.255.255.0 gateway 192.168.0.28

経路情報登録あとに「ROUTE -n」を実行する
受信先サイト  ゲートウェイ  ネットマスク   フラグ Metric Ref 使用数 インタフェース
192.168.1.0   192.168.0.31  255.255.255.0 UG  0    0   0    eth0
192.168.3.0   192.168.0.25  255.255.255.0 UG  0    0   0    eth0
192.168.5.0   192.168.0.26  255.255.255.0 UG  0    0   0    eth0
192.168.7.0   192.168.0.27  255.255.255.0 UG  0    0   0    eth0
192.168.8.0   192.168.0.28  255.255.255.0 UG  0    0   0    eth0
192.168.0.0   0.0.0.0      255.255.255.0 U   0    0   0    eth0
0.0.0.0      192.168.0.1   255.255.255.0 UG  0    0   0    eth0

登録を行った経路情報は、OSの再起動を行うと消えてしまうので、スクリプトファイルを作成し、OS起動時に自動起動させるようにする。

chmod コマンドでファイルに実行属性を与え、スクリプトファイルを実行可能な状態にする。
# chmod 755 router.sh
OS起動後、手動でスクリプトファイルを実行し、経路情報の確認を行う。
#!/bin/sh

route del -net 169.254.0.0 netmask 255.255.0.0 gateway 0.0.0.0 → ネットワーク接続されていない時の経路情報

route add -net 192.168.1.0 netmask 255.255.255.0 gateway 192.168.0.31

route add -net 192.168.3.0 netmask 255.255.255.0 gateway 192.168.0.25

route add -net 192.168.5.0 netmask 255.255.255.0 gateway 192.168.0.26

route add -net 192.168.7.0 netmask 255.255.255.0 gateway 192.168.0.27

route add -net 192.168.8.0 netmask 255.255.255.0 gateway 192.168.0.28

route -n

作成したシェルスクリプトに問題なければ、起動時にこのシェルスクリプトも自動起動するようにrc.localファイル等へ組み込む。

4)経路情報の確認
OS起動後、手動でスクリプトファイルを実行し、経路情報の確認を行う。
スクリプトファイルに問題なければ、起動時に読み込むように組み込みを行う。

以上

コメント