Linux ネットワークの設定


2007-02-02 更新
最新情報は http://comp.ddo.jp/linux/network.html をご覧ください。
(ipv6 の停止方法を追加しています。)
[TOP] [設定ファイル] [操作]

ネットワークの設定ファイル

     /etc/sysconfig/network ネットワーク全体
/etc/sysconfig/network-scripts/ifcfg-eth? デバイスごとの設定
/etc/host.config 名前解決順
/etc/hosts 名前対応一覧
/etc/resolv.conf DNS の指定

ネットワーク全体の設定

/etc/sysconfig/network
NETWORKING=yes ネットワークを使用する
HOSTNAME=srv1.mydomain ホスト名
DOMAINNAME=mydomain ドメイン名。省略可
GATEWAY=192.168.2.254 ゲートウェイアドレス。省略可
GATEWAYDEV=eth0 ゲートウェイデバイス。省略可

デバイス (NIC) ごとの設定

eth0 の設定 (固定 IP の場合)
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 デバイス名
ONBOOT=yes システム起動時に有効
BOOTPROTO=static 固定 IP
IPADDR=192.168.1.1 IP アドレス
NETWORK=192.168.1.0 ネットアドレス
NETMASK=255.255.255.0 ネットマスク
BROADCAST=192.168.1.255 ブロードキャストアドレス
TYPE=Ethernet
USERCTL=no root のみが設定可能
HWADDR=00:00:... MAC アドレスに関連付けできます。
複数の NIC (ネットワークインターフェースカード) を使用する場合は、 設定ファイル名が ifcfg-eth1、ifcfg-eth2、... となります。
NIC 2枚差しでルータを構築する場合は
# echo 1 > /proc/sys/net/ipv4/ip_forward
しないとパケットを転送してくれません。/etc/rc.d/rc.local に追記しておくとよいでしょう。
一枚の NIC に複数の IP アドレスを割当てるには 設定ファイル名を ifcfg-eth0:1、 ifcfg-eth0:2、... とします。

eth0 の設定 (DHCP 取得 IP の場合)

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

DEVICE=eth0
ONBOOT='yes'
BOOTPROTO='dhcp'
TYPE=Ethenet
USERCTL=no
PEERDNS=no ネームサーバを手動設定する場合
LAN 内に ネームサーバを立てる等していて DNS を変更されたくない場合は、 PEERDNS=no
を追加します。(既定値は yes)

名前検索順の指定

/etc/host.conf

order hosts,bind hosts, ネームサーバの順で調べる

自ホストでの名前解決

/etc/hosts
127.0.0.1       srv1.mydomein srv1 localhost.localdomain localhost
後で ホスト名を変更する場合はここのホスト名と /etc/sysconfig/network の HOSTNAME を修正して OS を再起動します。
ホスト名の確認は
$ hostname
srv1.mydomain
数台の PC での名前解決ならばここに登録することができます。
127.0.0.1       localhost.localdomain localhost 必須
192.168.1.1     srv1.mydomain srv1 必要に応じて
台数が多い場合はネームサーバを立てて一ヶ所で監理するほうが楽です。

DNS (ネームサーバ)の指定

/etc/resolv.conf
serch mydomain 既定のドメイン。省略可
nameserver  192.168.1.2 ネームサーバ(複数行の記述可)
DHCP で fcfg-eth0 に PEERDNS=no の設定が無い場合、 ネームサーバは自動的に書き変えられます。


[TOP] [設定ファイル] [操作]

ネットワークの操作

/etc/sysconfig 以下のネットワークの設定を変更したならば、 ネットワークサービスの再起動をします。

ネットワークサービスの停止
# /etc/init.d/network stop
ネットワークサービスの起動
# /etc/init.d/network start
ネットワークサービスの再起動
# /etc/init.d/network restart
ネットワークデバイスの停止
# ifdown eth0
ネットワークデバイスの起動
# ifup eth0
ネットワークデバイスの確認
# ifconfig
eth0      Link encap:Ethernet HWaddr 00:00:xx:xx:xx:xx
          inet addr:192.168.1.1 Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
          RX packets:3519768 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4304336 errors:131 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:414052156 (394.8 Mb) TX bytes:707688148 (674.9 Mb)
          Interrupt:10 Base address:0xf000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1 Mask:255.0.0.0
          UP LOOPBACK RUNNING MTU:16436 Metric:1
          RX packets:41550 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41550 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4817688 (4.5 Mb) TX bytes:4817688 (4.5 Mb)
ネットワークサービスが起動していれば lo (ローカルデバイス) が表示されます。
eth0 の NIC が動作していれば eth0 が表示されます。

ping コマンドでネットワークの動作を調べる。 localhost(自分) に ping を打ってみます。
応答が無ければ基本的なネットワークの設定を間違えている可能性があります。
$ ping -c 2 localhost
PING localhost.localdomain (127.0.0.1) from 127.0.0.1 : 56(84) bytes of data.
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.077 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.060 ms

--- localhost.localdomain ping statistics ---
2 packets transmitted, 2 received, 0% loss, time 1000ms
rtt min/avg/max/mdev = 0.060/0.068/0.077/0.011 ms
応答が無い場合は [Ctrl] + [C] で強制終了します。
localhost が正常ならば 他のホストに打ってみます。
応答が無い場合、
    ネットワークインターフェースの不良
    ネットワークアドレスまちがい
    IP アドレスまちがい
    ケーブルの不良(ストレート/クロス)
    コネクタの接触不良
    相手がファイアーウォールで icmp パケットを 拒否している
等が考えられます。


End of page
メニュー
トップページ
Linuxノート目次
LAN の構成例
Linux のインストール
ユーザ登録
vi(エディタ)の使いかた
tar の使いかた
rpm の使いかた
パーミッションについて
ネットワークの設定
iptables
(ファイアウォール)の設定
NTP(時刻あわせ)の設定
dhcpd の設定
一般的なソースからの
インストール方法
PostgreSQL
グラフィックライブラリ
OpenSSL
Apache2.0
Apache2(工事中)
php4,php5
vsftpd(FTP サーバ)
Postfix(メール)
POP Before SMTP
Tripwire(改竄検出)
openssh
Linux で CD 書込み
sudo
文字コード
RAID1 構築