84
113

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ネットワークの関連

Last updated at Posted at 2023-09-24

ネットワークの基礎

TCP/IPプロトコル

通信を行う上での取り決めをプロトコルという。企業や家庭内のLANやインターネットで最も一般的に使用されているプロトコル。

TCP(Transmission Control Protocol)

HTTPなど固有のアプリケーション層のプロトコルを橋渡しするもので、ポート番号用いて識別し、担当のソフトウェアに振り分ける。信頼性が高いが即時性や高速性は得られにくい
リアルタイム通信には不適切だが、webサーバーへのアクセスなどデータが抜け落ちて困る際に使用

  • 途中で消失やエラーが発生したパケットを再送
  • パケットの伝送順所を整列

TCPはコネクション型プロトコルで、相手に通信データが正しく届いていることを確認しながら通信するもので信頼性は高くなる。

IP(Internet Protocol)

TCPやUDP、ICMPなどのデータ転送(ルーティング)をつかさどるコネクションレス型のプロトコル。コネクションレス型とは、相手に通信データが正しく届いているかどうかを確認せず、一方的に送信するもの、信頼性は低くなるが伝送速度は速くなる。

  • IPアドレスの規定
  • データグラム(伝送単位)の規定
  • データグラムが伝送されるネットワーク経路の制御

UDP(User Datagram Protcol)

DHCPなど各用途ごとに固有のアプリケーション層のプロトコルを橋渡しするもので、ポート番号用いて識別し、担当のソフトウェアに振り分ける。シンプルで低遅延だが信頼性は低い
正確性はないが、動画ストリーミングやリモート会議などライブ配信など速度に重視した通信が可能

ICMP(Internet Control Message Protocol)

エラーメッセージや制御メッセージを伝送するコネクションレス型のプロトコル。pingコマンドやtracerouteコマンドで利用される

OSI参照モデル

国際標準化機構(ISO:International Oraganaization for Standardization)によって通信プロトコルを設計するための指標として策定されたもの。

OSI参照モデル

第1層 物理層
コンピューターが扱うデジタルデータとケーブルが扱う電気信号の相互変換といった物理的な接続を定めるもの

第2層 データリンク層
通信回線を正確に通信する規則を定めるもの
代表的な組み合わせはMACアドレスによるネットワーク接続で、隣接したノード(機器)間で通信中のデータが壊れていないか、通信相手の識別や認識、信号の衝突の検知や回避をチェックしながらデータの受け渡しが実現される

第3層 ネットワーク層(IGW/NAT ICMP)
複数のネットワークを接続し、全体を一つのネットワークとして相互に通信可能な状態にすること。伝送経路の選択が主

第4層 トランスポート層
データの送信元と送信元の間での制御や通知、データ転送の信頼性やリアルタイム性など目的に応じた通信品質を実現する。代表的なプロトコルはTCPとUDP。

第5層 セッション層
通信の確立、維持、終了するまでの手順を管理している。セッションによって利用者の認証やログイン、ログアウトなどの状態管理を行うことが可能

第6層 プレゼンテーション層
アプリケーション間でやり取りされるデータの表現形式を定義する。
SMTP(メール送信時のプロトコル)やFTP(サーバーへのファイル転送時のプロトコル)が主流となっている。実行することにより、webブラウザで文字化けが発生せずに正確な文章が表示されるようになる。

第7層 アプリケーション層
ユーザーが操作するソフトウェアが提供する具体的な機能についての仕様や通信手順やデータ形式などを定めている

IPアドレス

インターネット内で重複しないよう一意の割り当てが必要になる。1バイトごとに区切って10進数で表記する。

クラス IPアドレスの範囲 サブネットマスク
A 0.0.0.0~127.255.255.255 255.0.0.0
B 128.0.0.0~191.255.255.255 255.255.0.0
C 192.0.0.0~223.255.255.255 255.255.255.0
D 224.0.0.0~239.255.255.255
E 240.0.0.0~223.255.255.255
  • クラスA
    ネットワーク部1バイト、ホスト部3バイトの大規模ネットワーク
  • クラスB
    ネットワーク部2バイト、ホスト部2バイトの中規模ネットワーク
  • クラスC
    ネットワーク部3バイト、ホスト部1バイトの小規模ネットワーク

プライベートアドレスの範囲

クラス IPアドレスの範囲
A 10.0.0.0~10.255.255.255
B 172.16.0.0~172.31.255.255
C 192.168.0.0~192.168.255.255

CIDR(Classless inter-Domain Routing)

IPアドレスのクラスの概念を使わずに、任意の長さのサブネットマスクを利用する事。ネットワークアドレス部を1ビット単位で扱うことが出来る。
例えば、クラスCネットワークをサブネットマスクで分割すると、4つのサブネットワークに分割でき、それぞれのサブネットワークでは62のホストを扱える。

IPアドレスの範囲 ネットワークアドレス ブロードキャストアドレス 最大ホスト数
192.168.0.0~192.168.0.63 192.168.0.0 192.168.0.63 62
192.168.0.64~192.168.0.127 192.168.0.64 192.168.0.127 62
192.168.0.128~192.168.0.191 192.168.0.128 192.168.0.191 62
192.168.0.192~192.168.0.255 192.168.0.192 192.168.0.255 62

ホストアドレスを数える際、実際の数から下記項目の数を抜いたものが使用できる

  • 0.0.0.0のネットワーク自信を表すアドレス
  • ブロードキャストアドレス
  • ルータ分

IPv6

IPv4の32ビットに対して、128ビットになっている。16ビットずつ8つのブロックに区切られた16進数で表す。表示する際のルールが以下存在する

  • 各ブロックの先頭の0は省略できる
  • 1か所だけ、0が連続するブロックは省略して「::」と表記できる
  • IPアドレス部分は括弧で囲み、末尾にポート番号と分かるように区別している

さらに、IPv6は以下に分類される

IPv6アドレスの分類 表記
ローカルループバックアドレス ::1/128
グローバルユニキャストアドレス(GUA) 2000::/3
リンクローカルユニキャストアドレス(LLA) fe80::/10
マルチキャストアドレス ff00::/8

「/8」の表記は、先頭からのビット数を表し、IPv6の場合は以下の通り言う。
どちらも64ビットになっている。

  • サブネットプレフィックス:IPv4のネットワーク部に相当する部分
  • インタフェース識別子(Interface-ID):ホスト部に相当する部分

・リンクローカルアドレスとは??
同一リンク上でのみ有効なアドレス
・エニーキャストアドレスとは??
複数のホストの集合に割り当てられるアドレス
・マルチキャストアドレスとは??
IPv4のブロードキャストアドレス(同じネットワークに属する全てのホストに送信する特別なアドレス)に相当するもの

IPv6ヘッダ

IPv6パケット内の制御情報のことで、IPv6ヘッダ(固定長)+オプションの拡張ヘッダ(可変長)で構成されている。

IPv6header

項目 ビット数 説明
バージョン 4 IPのバージョン番号。6が入る
トラフィッククラス 8 パケットの優先度をつける
フローラベル 20 アプリケーションフローの識別
ペイロード長 16 IPv6ヘッダを除くパケットのデータ部の長さ
ネクストヘッダ 8 IPv6ヘッダの次に来るヘッダのタイプを示す
ポップリミット 8 通過できるルータの数(IPv4のTTLと同じ)
送信元アドレス 128 送信元のIPv6アドレス
宛先アドレス 128 宛先のIPv6アドレス

ポート番号

IPアドレスを「住所」で例えるのであれば、ポート番号は「部屋番号」みたいなもの。
ポート番号は「0番~65535番」まで存在し、プロトコルやプログラムによってポート番号が決まる。世界共通の仕組みのため以下のルールに統一されている

・ウェルノウンポート(Well-Known Ports)

IANAが管理している番号。TCP/IPで使用されるポートのうち、特によく利用されている「0番~1023番ポート」のこと。著名なサービスやプロトコルのためにあらかじめシステムに予約されている。
使用するには、root権限が必要

・レジスタードポート(Registered Port)

IANAが管理している番号。サービスが増えていく未来に備えて管理してある「1024番~49151番ポート」のこと

・エフェメラルポート(ephemeral port)

IANAで正式に登録されていない番号。世界中の誰でも自由に設定できる「49152番~65535番ポート」のことで、よく使われるプログラムに割り当てられる。一般ユーザーは使用可能

・IANA(Internet Assigned Numbers Authority)とは?
ドメイン名やIPアドレス、ポート番号といったインターネット資源を管理する組織

それぞれの特性のサービスやプロトコルが利用するため、公開するサーバは該当するポート番号を利用することが推奨される
ポート番号とサービス名の情報は/etc/servicesに記述されている。

ポート番号 プロトコル サービス名 説明
20 TCP ftp-data FTPのデータを送る
21 TCP ftp FTPの制御を行う
22 TCP/UDP ssh 暗号化技術を使用してリモート操作やファイル転送を行う
23 TCP telnet 暗号化技術を使用せずにリモート操作やファイル転送を行う
25 TCP SMTP 電子メールの送信を行う
53 TCP/UDP dns DNSの名前解決に使用
80 TCP/UDP http webサーバと通信する
123 UDP ntp 時刻同期に使用
443 TCP/UDP https webサーバとの通信にSSLを使用

必ずしもウェルノウンポートで指定されている番号に従う必要はない。HTTPのプロキシサーバーなどは、わざと本来とは別のポート番号でサービス提供することもある

ネットワークの基本設定

設定するには、コマンドを使って設定するか、/etc以下の設定ファイルに記述する方法がある。コマンドを使った設定は再起動すると失われるため、設定ファイルに起動することで永続的な設定になる。

/etc/hostname

Debian系ディストリビューションで使用され、ホスト名のみが記述されており、設定を行うことが可能。ディストリビューションによって/etc/HOSTNAMEというファイル名になっている。

[root@localhost ~]# cat /etc/hostname
localhost

/etc/sysconfig/network

Red Hat系ディストリビューションで使用され、ホスト名や、ネットワーク機能の有効/無効、デフォルトゲートウェイの設定などを記述する。

Red Hat Enterprise Linux(RHEL)7からは、ホスト名の設定はDebian系同様/etc/hostnameを使用するようになっている

[root@localhost ~]# cat /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
HOSTNAME=localhost
GATEWAY=192.168.1.0

/etc/hosts

名前解決に用いられるシンプルなテキストファイルで、IPアドレスとホスト名とを関連付けている。IPアドレスはIPv4、IPv6どちらでも指定可能。
小規模の閉じたネットワークなら、このファイルを作成し全てのホストに配布することで名前解決が実現可能。変更があった場合はその都度書き換えがいるので、大規模には向かない。

[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

/etc/network/interfaces

Debian系ディストリビューションで、ネットワークインターフェースの設定を記述している

/etc/sysconfig/network-scriptsディレクトリ

Red Hat系ディストリビューションで、様々なネットワークインターフェースの設定ファイルが配置されている。ネットワークインターフェース名がeth0の場合、設定ファイル名はifcig-eth0となる。IPアドレスを固定で割り当てたい場合などに編集する。

最新のRedHat系、CentOS7では、/etc/sysconfig/network-scriptsディレクトリを編集するのではなく、nmtui/nmcliコマンドを使って設定することが推奨されている

/etc/services

ポート番号とサービス名の情報が記述されている。

ticf-1          492/tcp                 # Transport Independent Convergence for FNA
ticf-1          492/udp                 # Transport Independent Convergence for FNA
ticf-2          493/tcp                 # Transport Independent Convergence for FNA
ticf-2          493/udp                 # Transport Independent Convergence for FNA
pov-ray         494/tcp                 # POV-Ray
pov-ray         494/udp                 # POV-Ray

systemd-networkd

systemdの動作するシステムでネットワーク設定を管理するデーモン。設定は/etc/systemd/network配下の拡張子.networkのファイルで行う。

NetworkManagerによる設定

CentOSやRed Hat Enterprise Linuxで導入されている動的にネットワークを管理する仕組み。ノートPCなどでネットワーク環境を切り替えるのに向いている。
以下のコマンドで利用状況を確認することが出来る

# systemctl status NetworkManager

システムで検出されたネットワークデバイスは自動で管理され、特定のインタフェースを管理しないように設定できる。
DHCPサーバが有効な環境であればDHCPによって動的なIPアドレスが割り当てられる。

ethernet(有線)、wifi(無線)、bridge(異なるネットワーク間の接続)のネットワークデバイスのタイプ種類がある。

  • 設定をしていない全てのインターフェースに対して設定を行う
  • 特別な設定をしてあるインターフェース以外はDHCPを設定する
  • 検出されたネットワークデバイスは自動でNetworkManagerによって管理される
  • 特定のインタフェースをNetworkManagerで管理しないように設定できる

nmcli(Network Manager command-line)コマンド

書式:nmcli オブジェクト [コマンド]
ネットワークの設定、接続管理、状態の確認などを行えるコマンド。引数のオブジェクト(以下4種類)は、操作対象のカテゴリのことで省略することが可能。変更を伴う操作はrootユーザー権限のみだが、参照するだけであれば一般ユーザーでも可能。
引数なしで実行すると、現在認識しているデバイス情報が表示される。

  • general:NetworkManagerの状態や操作一般を扱う
コマンド 説明
status NetworkManagerの状態を表示する
hostname ホスト名を表示する
hostname ホスト名 指定したホスト名に変更する
  • networking:ネットワーク管理全般を扱う
コマンド 説明
on/off ネットワークを有効または無効にする
connectivity [check] ネットワークの状態を表示する。[check]を指定すると再確認する

connectivityで表示される設定項目

状態 説明
full インターネットにアクセス可能なネットワークに接続している
portal インターネットにアクセスする前のcaptive potralの状態である
limited ネットワークに接続しているが、インターネットにアクセスできない
none どのネットワークにも接続していない
unknown 接続状態が見つからない

・captive portalとは??
Wi-Fiホットスポットやホテルなどで、インターネット利用前に強制的に認証や課金のWebページを参照させる技術。ログインが完了しないとインターネットにアクセスできない

[root@localhost etc]# nmcli networking connectivity
full
  • radio:無線ネットワークを扱う
コマンド 説明
wifi Wi-Fiの状態を表示する
wifi on/off Wi-Fi接続を有効または無効にする
wwan モバイルブロードバンドの状態を表示する
wwan on/off モバイルブロードバンド接続を有効または無効にする
all on/off 全ての無線接続を有効または無効にする
  • connection:接続を扱う
コマンド 説明
show [--active] 接続情報を表示する。activeが指定されればアクティブな接続のみ
modify インターフェース名 パラメータ 指定した接続を設定する
up ID 接続を有効にする
down ID 接続を無効にする
  • device:デバイスを扱う
コマンド 説明
status デバイスの状態を表示する
show インターフェース名 指定したデバイスの情報を表示する
modify インターフェース名 パラメータ 指定したデバイスを設定する
connect インターフェース名 指定したデバイスを接続する
disconnect インターフェース名 指定したデバイスを切断する
monitor インターフェース名 指定したデバイスを監視する
wifi list Wi-Fiアクセスポイントを表示する
wifi connect SSID Wi-Fiアクセスポイントに接続する
wifi hotspot Wi-Fiホットスポットを作成する
wifi rescan Wi-Fiアクセスポイントを再検索する
##現在アクティブとなっているデバイス情報を取得する
$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE 
Wired connection 1  exxxxxxx-dxxx-3xxx-9xxx-xxxxxxxxxxxx  ethernet  eth0   

nmtuiコマンド

curses(カーシス:UNIX向け端末制御ライブラリ)ベースのテキストユーザーインターフェース。テキストの組み合わせで画面を構成し、ボタンやメニューをキーボードで移動して操作する。

スクリーンショット 2023-08-23 103433.png

hostnamectlコマンド

書式:hosetnamectl [サブコマンド]
ホスト名を設定するコマンド。サブコマンドなしに実行すると、ホスト名と関連情報が表示される。

サブコマンド 説明
status ホスト名と関連情報を表示する(デフォルト)
set-hostname ホスト名 ホスト名を設定する
$ hostnamectl
   Static hostname: server1
         Icon name: computer-vm
           Chassis: vm
        Machine ID: 0ae27c0b9a48e140810fcddec0520100
           Boot ID: 6ff4d74225e9457381ae5f088024a000
    Virtualization: kvm
  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 3.10.0-1160.6.1.el7.x86_64
      Architecture: x86-64

ネットワークのトラブルシューティング

pingコマンド

書式:ping [オプション] ホスト名またはIPアドレス
指定されたホスト(ホスト名もしくはIPアドレス)にICMPパケットを送り、その反応を表示するコマンド。送信回数を指定しなければ、Ctrl+Cキーを押すまで繰り返しパケットが送られる。
通信に問題がある場合は、エラーの原因として時間超過や宛先到達不能などのメッセージが返される
IPv6の場合は、ping6コマンドを使用する。使い方は一緒

オプション 説明
-c(count) 回数 指定した回数だけICMPパケットを送信する
-i(interval) 間隔 指定した間隔(秒)毎にICMPパケットを送信する。デフォルトは1秒
-n(numeric) 結果表示時の形式をホスト名ではなくアドレスで表示

停止しているサーバに対してpingを実行した場合は応答がない。

tracerouteコマンド

書式:traceroute [オプション] 宛先
指定されたホスト(ホスト名またはIPアドレス)までパケットが伝わる経路を表示する。宛先までのルータやホストが順に表示されるため、ネットワーク経路上に障害があった場合はその位置を特定できる可能性がある。

オプション 説明
-n (numeric) 結果表示時の形式をホスト名ではなくアドレスで表示

IPv6の場合は、traceroute6コマンドを使用する。使い方は一緒

tracepathコマンド

書式:tracepath ホスト名またはIPアドレス[/ポート番号]
tracerouteコマンドと同様、指定されたホスト(ホスト名またはIPアドレス)までパケットが伝わる経路を表示し、PathMTUを確認する。
IPv6の場合は、tracepath6コマンドを使用する。使い方は一緒

オプション 説明
-n 経路ホストの名前解決を行わない
-b ホスト名とIPアドレスを両方出力
-l 送信パケットサイズを指定する(デフォルトはtracepathで65536、tracepath6で128000)
-m 最大ホップ (または最大 TTL) を 30 ではなく max_hops に設定する
-p 使用する最初の宛先ポートを設定

・Path MTU Discoveryとは??
IPネットワーク上で特定の相手までの経路上の最小のMTU(Maximum Transmission Unit:機器が一度に送信できる最大のデータ量)を調べること

[root@centos ~]# tracepath -b www.yahoo.co.jp
 1?: [LOCALHOST]                      pmtu 1500
 1:  web.setup (192.168.0.1)                               0.513ms 
 1:  web.setup (192.168.0.1)                               0.397ms 
 2:  web.setup (192.168.0.1)                               0.426ms pmtu 1454

hostnameコマンド

書式:hostname [ホスト名]
ホスト名を一時的に変更するコマンド。ホスト名を指定しなかった場合、現在のホスト名を表示する。rootユーザー権限のみ可能。

netstatコマンド

書式:netstat [オプション]
ネットワーク機能に関わる様々な情報を表示するコマンド。開いているポートの確認によく利用される。その際にはアドレスやポート番号の名前解決を自動で行って表示するが、この時にDNSサーバに障害などがあると、名前解決が出来ずに結果が表示がされない場合がある。
オプション無しで実行すると、有効なネットワーク接続や開いているソケットの情報等を表示する。

オプション 説明
-a 全てのソケット情報を表示する
-c 状況を1秒ごとにリアルタイムで表示する
-i ネットワークインターフェースの統計状態を表示する
-n アドレスやポートの名前解決をしないで表示する
-p PIDとプロセスも表示する
-r ルーティングテーブルを表示する
-t TCPポートのみを表示する
-u UDPポートのみを表示する
[root@localhost ~]# netstat
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 localhost.localdoma:ssh 10.0.2.2:59023          ESTABLISHED
tcp6       0      1 localhost.localdo:      tp-in-f26.1e100.ne:smtp SYN_SENT
tcp6       0      1 localhost.localdo:      ta-in-f26.1e100.ne:smtp SYN_SENT
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ]         DGRAM                    12563    /run/systemd/shutdownd
unix  2      [ ]         DGRAM                    18830    /var/run/chrony/chronyd.sock
unix  3      [ ]         DGRAM                    7644     /run/systemd/notify
unix  2      [ ]         DGRAM                    7646     /run/systemd/cgroups-agent
unix  5      [ ]         DGRAM                    7657     /run/systemd/journal/socket

[root@localhost ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
enp0s3           1500      135      0      0 0           260      0      0      0 BMRU
enp0s8           1500      486      0      0 0           162      0      0      0 BMRU
lo              65536      161      0      0 0           161      0      0      0 LRU
virbr0           1500        0      0      0 0             0      0      0      0 BMU

ssコマンド

書式:ss [オプション]
netstatの後継となるコマンド。ネットワークのソケットの情報を表示する。
ifconfig、route、arp、netstatコマンドなど旧来のネットワーク関連ユーティリティであるnet-toolsの代替として開発されたiproute2ユーティリティに含まれている

オプション 説明
-a 全てのソケットを表示
-n サービス名の名前解決をしない
-t TCPソケットを表示
-u UDPソケットを表示

nc(netcat)コマンド

書式:nc [オプション] 接続先アドレス 宛先ポート番号
catコマンドと同様の働きをネットワーク上で行うコマンド。TCP/UDPを使った通信を手軽に行うことのできる便利なツール。ネットワーク通信の確認などに利用する。簡易的なサーバにもなれる。
宛先ポート番号が未指定の場合、デフォルトで31337番ポートが指定されたものとして動作する。

オプション 説明
-l 指定したアドレス、ポート番号で接続の待ち受けをする
-p ポート 送信元ポート番号を指定する
-u UDPを利用する。デフォルトはTCP
-o ファイル 指定したファイルに出力する

routeコマンド

書式:route [オプション]
設定書式:route add[オプション] 対象
削除書式:route del[オプション] 対象
ルーティングテーブルの表示、追加、削除や操作を行うコマンド。引数なしで実行すると、ルーティングテーブルが表示される。

オプション 説明
-F ルーティングテーブルを表示する
-C ルーティングキャッシュを表示する
-n 名前解決をせずルーティングテーブルを表示する。ルーティングテーブルの表示に非常に時間がかかってしまっている場合、表示までのプロセスを変えることによってすばやく表示することができる
-host 対象をホストのアドレスとみなす
-net 対象をネットワークアドレスとみなす
netmask サブネットマスクを指定
gw ゲートウェイを指定
default gw デフォルトゲートウェイを指定
default IPアドレスを指定しないデフォルトゲートウェイ
##デフォルトルート(デフォルトゲートウェイは192.168.122.1)を追加・削除
# route add default gw 192.168.122.1
# route del default gw 192.168.122.1

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.0        0.0.0.0         UG    100    0        0 enp0s3
0.0.0.0         192.168.1.1     0.0.0.0         UG    101    0        0 enp0s8
10.0.0.0        0.0.0.0         255.0.0.0       U     100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     101    0        0 enp0s8
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 virbr0
項目 説明
Destination 宛先のネットワークもしくはホスト
Gateway ゲートウェイのアドレス。「*」は未設定
Genmask 宛先のサブネットマスク
Flags 経路の状態。U:経路が有効、H:宛先はホスト、G:ゲートウェイを使用、!:経路は無効
Metric 宛先までの距離
Ref ルートの参照数(不使用)
Use 経路の参照数
Iface この経路を使うネットワークインターフェース

ipコマンド

書式:ip オブジェクト [コマンド] 値
ネットワークインターフェースやルーティングテーブル、ARPテーブルなどを管理するコマンド。オブジェクト(機能)に対して、コマンド(処理)を指定する形式で実行する。
[-s]オプションを付けることで、送受信バイト数などの統計情報も表示することができる。

オブジェクト 説明
link ネットワークデバイス
addr IPv4,IPv6アドレス
route ルーティングテーブル
neighbour(neighbor) IPv4のARPキャッシュ,IPv6のNDキャッシュ
コマンド 説明
show 現在の状態を表示する
add 値の追加
del 値の削除
##デフォルトルート(デフォルトゲートウェイは192.168.122.1)を追加・削除
# ip route add default via 192.168.122.1
# ip route del default via 192.168.122.1

##インタフェース「enp0s3」の送受信バイト数などの統計情報を確認
# ip -s link show dev endp0s3

##インターフェース「eth0」にIPアドレス「192.168.1.1」、クラスのデフォルト値を使用してサブネットマスクを追加する
# ip addr add 192.168.1.1/255.255.255.0 dev eth0

##インタフェースeth0を有効化する
# ip link set eth0 up

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

ifconfigコマンド

書式:ifconfig ネットワークインターフェース名 パラメータ
IPアドレスを確認するときによく使われる。ネットワークインターフェースの状態を表示したり、設定を行ったりする。引数なしで実行すると、有効化されている全てのネットワークインターフェースの状態を表示する。
設定した値は再起動すると失われる。永続的にする場合は、記述ファイルに記述する
表示結果からは、インターフェースのMACアドレスやIPアドレス、ブロードキャストアドレス、サブネットマスク、MTU(最大転送単位)などが確認できる。

パラメータ 説明
IPアドレス IPアドレスを設定する
netmask サブネットマスク サブネットマスクを設定する
up ネットワークインターフェースを有効化する
down ネットワークインターフェースを無効化する
[root@localhost ~]# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.0  netmask 255.0.0.0  broadcast 10.255.255.255
        inet6 0000::0:48:bf4a:ff20  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:7c:00:b0  txqueuelen 1000  (Ethernet)
        RX packets 472  bytes 37440 (36.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 418  bytes 60515 (59.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifupコマンド

Red Hat系書式:ifup ネットワークインターフェース名
Debian系書式:ifup ネットワークインターフェース名
指定したインターフェースを有効にするコマンド。最近のディストリビューションでは使えないことがある。

ifdownコマンド

Red Hat系書式:ifdown ネットワークインターフェース名
Debian系書式:ifdown [オプション] ネットワークインターフェース名
指定したインタフェースを無効にするコマンド。

DNS(Domain Name System)の設定

DNSサーバがホスト名とIPアドレスの変換サービスを提供する。これを名前解決と言い、ホスト名からIPアドレスを求めることを正引き、その反対を逆引きという。

キャプチャ14.PNG

設定ファイル

/etc/resolv.conf

参照先DNSサーバを設定する。複数指定する場合は、1行ずつ記述する。

項目 説明
nameserver 名前解決に使用するDNSサーバ(1サーバ1行)
domain 自サーバの所属するドメイン名
search 名前解決の際に省略されうるドメイン名のリスト(スペース区切り)
  • nameserverは標準では3つまでしか設定不可。上限を変更する場合はライブラリの再コンパイルが必要。
  • domainは自身の所属するドメイン名を記述する。ホスト名のみの問い合わせの場合は同じドメインに所属するホストとみなされ、自動的にドメイン名が追加される。
  • searchは省略されうるドメイン名を列挙する。最大6つまでしか設定できず、上限を変更する場合はライブラリの再コンパイルが必要。
  • domainとsearchはいずれか一つしか設定できず、最後に記述されたものが有効になる。
[root@localhost]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4

/etc/nsswitch.conf

NSS(Name Service Switch)と呼ばれる、GNU Cライブラリが名前解決やサービス名解決の際の問い合わせ順序を指定するデータベースファイル。「hosts:」に続けて優先順位の高い方から名前解決方法を記述する。最初の「files」で「/etc/hosts」ファイルを参照して名前解決をするように指定し、それができなければ続く「dns」でDNSサーバに問い合わせを行うように指定している。

##/etc/nsswitch.confファイルの書式
# cat /etc/nsswitch.conf
hosts:  files dns
services:  files
(files→/etc/hostsファイル、dns→DNSサーバ)

/etc/systemd/resolve.conf

systemd-resolvedサービスを利用した名前解決の設定ファイル

getentコマンド

書式:getent データベース名 [キー ...]
ユーザー情報、パスワード情報の取得、ホスト名からIPアドレスを取得する際の情報検索先などの情報を問い合わせるコマンド。データベース名には、passwd,hostsなど /etc/nsswitch.confで指定できるサービス名を指定する。キー名にはデータベースのキーを指定する。キーを指定しなかった場合、指定したデータベースの全ての内容が表示される。

  1. 名前解決の順序を/etc/nsswitch.confで指定する
  2. 「hosts」項目で設定
  3. 「files dns」の設定であれば、/etc/hostsから検索
  4. 見つからなければ次にDNSサーバに問い合わせを行う
##/ete/passwd内のユーザーuser01のエントリを表示する場合
# getent passwd user01

##yahoo.co.jpの名前解決を表示する場合
[root@localhost ~]# getent hosts yahoo.co.jp
183.79.250.251  yahoo.co.jp
183.79.217.124  yahoo.co.jp
183.79.249.124  yahoo.co.jp
182.22.31.124   yahoo.co.jp

・LDAP(Lightweight Directory Access Protocol)とは??
ディレクトリサービスに使われるプロトコル。ユーザー情報やグループ情報などを一元管理することが出来る

hostコマンド

書式:host [オプション] ホスト名またはIPアドレス [DNSサーバ]
DNSサーバを使ってホストやドメインに関する情報を表示するコマンド。最もシンプルに情報を得ることができ、ホスト名とIPアドレスの変換を行う。

オプション 説明
-t 問い合わせる情報の指定(type)
-v 詳細な情報を表示する
検索タイプ 説明
a IPアドレス
aaaa IPv6アドレス
any 全ての情報
mx メールサーバの情報
ns ネームサーバの情報
[root@localhost ~]# host -t a www.yahoo.co.jp
www.yahoo.co.jp is an alias for edge12.g.yimg.jp.
edge12.g.yimg.jp has address 182.22.16.251

digコマンド

書式:dig [オプション] [@DNSサーバ名] ホスト名またはドメイン名 [検索タイプ]
DNSサーバへ直接問い合わせて、指定した名前に関するDNSサーバからの応答を表示するコマンド。知りたい情報のタイプは検索タイプで指定する。
デフォルトの検索タイプはaになっている。

オプション 説明
-t 問い合わせるDNSサーバを指定する
-x IPアドレスからホスト名を検索する
検索タイプ 説明
a IPアドレス
aaaa IPv6アドレス
any 全ての情報
mx メールサーバの情報
ns ネームサーバの情報
soa ゾーン(ドメインの範囲)の情報
## DNSサーバに登録されている、「yahoo.co.jp」のネームサーバの情報を表示する
# dig yahoo.co.jp ns

##外部のDNSサーバ8.8.8.8に「yahoo.co.jp」のIPアドレスを問い合わせる
# dig @8.8.8.8 yahoo.co.jp

nslookupコマンド

書式;nslookup [オプション] [ドメイン名またはIPアドレス] [DNSサーバ]
DNSサーバに名前解決を問い合わせるコマンド。DNSサーバが正常に動作しているのかを調べる際にも、利用できる。

whoisコマンド

whoisサーバのデータベースに問い合わせを行い、ドメインの登録者や管理者、所属団体等の情報を得るコマンド。

84
113
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
84
113

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?