Linux - Network



 ◆ ネットワークサービスの起動と停止

 Linuxのネットワーク設定の前提として、ネットワークサービスが起動している状態である必要があります。
 ネットワークサービスが起動しているかは以下のコマンドで確認できます。デフォルトでは起動しています。
 ※ 一般的には/etc/init.d/と指定するのではなく service コマンドを使用して起動スクリプトを確認します。

 ◆ ネットワークサービスのステータス確認 ( service network statusと入力しても同じ )
 # /etc/init.d/network status


 ネットワークサービスが起動していない場合、引数にstartを指定してサービスを起動させる必要があります。

 ◆ ネットワークサービスの起動 ( service network startと入力しても同じ )
 # /etc/init.d/network start

 ◆ ネットワークサービスの停止 ( service network stopと入力しても同じ )
 # /etc/init.d/network stop

 ◆ ネットワークサービスの再起動 ( service network restartと入力しても同じ )
 # /etc/init.d/network restart




 ◆ ネットワーク機能の設定

 ネットワーク機能の有効化/無効化、ホスト名、デフォルトゲートウェイの設定は
/etc/sysconfig/network
 ファイルで行います。この設定ファイルはRedhat系のディストリビューションで提供されているファイル。
 以下の設定例ではネットワーク機能(NETWORKING)を
yes と記述することで有効化しています。そして、
 ホスト名は「intra.infraexpert.com」に、デフォルトゲートウェイを「192.168.10.254」としています。

 ◆ /etc/sysconfig/networkファイルの記述例

 NETWORKING=yes
 HOSTNAME=intra.infraexpert.com
 GATEWAY=192.168.10.254




 ◆ ネットワークインターフェースの設定

 ネットワークインターフェースの設定ファイルは、/etc/sysconfig/network-scriptsディレクトリに存在。
 例えば、eth0 に割り当てられたインターフェースの設定は、/etc/sysconfig/network-scripts/ifcfg-eth0
 のファイルに定義されています。LinuxにIPアドレスを固定で割当たい場合はこのファイルに設定をします。

 ◆ /etc/sysconfig/network-scripts/ifcfg-eth0 ファイルの設定例

 DEVICE=eth0
 BOOTPROTO=static
 IPADDR=192.168.0.1
 NETMASK=255.255.255.0
 NETWORK=192.168.0.0
 BROADCAST=192.168.0.255
 ONBOOT=yes


項目 説明
 DEVICE  ネットワークインターフェース名
 BOOTPROTO  固定IPアドレスとする場合は「 static 」
 IPADDR  IPアドレス
 NETMASK  サブネットマスク
 NETWORK  ネットワークアドレス
 BROADCAST  ブロードキャストアドレス
 ONBOOT  起動時にアップするかどうか


 ◆ ネットワークインターフェースの設定 ( 一時的な設定 )

 ◇ ifconfigコマンド

 ネットワークインターフェースの状態を表示したり一時的な設定をするには
ifconfigコマンドを使用します。

 ◆ 構文 : ifconfig ネットワークインターフェース名 オプション

オプション 説明
 IPアドレス  ネットワークインターフェースへのIPアドレスの割り当て
 netmask サブネットマスク  サブネットマスクの設定
 up  指定したインターフェースの起動(有効化)
 down  指定したインターフェースの停止(無効化)


 ◆ ifconfigコマンド - ネットワークインターフェースの状態を表示

 


 青枠がネットワークインターフェース(eth0)に割当られたIPアドレス情報です。ちなみに、下側にある
 lo は loopback アドレスという自分自身を表す特殊なIPアドレス。通常127.0.0.1のIPアドレスとなります。

 以下設定例は、ifconfigコマンドでIPアドレスを設定するためのコマンド。ネットワークインターフェース
 のeth0にIPアドレス:192.168.0.10、サブネットマスク:255.255.255.0を設定しています。※ この
 ifconfigで設定したIPアドレスはシステムやサービスの再起動により設定値が失わます。そのため、例えば
 eth0 に永続的に設定値を適用したい場合、
/etc/sysconfig/network-scripts/ifcfg-eth0に記述を行います。


 
◆ ifconfigコマンドによるIPアドレスの設定例
 # ifconfig eth0 192.168.0.10 netmask 255.255.255.0



 ◇ ifupコマンド、ifdownコマンド

 指定したネットワークインターフェースを停止(無効化)するためには、ifdownコマンドを使用します。
 指定したネットワークインターフェースを起動(有効化)するためには、ifupコマンドを使用します。この
 コマンドは ifconfig コマンドのオプションで down や up のオプションを使用した時と同じ効果があります。
 ifupコマンド、ifdownコマンドは、例えば以下の設定の流れのようにIPアドレスの変更時などに使用します。

 ◆ @ ネットワークインターフェース ( eth0 ) の停止
 # ifdown eth0


 ◆ A ネットワークインターフェース ( eth0 ) のIPアドレスの変更
 # vi /etc/sysconfig/network-scripts/ifcfg-eth0


 ◆ B ネットワークインターフェース ( eth0 ) の起動
 # ifup eth0


 ◆ routeコマンド

 routeコマンドによりLinuxマシンにおけるルーティングの設定を行えます。ルーティングとは、TCP/IPの
 ネットワークにおいて、通信したい宛先となるホストまでパケットを最適な経路を選択して送信すること。

 ◆ 構文 : route オプション

オプション 説明
-F  カーネルのルーティングテーブルを表示
-C  カーネルのルーティングキャッシュを表示


 ◆ 構文 : route コマンドによりルーティングテーブルの表示 ( netstat -r と同じ結果 )

 


 ルーティングテーブルで表示される各項目の意味は以下の通りです。

項目 説明
 Destination  宛先ネットワーク、または宛先ホスト
 Gateway  ゲートウェイのIPアドレス
 Genmask  宛先のサブネットマスク。デフォルトゲートウェイの場合、0.0.0.0 と表示される
 Flags  経路の状態 ( U:経路が有効、H:宛先はホスト、G:ゲートウェイを使用、!:経路は無効 )
 Metric  宛先までのメトリック値(宛先までの距離)
 Ref  ルートの参照数(不使用)
 Use  経路の参照回数
 Iface  宛先経路を使うネットワークインターフェース



 routeコマンドでは、ルーティングテーブルの表示だけでなくルーティングテーブルに新たなルーティングを
 追加することができます。そのためには
route addコマンドを使用します。route addコマンドは宛先ネット
 ワークごとにネクストホップを変えたい場合に使われます。例えば、デフォルトゲートウェイは10.0.0.254
 であるが、特定の宛先ネットワーク「172.16.0.0/16」のネクストホップは「10.1.1.254」にしたい場合。

 ◆ 構文 : route add オプション ターゲット

オプション 説明
 -net  ターゲットをネットワークとみなす
 -host  ターゲットをホストとみなす
 netmask  サブネットマスクを指定
 gw  ゲートウェイ(ネクストホップ)を指定



 ◆ デフォルトゲートウェイを「10.0.0.254」とする設定
 # route add default gw 10.0.0.254


 ◆ 172.16.0.0/16 という特定の宛先ネットワークへのゲートウェイは「10.1.1.254」とする設定
 # route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.1.1.254



 ちなみに、Linuxをルータとして使用する場合、異なるネットワーク間のパケット転送を許可する必要があり
 そのためには/proc/sys/net/ipv4/ip_forward が
1である必要があります。1に変更する例は以下の通りです。

 ◆ /proc/sys/net/ipv4/ip_forward のデフォルト値は 0

 # more /proc/sys/net/ipv4/ip_forward

 
0


 ◆ /proc/sys/net/ipv4/ip_forward の値を 1 に変更
 # echo 1 > /proc/sys/net/ipv4/ip_forward



Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved