このページではLinuxインストールした自宅サーバー公開サーバー向けのネットワーク設定にする方法についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
CentOS5.7インストール後の設定

インストール後の設定

ログインシステムの変更

ユーザーアカウントの作成

X-Windowと通信の確認

簡易テキストエディタ"nano"

ネットワークの詳細設定

日本語文字セットの設定

sshクライアントの導入

yumによるアップデート

不要デーモンの停止

公開のためのルーター設定

ダイナミックDNSの登録と設定

ダイナミックDNSの自動更新


サーバーを前提としたネットワーク設定

構築中のLinuxサーバー を、単純に クライアント機 として使うだけであれば、 OS インストール のときに行ったネットワーク設定だけで充分です。

従ってこのパートで行う設定は不要です。

しかしながらクライアント機ではなく サーバー機 として確実に機能させるためには更に詳細なネットワーク設定が必要となります。

ここで行う設定は CentOS5 をサーバーとして動作させるためだけではなく、これから行っていく様々な設定の基本になりますから、「とりあえず動くようになればいい」という考えで設定すると良くありません。一つ一つの設定の意味を理解しながら行うことに意義があると考えてください。

ネットワークの設定を司るCentOS5システム上の設定ファイルは、以下のとおりです。

1./etc/sysconfig/network-scripts/ifcfg-eth?

特定の NIC に依存するネットワーク情報の設定ファイル。

2./etc/sysconfig/network

NICに依存しない、CentOS5システム全体のネットワーク情報の設定ファイル。

3./etc/resolv.conf

構築中のLinuxサーバー が参照する DNSサーバー 情報の設定ファイル。

4./etc/hosts

構築中のLinuxサーバー が参照する hostsファイル

5./etc/host.conf

6./etc/nsswitch.conf

このCentOS5システムが参照する 名前解決 システムの優先順位の設定ファイル。

これからCentOS5のシステム上で行う様々な サーバー アプリケーション の設定は、いずれもこの六つの設定ファイルの記述を デフォルト の値として参照しますから、これらの設定を間違えてしまうと後でとても困ることになります。

もしも 構築中のLinuxサーバー とりあえずインターネットに接続できている 状態であれば、これらの設定ファイルには既に基本的な設定値が記述されているはずです。

ですから、変更したり追加したりするパラメータだけではなく、デフォルトのまま書き換える必要のないパラメータについても、一つ一つの意味を確実に押さえておくことをお勧めします。

このページの先頭へ↑

1.NICのネットワーク設定

TCP/IP では、通信の ノード として NIC を用います。

制限はありますが、一つのNICに対しても複数のネットワーク設定を行うことも可能です。

設定は、

"/etc/sysconfig/network-scripts/ifcfg-eth?"

という設定ファイルの内容を編集して行います。

ファイル名の末尾の "?" は、 "0" から始まる続き番号となります。

これは CentOS5 のシステムが、一つの ホスト に複数のNICを実装する場合に対応するためです。

ですから、今回 構築中のLinuxサーバー のように ホスト機 に一つのNICしか実装されていない場合は、

"/etc/sysconfig/network-scripts/ifcfg-eth0"

だけを編集すればよいことになります。

ネットワークの設定ファイルは、 "root" ユーザー以外には変更できません。

まず、適当な ユーザーアカウント でCentOS5のシステムに ログイン した後、 su コマンド でユーザーアカウントを "root" に変更し、設定ファイルを nano エディタで開きます nanoエディタでファイルを開く

右下の設定値(初期値)は、インストールしたサーバー機の ハードウェア 構成、ドライバのインストールの手順の違いなどによって異なることがあります。
[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/sysconfig/network-scripts/ifcfg-eth0Enter


書式は、

"キーワード"="パラメータ"

です。これらの値は、NICが動作を開始するときに読み込まれます。ひとつの設定値は一行に記述します。各行の記述の順序の指定は特にありません。

日本語に対応したテキストエディタを使う場合は日本語でコメントを入れることもできますが、あいにく "nano" は日本語対応が不十分です。すべて半角英数字で記述してください。

"#" で始まる行はコメント行としてプログラムからは無視されますから、メモなどで適宜利用してください。

以下、各キーワードの意味とパラメータについて説明します。

"DIVICE"...NICの名前

実際に設定値としてシステムが参照するのはこの値であって、ファイル名の "ifcfg-eth0" ではありません。まぎらわしいので念のため。

構築中のLinuxサーバー 自身が、システムの中の様々な設定で、 NIC を特定して取り扱う場合の「識別名」です。

使用するNICがひとつで、またそのNICにひとつしか IPアドレス を割り当てない場合(つまり現在構築中のケース)は、

"DEVICE=eth0"

と記述します。

"ONBOOT"...起動時のNIC有効化の有無

構築中のLinuxサーバー のシステムを起動したときに、自動的にその NIC を有効にするか、しないか、という設定です。パラメータ "yes" "no" で指定します。

これが有効になっていないと、 構築中のLinuxサーバー の起動時にNICが動作せず、起動の度に手動で動作させなくてはならなくなります。当然、

"ONBOOT=yes"

と記述します。

"BOOTPROTO"...IPアドレスの指定方法の選択

NIC の基本的な「振る舞い」の設定です。

その他、 "dialup" 、や "bootp" といった設定もありますが、今回のサーバー構築には無関係なので説明は割愛します。また、固定IPアドレスの場合は "static" ではなく "none" と設定するように薦めているケースがありますが、これはどちらでも構わないようです。

もし、NICに対して直接 IPアドレス を設定するときは "static" ルーター などを DHCPサーバー として稼動させ、NICに自動でIPアドレスを割り当てるときは "dhcp" と設定します。

当然ながら、 構築中のLinuxサーバー は、 サーバー として稼動させるためにIPアドレスを固定にする必要がありますから、

"BOOTPROTO=static" または "BOOTPROTO=none"

と記述します。

"IPADDR"...IPアドレスの値

NIC に割り当てる IPアドレス の設定です ネットワークの計画 。当然、

"IPADDR=192.168.100.11"

となります。

"NETMASK"...サブネットマスク値

構築中のLinuxサーバー が接続している サブネット サブネットマスク値 の設定です ネットワークの計画

"NETMASK=255.255.255.0"

です。

"GATEWAY"...ゲートウェイアドレスの値

サブネット の出入り口である ゲートウェイアドレス の設定です。つまり ルーター IPアドレス が入ります ネットワークの計画

このパラメータを設定しない場合には、 "/etc/sysconfig/network/" (2.ネットワーク全体の設定)のキーワード "GATEWAY" の設定が参照されます。

つまり、複数の NIC を搭載して、NIC毎に異なるゲートウェイアドレスを設定する必要があるときには省略することはできません。

ただし、 「ゲートウェイアドレスの設定は、NICに対して個別に行う。」 という習慣にしておいたほうがスマートですから、ここで設定しておくことをおすすめします。

"GATEWAY=192.168.100.1"

となります。

"NETWORK"...ネットワークアドレスの値

構築中のLinuxサーバー が接続している サブネット ネットワークアドレス を設定します ネットワークの計画

ネットワークアドレスは、その サブネット の先頭の IPアドレス ですから、

"NETWORK=192.168.100.0"

となります。

実は CentOS5 では、このネットワークアドレスの値は、 "IPADDR=" と、 "NETMASK=" の値から自動計算されます。従って、通常はこのパラメータは設定する必要はありません。

ただ、このシステム上で稼動させる アプリケーション の中には、この設定ファイルに記述されている値を参照するものがあるかもしれません。念のため設定しておきましょう。

"BROADCAST"...ブロードキャストアドレスの値

構築中のLinuxサーバー が接続している サブネット ブロードキャストアドレス を設定します ネットワークの計画

ブロードキャストアドレスは、その サブネット の末尾の IPアドレス ですから、

"BROADCAST=192.168.100.255"

となります。

実は CentOS5 では、このブロードキャストアドレスの値は、 "IPADDR=" と、 "NETMASK=" の値から自動計算されます。従って、通常はこのパラメータは設定する必要はありません。

ただ、このシステム上で稼動させる アプリケーション の中には、この設定ファイルに記述されている値を参照するものがあるかもしれません。念のため設定しておきましょう。

"TYPE"...接続タイプの設定

NIC の規格の設定です。

最近はほとんどがイーサネット接続ですから、 "Type=Ethernet" 以外の設定が行われるのは非常に珍しいといえます。例えば、アナログ モデム でインターネットに接続する場合などは、 "TYPE=Modem" という記述になります。

今回のケースでは、 構築中のLinuxサーバー ルーター 配下に イーサネット で接続されていますから、

"TYPE=Ethernet"

と記述します。

"USERCTL"...一般ユーザーに対するNIC制御の許可

構築中のLinuxサーバー システム上の一般 ユーザーアカウント から、この NIC の稼動と停止を行わせることを許可するかどうかの設定です。 "yes" または "no" で指定します。

もちろん勝手に止められたり、動かされたりされては困りますから

"USERCTL=no"

と設定します。

"PEERDNS"...DNSサーバー設定の変更の許可

この NIC DHCPサーバー からネットワーク設定を割り当ててもらう場合、 構築中のLinuxサーバー が参照するDNSサーバーの設定ファイル "/etc/resolv.conf" まで書き換えを許可するかどうかの設定です。 "yes" または "no" で指定します。

つまりこの設定は、設定ファイルの中で、 "BOOTPROTO=dhcp" と指定されている場合にしか意味を持ちませんので、あってもなくてもどちらの設定になっていても構わないことになります。

が、外部のDHCPサーバーから、設定を書き換えられる可能性を残すのは サーバー の運用上気持ちの良いものではありません。明示的に、

"PEERDNS=no"

と設定することをお勧めします。

"HWADDR"...NICのMACアドレス

NIC MACアドレス の設定です。

NICが認識されたときに通常は自動的に設定されるようですが、 ホスト機 の環境や ディストリビューション のバージョンによっては設定されない場合もあります。

強いて設定する必要はないようですが、自動的に設定されている場合はそのままにしておくようにします。

ただしホスト機に複数のNICが接続されている場合は明示的に指定しておいたほうが間違いがなく良いかもしれません。

"IPV6INIT"...IPv6の有効化

NIC IPv6 IPv6について を利用するかどうかの設定です。

このコンテンツではIPv6は扱いませんので記述しないか、明示的に "no" を設定しておきます。

設定ファイルの例

以上の設定を行った "/etc/sysconfig/network-scripts/ifcfg-eth0" の設定例を示します。

テキストファイルの内容が変更されていなければ、 Ctrl+x だけで終了できます。

設定が終わったら、 Ctrl + x y Enter で設定ファイルを保存し、 nano エディタを終了します。

このページの先頭へ↑

2.ネットワーク全体の設定

CentOS5 は複数の NIC の利用が可能で、更にそれぞれのNICに複数の ノード を設定することが可能です。

ただ、例えば ドメイン名 FQDN のように、 それぞれのノードに依存しない設定、つまり 「全体をとりまとめた共通設定」 を行う必要があります。

その設定は、

"/etc/sysconfig/network"

という設定ファイルの内容を編集して行います。

編集は "/etc/sysconfig/network-scripts/ifcfg-eth0" と同様の手順で行います。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/sysconfig/networkEnter


書式は、

"キーワード"="パラメータ"

です。これらの値は、システムのネットワークが動作を開始するときに読み込まれます。ひとつの設定値は一行に記述します。各行の記述の順序の指定は特にありません。

"#" で始まる行はコメント行としてプログラムからは無視されますから、メモなどで適宜利用してください。

以下、各キーワードの意味とパラメータについて説明します。

"NETWORKING"...ネットワーク機能の利用の有無

CentOS5の色々な設定の中には、このように、 「そんなの当たり前でしょ。」 的なものが結構あります。人間にとって解り切ったことでも、機械には教えてあげなければ解ってくれないことがたくさんあるということです。

構築中のLinuxサーバー のシステムが、ネットワーク機能を利用するかどうかの設定です。 "yes" または "no" で指定します。当然、

"NETWORKING=yes"

となります。

"NETWORKING_IPV6"...IPv6の利用の有無

IPv6 IPv6について ネットワーク機能を利用するかどうかの設定です。 "yes" または "no" で指定します。今回はIPv6は使用しません。

"NETWORKING_IPV6=no"

となります。

"HOSTNAME"...ホスト名の設定

この CentOS5 のシステムの、 ホスト名 FQDN )を設定します。

このパラメータは、CentOS5のシステムと、システム上で動作する アプリケーション の多くがホスト名の デフォルト として参照します。

CentOS5の インストール で、ネットワークの設定のステップ CentOS5のネットワーク設定 を行っていれば、また後から NIC の設定を行っていれば CentOS5インストール後にNICのドライバをインストールする方法 、ホスト名は "web1.obenri.com" になっているはずです。

もしも設定されていないければ、

"HOSTNAME=web1.obenri.com"

のように、 ホスト名の決め方について の考え方に基づいてホスト名を定め、記述します。

"DOMAINNAME"...ドメイン名の設定

構築中のLinuxサーバー のシステムの、 ドメイン名 を設定します。

このパラメータは、 ホスト名 と同様に、CentOS5のシステムと、システム上で動作する アプリケーション の多くがドメイン名の デフォルト として参照します。

申請、登録を行ったドメイン名をそのまま、

"DOMAINNAME=obenri.com"

のように記述します。

"GATEWAY"...ゲートウェイアドレスの値

構築中のLinuxサーバー のシステムの、 ゲートウェイアドレス を設定します。

このパラメータは、 "/etc/sysconfig/network-scripts/ifcfg-eth?" で、キーワード "GATEWAY" が設定されていない場合の デフォルト との設定なります。

つまり、 "/etc/sysconfig/network-scripts/ifcfg-eth?"

にきちんと設定されていればこのパラメータは不要ですが、念のため設定しておくことをおすすめします。

"GATEWAY=192.168.100.1"

と記述します。

設定ファイルの例

以上の設定を行った "/etc/sysconfig/network" の設定例を示します。

テキストファイルの内容が変更されていなければ、 Ctrl+x だけで終了できます。

設定が終了したら、 Ctrl + x y Enter で設定ファイルを保存し、 nano エディタを終了します。

このページの先頭へ↑

3.参照するDNSサーバーの設定

構築中のLinuxサーバー が、 名前解決 のために参照する DNSサーバー の設定ファイルです。

"/etc/resolv.conf"

を編集します。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/resolv.confEnter


通常は、

"nameserver IPアドレス " で、参照するDNSサーバーをIPアドレスで指定します。

キーワード "nameserver" とパラメータである "IPアドレス" は間をスペースまたはTABで区切って、一行毎に一つのパラメータを記述してください。

キーワードは複数設定可能で、上の行に記述されたDNSサーバーから順に参照されます。

コメント行を意味する文字は、 "#" だったり ";" だったり色々です。なぜこんなふうに統一性がないかというと、 LinuxOS がという ディストリビューション 自身が、色々なディストリビューションの寄せ集めだからです。これはもうどうしようもないことなので、間違えないように気をつけてください。としか言えません。

";" で始まる行はコメント行としてプログラムからは無視されますから、メモなどで適宜利用してください。

ここは、 CentOS5のネットワーク設定(DNS) あるいは CentOS5のデバイスドライバ導入後のDNS設定 で設定したIPアドレスが登録されているはずですので、通常は編集する必要はありません。

DNSサーバーのIPアドレスは、 ISP のメンテナンスの場合などに備え、通常は二つ以上のDNSサーバーを参照しておく必要がありますのでISPの契約書類をお読みになり、書類に記載のあるDNSサーバーを二つ以上記述しておくことをお薦めします。

また、この設定ファイルには、

ちなみにこのキーワードによる設定は、 DNS検索パスについて "DNS検索パス" と同じものです。

"search ドメイン名 というキーワードとパラメータが指定できます。

ここに、例えば

"seaech obenri.com"

と記述したとすると、DNSサーバーで名前解決を行うとき、 "www.obenri.com" といった FQDN ではなく、 "www" というホスト名だけでも、その後ろにキーワード ".obenri.com" を補完して名前解決を行ってくれます。

このキーワードは、 LAN 内に自前のDNSサーバーを設置し、そのDNSサーバーにサブネット内とサブネット外とで異なる名前解決を行わせるときなどには有効なことがありますが、自分でDNSサーバーを設置していない現時点では、任意です。

テキストファイルの内容が変更されていなければ、 Ctrl+x だけで終了できます。

設定が終了したら、 Ctrl + x y Enter で設定ファイルを保存し、 nano エディタを終了します。

このページの先頭へ↑

4."hosts"の設定

構築中のLinuxサーバー が、固定的に 名前解決 を行う hostsファイル として、

"/etc/hosts"

を編集します。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/hostsEnter


書式は、

" IPアドレス   ホスト名 " です。

行の先頭から最初のスペースまたはTABまでが IPアドレス と解釈されます。

左側のパラメータである IPアドレス と、右側のパラメータである ホスト名 はスペースまたはTABで区切って、一行で記述します。ホスト名はスペースまたはTABで区切って複数指定することが可能です。

キーワードは複数設定可能で、上の行から順に参照されます。

"#" で始まる行はコメント行としてプログラムからは無視されますから、メモなどで適宜利用してください。

例えばこのファイルに

"192.168.100.11 web1.obenri.com"

と記述した場合には、

web1.obenri.com → 192.168.100.11

と名前解決されますし、

"192.168.100.11 web1.obenri.com web1"

と記述した場合には、

web1.obenri.com → 192.168.100.11、及び

web1 → 192.168.100.11

と名前解決されるようになります。

ところで、 WAN 、すなわちインターネット空間では、普通このような名前解決の仕事は DNSサーバー が担うようにシステム化されています DNSサーバーによる名前解決のしくみ

だとすれば、この "/etc/hosts" というファイルの設定はなぜ必要なのでしょうか。名前解決の一切を ISP 指定のDNSサーバーに任せるわけにはいかないのでしょうか。

ここでもう一度、現在構築中のネットワーク構成を思い出してください ネットワークの計画

このネットワークは、 ルーター NAT + IPマスカレード 機能を使って、 WAN 空間と LAN 空間を切り分けた形になっています NAT+IPマスカレードの説明

というわけですから、WAN空間に設置されているISPのDNSサーバーが名前解決できるのは、あくまでWAN空間に ノード を持つルーターや ホスト であって、WAN空間から切り離されたLANの内部のホストに対しては、名前解決を行うことができないわけです。

従って、こういうネットワーク構成では、なんらかの方法でLAN内部の名前解決をしなけければならないことになります。

このLAN内部に設置するDNSサーバーについては、 LAN内に設置するDNSサーバーの構築 で構築の解説をします。

もちろん、LANの中で名前解決を行うためのDNSサーバーを設置するのも一つの選択肢ですが、LANに接続しているホストの台数が限られていれば、それぞれのホスト機に 「固定的な情報としての名前解決の対照表」 を持たせるほうが簡単です。

その対照表が "/etc/hosts" というわけです。

さて、現在この設定ファイルは、コメント行を除くとこういう記述になっているはずです。

2行目の "::1" で始まる行は IPv6 IPv6について に関する記述ですので説明は割愛します。そのまま残しておいてください。
127.0.0.1 web1.obenri.com web1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

また、 CentOS5 のインストール後に、 NIC の設定を行った場合 CentOS5のインストール後にNICのデバイスドライバをインストールする は、以下のようになっているはずです。

127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

これらはいうまでもなく ループバックアドレス に対するホスト名の記述です。

この "localhost" "web1" のように、 FQDN 形式ではないホスト名は、本来 UNIX OS が使ってきたもので、現在は WindowsOS MacintoshOS でも利用しますから、そういうホスト名を参照するアプリケーション動作のために必ず記述しておきましょう。

"localhost.localdomain" "localhost" というホスト名は、ループバックアドレスに対する「お約束」ですから、変更する必要はありません。

また、後からNICの設定を行った場合には、自分で設定すべきホスト名である "web1.obenri.com" 及び "web1" は当然のことながら設定されていないわけです。

実は、現在の状態を正しく記述すると、 "/etc/hosts" は次のようになります。

127.0.0.1 localhost.localdomain localhost
192.168.100.11 web1.obenri.com web1
::1 localhost6.localdomain6 localhost6

しかし、 "127.0.0.1" "192.168.100.11" も、このホスト機にとってはどちらも自分自身を示すIPアドレスですし、この "/etc/hosts" 構築中のLinuxサーバー 上でしか働きませんから、通常は、

127.0.0.1 web1.obenri.com web1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

のままでも あまり 困ることはありません。

ただ、後から ドメイン名 サブドメイン を追加するときはその都度書き換える必要がありますし、 アプリケーション によっては不都合が出る場合があります。

できれば、

127.0.0.1 localhost.localdomain localhost
192.168.100.11 web1.obenri.com web1
::1 localhost6.localdomain6 localhost6

のように記述しておくほうがよいでしょう。

テキストファイルの内容が変更されていなければ、 Ctrl+x だけで終了できます。

設定が終了したら、 Ctrl + x y Enter で設定ファイルを保存し、 nano エディタを終了します。

このページの先頭へ↑

5.名前解決の順序の設定(/etc/host.conf)

構築中のLinuxサーバー が、 名前解決 を行うために参照するシステムの優先順位を決定するための設定です。

"/etc/host.conf"

を編集します。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/host.confEnter


基本的な書式は、

"order 先に参照するシステム,後に参照するシステム" です。

キーワード order とパラメータはスペースまたはTABで区切って、一行で記述します。

"参照するシステム" は、 "/etc/hosts" の記述を示す "hosts" と、 DNSサーバー の記述である "/etc/resolv.conf" を示す "bind" を、 "," で区切って優先する順番に記述します。

キーワードは他にもありますが、とりあえずは不要ですので割愛します。

";" で始まる行はコメント行としてプログラムからは無視されますから、メモなどで適宜利用してください。

このホスト機の FQDN である "web1.obenri.com" が、 WAN 空間からアクセスを受けるときは、同じくWAN空間に設置されたDNSサーバーで名前解決されますから、

それから ルーター ポートフォワーディング 機能で "211.183.111.34→
192.168.100.11"
に変換され、このホスト機はアクセスを受けるわけです。

"web1.obenri.com→211.183.111.34"

のように、 グローバルIPアドレス を所在地情報としてアクセスを受けます。

しかし、このホスト機自身が 「自分自身の名前解決」 を行う場合には、WAN空間に設置されたDNSサーバーを参照するわけにはいきません。

なぜならこのホスト機は、 サブネット 内では "192.168.100.11" という プライベートIPアドレス を所在地情報として動作しますから、 "211.183.111.34" のようなグローバルIPアドレスを持ってこられても処理のしようがないからです。

つまり 構築中のLinuxサーバー は、

1.まず、自分自身をプライベートIPアドレスに名前解決するために、WAN空間のDNSサーバーを利用せずに"/etc/hosts"を使う。

2.次に自分自身以外(インターネット空間)の ホスト を名前解決するために、WAN空間のDNSサーバーを利用する。

という順序で名前解決を行う必要があるわけです。従って、 "/etc/host.conf" デフォルト の設定、

order hosts,bind

はそのままOKということになります。

設定内容を確認したら、 Ctrl + x nano エディタを終了します。

ただし、名前解決を必要とするアプリケーションによってはこの "/etc/host.conf" ではなく、以下に説明する "/etc/nsswitch.conf" を参照するものがありますから、 "/etc/host.conf" を修正するときは必ず "/etc/nsswitch.conf" の設定も確認し、同じように修正しなければならない点に注意してください。

このページの先頭へ↑

6.名前解決の順序の設定(/etc/nsswitch.conf)

構築中のLinuxサーバー が、 名前解決 を行うために参照するシステムの優先順位を決定するための設定です。

"/etc/nsswitch.conf"

を編集します。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# nano /etc/nsswitch.confEnter


このファイルには多くのキーワードがありますが、 名前解決 の順序に関する設定は、

38行目の "hosts:" で始まる一行です。

キーワードは他にもありますが、とりあえずは不要ですので説明は割愛します。

"#" で始まる行はコメント行としてプログラムからは無視されますから、メモなどで適宜利用してください。

この部分の設定の意味は上記5.と同じですから、ここでの説明は割愛します。

設定行の、

hosts:   files dns

は、 "/etc/hosts" の記述を示す "files" と、 DNSサーバー の記述である "/etc/resolv.conf" を示す "dns" を、スペースで区切って優先する順番に記述してあります。

つまり 構築中のLinuxサーバー は、

1.まず、自分自身をプライベートIPアドレスに名前解決するために、WAN空間のDNSサーバーを利用せずに"/etc/hosts"を使う。

2.次に自分自身以外(インターネット空間)の ホスト を名前解決するために、WAN空間のDNSサーバーを利用する。

という順序で名前解決を行いますからそのままの記述でOKということになります。

設定内容を確認したら、 Ctrl + x nano エディタを終了します。

このページの先頭へ↑

ネットワーク設定の有効化と動作確認

以上の設定ファイルの書き換えを行ったら、変更された内容をシステムに反映させる必要があります。

一番はっきりした方法は、 reboot コマンド でシステムごと再起動してしまうことです。しかし、この方法はお勧めしません。

なぜなら再起動には少なくとも数十秒はかかりますから、設定に間違いがあって、何度も再起動していると結構イライラするからです。

というわけで、システムのネットワーク機能だけを再起動する方法をお勧めします。

具体的には、 "/etc/init.d/network" というネットワーク制御用 スクリプト ファイルを "restart" オプションで実行します。

[tanaka@web1 ~]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 ~]# /etc/init.d/network restartEnter
Shutting down interface eth0:                  [ OK ]
Shutting down loopback interface:                [ OK ]
Bringing up loopback interface:                 [ OK ]
Bringing up interface eth0:                   [ OK ]
[root@web1 ~]#

この方法であれば、ものの数秒で設定が反映されますから、試行錯誤でネットワーク設定を行う場合でもイライラすることはありません。

スクリプトが上のように正常に実行できたら、動作確認をしましょう。

もちろん、 X-Windowからネットワークを確認する方法 の方法で確認しても構いませんが、単純なネットワークの動作確認であれば ping コマンドで充分です。任意の ユーザーアカウント ログイン して、 プロンプト から、次の IPアドレス ping を実行してください。

1."127.0.0.1" ... ループバックアドレス の確認

2."192.168.100.11" ...自ホストのNICへの接続確認

3."192.168.100.1" ...ルーターへの接続確認

ISPによってはDNSサーバーにping応答しないような設定がなされている場合がありますが、この場合は当然応答パケットは返ってきません。
こういう場合は 9. のチェックで名前解決とWAN空間との接続を同時にチェックしてください。

4." ISP DNSサーバー " ... WAN 空間への接続確認

"/etc/sysconfig/network-scripts/ifcfg-eth0" "/etc/sysconfig/network" が正しく記述されていれば、どれも問題なく パケット が返ってくるはずです。返ってこないときは、これらの設定ファイルの内容をもう一度見直してください。

更に、次の ホスト名 ping を実行してください。

5."localhost.localdomain" ...ループバックアドレスの名前解決の確認

6."localhost" ...ループバックアドレスの名前解決の確認

どちらも "127.0.0.1" からパケットが返ってくることを確認してください。 "unknown host [ホスト名]" と表示されてコマンドが実行されないときは、 "/etc/host.conf" の設定か、 "/etc/hosts" のループバックアドレスの記述に間違いがあります。

7."web1.obenri.com" ...自ホストの名前解決の確認

CentOS5で
サーバー構築なら
これがベストかな?

8."web1" ...自ホストの名前解決の確認

どちらも "192.168.100.11" からパケットが返ってくることを確認してください。 "unknown host [ホスト名]" と表示されてコマンドが実行されないときは、 "/etc/host.conf" の設定か、 "/etc/hosts" "192.168.100.11" の部分の記述に間違いがあります。

9."www.yahoo.co.jp" ...WAN空間での名前解決の確認

"/etc/resolv.conf" に記述されている DNSサーバー のIPアドレスの記述に誤りがあるか、そのDNSサーバーが動作していません。記述に誤りがない場合は、 ISP の都合でDNSサーバーが変更になっているかもしれませんので、ISPに確認してみてください。

以上の確認ができたら、ネットワークの設定は完了です。

このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。