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

ネットワークの設定

ネットワークインターフェース

 ネットワークへアクセスするためにネットワークインターフェースが必要である。物理的なネットワークインターフェースとして、ネットワークインターフェースカード ( NIC ) がある。現在は多くの場合、ネットワークインターフェースがコントロールチップの中に統合されている。プログラムが内部的に使う仮想のネットワークインターフェースとしてループバックインターフェースがある。

IP アドレスを確認

 IP アドレスの確認は ip コマンドの他、 NetworkManager のnmcli,mmtui コマンドでも行える。また、従来から ifconfig コマンドでも確認できる。

$ ip a [address] [ インターフェース ]
ネットワークインターフェースに設定された IP アドレスとサブネットマスクを表示する

$ nmcli [ インターフェース ]
コマンドラインでネットワークの設定ができるインターフェイスである。オプション無しで実行すると、現在の設定を表示する。

$ nmtui
会話型でネットワークの設定ができるインターフェイスである。

IP アドレスの設定ファイル

 RedHat Linux系のディストリビューションはIP アドレスの設定を2つの設定ファイルに記述しておき、ブート時にはそれらの設定ファイルにより設定される。

 /etc/sysconfig/network-scripts/ifcg-XXX設定ファイルはXXXインターフェースの IP アドレスとサブネットマスクなど記述する。XXXはループバックインターフェースの場合はlo,ネットワークインターフェースカードの場合はenX0Y,enX1Y...とデバイスの種類とスロット位置により番号が振られる。

/etc/sysconfig/network-scripts/ifcg-XXX設定ファイルの主な内容

 ifcfg設定ファイルの項目

項目 内容
ONBBOT 起動時にアドレスを自動設定する( yes ) か設定しない ( no )
DEVICE ネットワークインターフェース
HWADDR MACアドレス

BOOTPROTO 以降の設定を利用 ( static ) か自動取得 ( dhcp )

 固定アドレス ( static ) を設定する場合の設定項目

項目 内容
IPADDR IP アドレス
NETMASK サブネットマスク
NETWORK ネットワーク

 起動時にアドレスを自動設定するには、 DHNP 機能が提供された環境が必要である。 /etc/sysconfig/network設定ファイルはデータが他のネットワークへ転送されるゲートウェイのアドレスとホストを記述する。

/etc/sysconfig/network設定ファイルの主な内容

 ネットワークの項目

項目 内容
NETWORKING ネットワークを有効にする ( yes ) か無効にする ( no )
HOSTNAME ホスト名
GATEWAY ゲートウェイアドレス

 MAC アドレスはハードウェアに設定されているユニークな番号であり、正しい MAC アドレスが設定されていない場合は通信することができなくなるため、自動的に認識された番号を書き換えないようにする。ブロードキャストは一体多で通信をする場合に使われるアドレスで、ホスト部のビットが全部1のアドレスです。

インターフェースの設定

ネットワークのインターフェースは設定ファイルを書き換えて、systemctlコマンドに restart オプションを付けて再起動することで変更できる。

###ルーティング

 ネットワークの状況を表示するための ip route コマンドや ss コマンドがあり、これらのコマンドでデータが流れる方向 ( ルーティング ) を調べることができる。

$ ip route [ オプション ]
$ ss

SSのオプション

-V
バージョン情報

-a
全てのソケットを表示

-n
サービス名を変換せずに表示

-r 
ホスト名を名前解決

-p
ソケットを使用しているプロセスIDを表示

-s
集約したソケット情報

-4
IPv4 のソケットのみ表示する。他のオプションと併用

-6
IPv6 のソケットのみ表示する。他のオプションと併用

-t
TCP のソケットのみ表示

-u
UDP のソケットのみ表示

-e
詳細なソケット情報を表示

ルーティングの変更

 ルーティングの変更を行うには、ip route コマンドを使用する。 ip route コマンドの実行には管理者権限が必要である。

$ op [ オプション ] r [ pute ] { コマンド | help }
または
$ route ( 非推奨 )
$ ip route { add | del } ターゲット/サブネット via ゲートウェイアドレス dev インターフェース
$ route add [ -net | -host ] ターゲット [ netmask サブネットマスク ] [ インタフェース ]

route コマンドでは add を指定するとルーティングに経路を追加する。ターゲットには -net を指定した場合にはネットワークアドレスを、 -host を指定した場合には、ホストアドレスを宛先として設定する。

 サブネットマスクの指定を省略した場合は、ターゲットに設定したアドレスから判別されたクラスに該当するマスク値が設定される。インタフェースを省略するとカーネルが自動的に最適なデバイスを設定する。

 ip route コマンドでは route コマンドと違って、 -net, -host を指定できない。代わりに CIDR 表記で指定する。ターゲット/32だと -host と同様に指定でき、ターゲット/xx ( 32以外 ) だと -net と同様にネットワークを指定できる。

$ ip route add 192.168.2.0/24 via 192.168.1.1 dev enp0s3
( 経路を追加 )

del を指定するとルーティングから経路を削除する。

$ ip route del ターゲット/サブネット via ゲートウェイアドレス