ネットワーク管理コマンド
ネットワーク管理コマンド:記事リスト
ネットワーク管理コマンドのカテゴリーには以下の記事がリストされています。
dig
digコマンドとは
digコマンドは、DNSサーバーにドメイン名を元にIPアドレスを問い合わせる(正引き)コマンドになります。
CentOS6系まではnslookupが使用されていましたが、
CentOS7からはdigコマンドの使用が推奨されています。
digコマンドの書式
dig<オプション><@DNSサーバ>ドメイン名<クエリタイプ><クエリクラス>※<>の物は省略可
| 書式項目 | 意味 |
| オプション | digコマンドのオプション |
| @DNSサーバー | 名前解決の問い合わせを行うDNSサーバーを指定します。 省略時は/etc/resolve.confに設定されている DNSサーバーを使用します。 |
| クエリタイプ | どのタイプ(レコード)の名前解決を行いたいか設定します。省略時は「a」(正引き)となる |
| クエリクラス | クエリタイプを指定しない場合、 「in」のインターネットクラスドメインになります。 |
| クエリオプション | 表示結果の指定や問い合わせ方法を細かく指定できます。 |
CentOS7のホスト名設定(nmcliコマンド)
CentOS6までは、ホスト名の設定は「/etc/sysconfig/network」ファイルで
管理していましたが、CentOS7では、「/etc/hostname」ファイルで管理します。
ホスト名を変更するには、、「/etc/hostname」ファイルを直接編集するか、
または、nmcliコマンドでもホスト名設定が可能です。
現在設定されているホスト名を確認するには下記コマンドを実行します。
[root@Tiger ~]# nmcli general hostname
Tiger.linuxmaster.jp
上記の例ではホスト名に「Tiger.linuxmaster.jp」が設定されていることが確認できます。
ホスト名を「Leo.linuxmaster.jp」に変更します。
[root@Tiger ~]# nmcli general hostname Leo.linuxmaster.jp
変更後のホスト名を確認します。
[root@Tiger ~]# hostname
Leo.linuxmaster.jp
「/etc/hostname」ファイルの内容も確認します。
[root@Tiger ~]# cat /etc/hostname
Leo.linuxmaster.jp
CentOS7のネットワーク管理
CentOS7のネットワーク管理はNetworkManagerを利用して行います。
CentOS6系では、Network Administration Toolに含まれる
system-config-networkを使用した管理、管理ファイルを直接編集する
運用が一般的でしたが、CentOS7では、NetworkManagerを使用した
管理が推奨されています。
従来のNetworkManagerは、すべてのネットワーク機能を制御できなかった為、
直接ファイルを編集し、サービスの起動や停止を行っていましたが、
CentOS7のNetworkManagerでは、ネットワーク関連の操作が大幅に強化され、
設定ファイルを直接編集しなくても、コマンドラインやGUIツールで設定ファイルを
生成することが可能になっています。
また、NIC(Network Interface Card)に付与されるインタフェース名の命名管理も
これまでのCentOS6系とは全く異なる仕様となっています。
CentOS7では、ネットワークインタフェース名に永続的に変わらない名前が付与がされます。
この永続的な命名をConsistent Network Device Namingと言い、一般的なx86サーバーに
搭載されているオンボードのNICでは、eno1、eno2、拡張カードスロットに装着するNICでは
ens1、ens2、またはens7f0、ens7f1などの名前が付与されます。
■nmcliコマンド
nmcli(Network Manager Command Line Interface)コマンドは、
CentOS7のネットワーク設定を行なうNetworkManager基本コマンドになります。
nmcliコマンドには、下記パラメーターが用意されています。
・connection:接続の設定
・device:デバイス管理
・general:ホスト名設定、ロギング、権限操作、状態の表示
・networking:コネクティビティのチェック、有効化、無効化管理
・radio:ワイヤレスネットワークの設定有効化、無効化管理
■インタフェースの接続状態確認
[root@Tiger ~]# nmcli connection
名前 UUID タイプ デバイス
eno1 4a181dd8-0bac-43c5-8d4f-9e89c31e14b1 802-3-ethernet eno1
上記の例では、NICのインタフェース名がeno1として割当られています。
デバイスの項目にインタフェース名が表示されている場合は
ネットワークに接続されていることを表します。
■インタフェースの接続と切断
「nmcli connection」でupやdownを指定すると、
インタフェースの接続、切断を制御できます。
下記例ではインタフェースeno1を切断しています。
[root@Tiger ~]# nmcli connection down eno1
[root@Tiger ~]# nmcli connection
名前 UUID タイプ デバイス
eno1 4a181dd8-0bac-43c5-8d4f-9e89c31e14b1 802-3-ethernet --
デバイスの項目gが「--」になり、切断されていることが分かります。
再度接続するには、下記コマンドを実行します。
[root@Tiger ~]# nmcli connection up eno1
■デバイス名とデバイスの状態確認
インタフェースのデバイス名とその状態を確認するには「device」を指定します。
[root@Tiger ~]# nmcli device
デバイス タイプ 状態 接続
eno1 ethernet 接続済み eno1
lo loopback 管理無し --
物理NICが1ポートあるサーバーで、デバイス名がeno1と割り当てられています。
またループバックデバイスとしてloが認識されています。状態と接続からeno1が
ネットワークに接続されていることが分かります。
■詳細なデバイス情報を表示
デイバイスのMACアドレス、IPアドレス、MTUなどの詳細を確認するには、
「nmcli device」に「show」を付けて実行します。
[root@Tiger ~]# nmcli device show
GENERAL.デバイス: eno1
GENERAL.タイプ: ethernet
GENERAL.ハードウェアアドレス: 00:0C:29:37:80:B6
GENERAL.MTU: 1500
GENERAL.状態: 100 (接続済み)
GENERAL.接続: eno1
GENERAL.CON パス: /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.キャリア: オン
IP4.アドレス[1]: 192.168.0.36/24
IP4.ゲートウェイ: 192.168.0.1
IP4.DNS[1]: 192.168.0.1
IP6.アドレス[1]: fe80::20c:29ff:fe37:80b6/64
IP6.ゲートウェイ:
GENERAL.デバイス: lo
GENERAL.タイプ: loopback
GENERAL.ハードウェアアドレス: 00:00:00:00:00:00
GENERAL.MTU: 65536
GENERAL.状態: 10 (管理無し)
GENERAL.接続: --
GENERAL.CON パス: --
IP4.アドレス[1]: 127.0.0.1/8
IP4.ゲートウェイ:
IP6.アドレス[1]: ::1/128
IP6.ゲートウェイ:
「nmcli device show」だけでは複数のNICが存在した場合、
そのすべての状態を表示してしまいます。
しかし、インタフェース名を指定することで出力を絞ることができます。
[root@Tiger ~]# nmcli device show eno1
GENERAL.デバイス: eno1
GENERAL.タイプ: ethernet
GENERAL.ハードウェアアドレス: 00:0C:29:37:80:B6
GENERAL.MTU: 1500
GENERAL.状態: 100 (接続済み)
GENERAL.接続: eno1
GENERAL.CON パス: /org/freedesktop/NetworkManager/ActiveConnection/0
WIRED-PROPERTIES.キャリア: オン
IP4.アドレス[1]: 192.168.0.36/24
IP4.ゲートウェイ: 192.168.0.1
IP4.DNS[1]: 192.168.0.1
IP6.アドレス[1]: fe80::20c:29ff:fe37:80b6/64
IP6.ゲートウェイ:
■接続情報の変更
・IPアドレス・ゲートウェイの変更
インタフェースに割り当てたIPアドレスやゲートウェイを変更するには、
「nmcli connection」に「modify」を指定します。
下記例では、IPアドレス192.168.0.36/24、ゲートウェイが192.168.0.1が
割り当てられている環境で、eno1のIPアドレスを192.168.0.20/24、
ゲートウェイを192.168.0.254に変更しています。
[root@Tiger ~]# nmcli connection modify eno1 ipv4.addresses "192.168.0.20/24 192.168.0.254"
[root@Tiger ~]# nmcli connection down eno1 && nmcli connection up eno1
「nmcli connection down eno1」が従来のifdown、
「nmcli connection up eno1」がifupに相当し、eno1を再起動しています。
・DNS・静的ルーティング変更
DNSサーバーと静的ルーティングを変更するには「ipv4.dns」、「ipv4.routes」を指定します。
下記の例では、eno1のDNSサーバーのIPアドレスを「8.8.8.8」、「4.4.4.4」を指定しています。
[root@Tiger ~]# nmcli connection modify eno1 ipv4.dns "8.8.8.8 4.4.4.4"
[root@Tiger ~]# nmcli connection down eno1 && nmcli connection up eno1
下記の例では、静的ルーティングとして、「10.0.0.0/24」のネットワークアドレスで
ルーターのIPアドレス「10.0.0.1」を指定しています。
[root@Tiger ~]# nmcli connection modify eno1 ipv4.routes "10.0.0.0/24 10.0.0.1"
[root@Tiger ~]# nmcli connection down eno1 && nmcli connection up eno1
telnet
リモートホストに接続する
■-- 文法 --■
telnet host名 [IPアドレス]
例)
telnet host名 [IPアドレス]
リモートホストに接続する
※▲はスペースを表してます。
■ 説明
telnetは遠隔地にあるサーバーにログインし、操作するためのコマンドです。
直接サーバーを操作している感覚で遠隔地のサーバーを操作できるため、
広く使われています。
しかし、通信経路が暗号化されないため、セキュリティ面からインターネット
などの環境では使用されず、専用線やLANなどの閉じた環境で使用されることが
多くなっています。
ftp
ファイルを転送する
■-- 文法 --■
例)
ftp 192.168.1.35
ファイルを転送する
※▲はスペースを表してます。
■ 説明
ftpはファイルを転送をするためのコマンドです。
「ftp ホスト名」でファイル転送先ホスト(リモートホスト)へ接続し、ftp専用のコマンドでファイル転送や、ファイルの取得などの操作を行うことができます。このコマンドを実行する際には、ホスト名に転送先のホスト名、またはIPアドレスを指定します。
traceroute
パケットの通信経路を確認する
■-- 文法 --■
例)
ntpdate eric.nc.u-tokyo.ac.jp
パケットの通信経路を確認する
※▲はスペースを表してます。
■ 説明
traccerouteコマンドは、特定のホストへパケットを送信し、ネットワークの通信経路を表示するコマンドです。
目的のホストへの接続が行えない場合などに、ネットワーク上に障害がないかを確認する場合などに使われます。また、このコマンドを実行することで、どのような通信経路でホストとの通信を行っているのか、ルーティングに問題ないかなどを確認することができます。
wget
URLでファイルをダウンロードする
■-- 文法 --■
例)
wget▲https://www.linuxmaster.jp
ファイルをダウンロードする
※▲はスペースを表してます。
■ 説明
wgetコマンドは、ダウンロードしたいファイルを「http://」から始まるURLで指定することで、ファイルをダウンロードすることができるコマンドです。
Webサイトを階層を指定してダウンロードすることもできます。特に複雑な指定や、オプションが必要ないため、非常に簡単にファイルをダウンロードすることができます。
lynx
■-- 文法 --■
lynx (オプション) パス、又はURLアドレス
例)
lynx▲URLアドレス
テキストベースでWEBページを表示する
※▲はスペースを表してます。
■ 説明
lynxコマンドは、テキストベースのWebブラウザです。
internet explorerやfirefox、Google chromeとは違い、GIFやJPGなどのグラフィカルな
表示はできませんが、コンソールのようなテキストしか表示出来ない環境でも、
Webページを表示することができます。
引数を指定せずにlynxコマンドを実行すると、デフォルトで設定されているホームページを
表示します。(CentOS6.3の場合は、CentOSのホームページを表示)
lynxコマンドを実行後に、lynxの操作コマンド「o」を入力すると、
ブラウザのオプションの設定画面を呼び出せます。
ping
■-- 文法 --■
ping (オプション) ホスト名、又はIPアドレス
例)
ping▲IPアドレスまたは、ホスト名
ネットワーク上のリモートホストにデータ(パケット)が送れるか疎通確認をする
※▲はスペースを表してます。
■ 説明
pingコマンドは、送信先に指定したホストへICMPパケットを送信し、
送信先ホストの反応の可否、ネットワークの返信時間などを測定するコマンドです。
主に、送信先ホスト、ネットワーク機器が正常に稼動しているか、
疎通確認するために使用されます。
Linuxのpingコマンドは、1秒おきにパケットを指定したリモートホストに
パケットを送信しますが、Windowsのようにデフォルトで4パケット送信して
終了するということはありません。
オプションを指定しない場合、ユーザーが割り込みキーでキャンセルしないと、
延々とパケットを送り続けるので注意が必要です。
※pingコマンドを終了させるには「Ctrl」+「c」キーを入力します。
但し、pingコマンドの結果から、疎通確認できない場合、疎通できない事は分かっても
実行結果だけから障害の原因を特定することは困難です。
リモートホスト全体が停止している場合や、途中経路の回線や機器トラブル、
自分のマシンのトラブルなど様々な原因が考えられます。
また最近では、ネットワーク負荷の軽減、セキュリティ保持の観点から
pingコマンドに応答を停止しているホストやルーター、スイッチなどがあります。
こうしたリモートホストにコマンドを実行しても応答が無いため、
事前に対象リモートホストがpingコマンドを受け付けるかの確認も必要です。
ifconfig
ネットワークインターフェイスの動作状況を確認する
■-- 文法 --■
ifconfig インターフェイス (オプション)
例)
ifconfig▲ipアドレス
ネットワークインターフェイスのIPアドレスの設定をする
※▲はスペースを表してます。
■ 説明
ifconfgコマンドは、ネットワークインターフェイスの情報を表示したり、設定するコマンドです。
ifconfgコマンドの引数にネットワークインターフェイスを指定して実行すると、
そのネットワークインターフェイスに現在設定されているに内容を表示します。
また、引数にネットワークインターフェイスと、オプションを指定すると、
ネットワークインターフェイスの設定を変更できます。
但し、設定を変更できるのは、rootのみになります。
netstat
ネットワーク情報を表示する
■-- 文法 --■
netstat (オプション) インターフェース
例)
netstat▲-a
ネットワークに関するすべての情報を表示する
※▲はスペースを表してます。
■説明
netstatコマンドは、ネットワークの使用状況を表示させる際に使用するコマンドです。
オプションなしで実行した場合は、コマンド実行時に使用可能なソケットと呼ばれる
ネットワークアドレスを表示します。
また、オプションを指定することで、ルーティングテーブルや詳細情報を表示することができます。
メールを送受信する
■-- 文法 --■
mail (オプション) 送信先アドレス
例)
mail▲pakira
ユーザpakiraへメールを送信する
※▲はスペースを表してます。
■ 説明
mailコマンドは、メーラーを使用しないで指定したメールアドレスへメールを送信します。通常のメーラーから比べれば、機能は劣りますがコマンドラインからメールを送信するすることが可能なので、メールの配信テストや、シェルスクリプトなどに組み込むことで利用されることが多いです。このコマンドを使用するには、Linuxのサービス設定で「SMTP」を有効する必要があります。
