BLOG

【Linux研修】おはじきの記録16

こんにちは、おはじきです。
前回からLpicレベル1ネットワーク編という事で、IPアドレスについてお話させていただきました。
今回はLinuxでのネットワークの基本設定について解説します。

NetworkManager

Linuxにはネットワークを管理するシステムとしてNetwork Managerというシステムがあります。
Network Managerの設定を確認したり設定を変更するにはnmcliコマンドを使います。
使い方が少し込み入っていて、ややこしいのですが試験にはかなりの確率で出ると思われるので是非とも習得したいコマンドです。
書式: nmcli オブジェクト サブコマンド
主なオブジェクト、サブコマンド

generalstatusNetwork Managerの状態を表示する
hostnameホストネームの確認、変更を行う
networkingon,offネットワークの有効、無効の設定
connectivityネットワークの状態を表示する
radiowifiwi-fiの状態を表示する
wifi on,offwi-fi接続の有効、無効のの設定
all on,off全ての無線接続の有効、無効の設定
connectionshowネットワークへの接続情報を表示
modify インターフェース名指定したインターフェースの設定を変更
up インターフェース名インターフェースへの接続を有効
downインターフェース名 インターフェースへの接続を無効
devicestatusデバイスの情報を表示
show インターフェース名指定したデバイスの情報を表示
modify インターフェース名指定したデバイスの設定を変更
connect インターフェース名指定したデバイスを接続
disconnect インターフェース名指定したデバイスを切断
delete インターフェース名指定したデバイスを削除
monitor インターフェース名指定したデバイスを監視
wifi listwifiのアクセスポイントを表示
wifi connectwifiアクセスポイントに接続
wifi rescanwifiアクセスポイントを再検索

まずはオブジェクトを指定して何を操作するかを指定した後にどのような操作をするかを指定します。
例えば
nmcli device statusや
nmcli connection showなどのコマンドでどのネットワークインターフェースが有効かを調べることができます。

nmcli networking connectivityでネットワークの状態を表示する事ができます。

fullと表示されていますがいくつかパラメータがあるのでテスト対策という意味でも覚えておきましょう。

fullインターネットに接続しています
portalインターネットにアクセスできる状態ではあるがfreewifiのポータルサイトなどで止まっている状況
limitedネットワークに接続されているが、インターネットにアクセスできない
noneネットワークに接続していない
unknownネットワークが見つけられない

テスト対策の余談ですが何気にnmcliコマンドでホスト名の確認、一時的な変更もできるので覚えておきましょう。
ホストネームの変更はhostname,hostnamectl,nmcliコマンドなどで変更できます。
ホストネームの変更はファイルに記述する事でも設定できます。
Debian系ディストリビューションでは/etc/hostname
Red Hat系ディストリビューションでは/etc/sysconfig/network
にホスト名を書き込むことで設定する事ができます。
最近ではRed Hat系も/etc/hostnameでホスト名を設定する傾向にあるようなのですがテストではまだ上記のように区別しているようです。

通信確認

ネットワークのトラブルシューティングに当たって利用する機会の多いコマンドを紹介します。
pingコマンド
指定したホストにICMPプロトコルを利用してパケット送信を行い反応を返ってくるかどうかで疎通確認を行います。
webサーバーを起動できているはずなのにサイトが表示されないといったような不具合が起きた時にまずwebサーバーに通信できているかどうかを確認するために利用します。

-c 回数パケットを送信する回数を指定
-i 秒数指定した秒数毎にパケットを送信する
-n送信先の名前解決をせずに実行

上の画像ではgoogle.comのサイトに3回パケット送信して返ってくるかどうかを検証しています。
ちゃんと帰ってきているので接続できていることが確認できますね。

tracerouteコマンド
指定したホストまでパケットが伝わる経路を表示します。
webサイトへ接続する時は外部のネットワークのいくつかのゲートウェイを経由して宛先に行きつくのですが、
もし経由したゲートウェイで問題が発生していて接続できない場合などはtracerouteコマンドで経路上のどのゲートウェイで問題が発生するのか調べることができます。

tracepathコマンド
基本的な動作はtracerouteコマンドと同じなのですが転送可能な最大データ数(MTU)を追加で表示します。

これらのコマンドはipv4のみで利用できるのですがping6やtraceroute6など後に6を加えるとipv6対応のコマンドになるのでこちらも試験対策に是非覚えておきましょう。

ポート

ポートとは、サーバーやクライアントがサービス毎に保有しているドアのようなもので、ポート番号で管理されています。
アプリケーション毎に利用するポート番号が決められているので、
ポート番号を利用してアクセスの監視や制限をしたり、
外部から特定のサービスにアクセスする事ができます。
ポート番号は0~65535番まであります。
0~1023番までのポートをウェルノウンポートといい主要なサービスが予約している番号です。
テストにも出るので主なウェルノウンポートの利用サービスと使用ポートを挙げていきますね。ここに挙げた部分は覚えておきましょう。

20番FTPデータ用
21番FTP制御用
22番ssh
23番telnet
25番SMTP
80番HTTP
110番POP3
143番IMAP
443番HTTPS

1024~49151まではレジスタードポートと呼ばれていて団体やベンダーなどが予約しているポート番号で分かりやすいところだと各種データベースなどで利用します。
49152~65535まではユーザーが自由に使えるポート番号となっています。

netstatコマンドを利用する事で開いているポートの確認を行います。
主なオプション

-a全てのソケット情報を表示
-c情報をリアルタイムで表示し続ける
-iネットワークインターフェースの状態を表示
-n結果を名前解決せずに表示
-pPIDとプロセス名も表示
-rルーティングテーブルを表示
-ttcpポートを表示
-uudpポートを表示

こちらが実際に使用した画面です。

Local Addressは接続元
Foreign Addressは接続先の情報を示しています。
StateのLISTENは接続待ち、ESTABLISHEDは接続中であることを意味しています。

最後に

今回はネットワークの設定の確認や変更について解説しました。
基本的かつ非常に利用頻度の高いコマンドをいくつかご紹介できたかと思います。
ネットワークの理解を深めることができればインフラエンジニアとしてより成長できるかと思いますので、
もっと深い所まで勉強して、サーバーとネットワークの両方を扱えるエンジニアを目指してこれからも頑張ります。
それでは。

BLOGトップへ戻る