Linux
CentOS
UNIX
ifconfig

ifconfigの出力結果に書いてあること

まえがき(´ω`)

Linuxお勉強中です。
ifconfigコマンドを使用したときに、出力結果の意味がわからなすぎたので、勉強がてらメモしていきます。

■経緯

  1. VMwareを使用して、centos6の仮想環境をつくりました
  2. WEBサーバーの立ち上げをするためIPを調べようとしました
  3. 出力結果の意味がわからなくて戦慄しました
  4. くやしいので調査した結果をまとめます

■よく分からなかったこと

  • ens33とか、loとか何?どういう単位で括られてるの?
  • それぞれの項目の内容ってどういう意味?
  • 情報が羅列されてるけど、どういう塊りで見ればいいの?

■出力結果sample

[hogehoge@localhost ~]$ ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.124.132  netmask 255.255.255.0  broadcast 192.168.124.255
        inet6 fe80::c76c:cabd:65a6:8014  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:9a:c9:d9  txqueuelen 1000  (Ethernet)
        RX packets 228563  bytes 331521958 (316.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 131323  bytes 7977468 (7.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.121.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:9f:3c:38  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 52:54:00:9f:3c:38  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

本題

■概要理解

スクリーンショット 2018-04-12 13.40.45.png

出力結果の内容は大体こんな感じのようです。

  • インターフェース名(接続名)
    • 有線接続端子とか無線とかブルートゥースとか
  • 概要情報
    • インターフェースの状態についての情報
  • IPとか
    • IPv4とIPv6、MACアドレスについて
  • 受信系
    • 受信パケットに関する統計
  • 送信
    • 送信パケットに関する統計

■状態

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

実例 項目名 意味
ens33 インターフェース名 インターフェースの名称。
接続ポートなどの単位で切られる。
flags インターフェースの状態 イコール以下がインターフェースの状態フラグですよ
4163 フラグの数値表示 括弧の中の状態フラグを数値化したもの
UP インターフェースの起動状態 UP=起動中、DOWN=停止中
BROADCAST ブロードキャストの状態 インターフェースがブロードキャストを利用できるか。有効か。
できない時は表示されない。
IPv4のみIPv6にはない
RUNNING 転送の状態 システムがパケットをインターフェース経由で転送しているかどうか。
ドライバが正常にロードされて起動が可能な状態か。
してない時は表示されない。
MULTICAST マルチキャストの状態 インタフェースがマルチキャスト転送を利用できるか。有効か。
してない時は表示されない。
mtu 1500 最大転送単位 1フレームの送信最大値(Maximum Transmission Unit)
単位はバイト

■アドレス

inet 192.168.124.132 netmask 255.255.255.0 broadcast 192.168.124.255
inet6 fe80::c76c:cabd:65a6:8014 prefixlen 64 scopeid 0x20
ether 00:0c:29:9a:c9:d9 txqueuelen 1000 (Ethernet)

実例 項目名 意味
inet 192.168.124.132 IPv4のIPアドレス 現在のIPです
静的独自IP or DHCP自動割り当て
netmask 255.255.255.0 ネットマスク インターフェースのIPv4ネットマスク
IPのどこからどこまでが、ネットワークなのかホストなのかの定義
ネットマスク=サブネットマスク
broadcast 192.168.124.255 ブロードキャストアドレス ブロードキャスト用のIP
ホスト部のビットが全て 1
inet6 fe80::c76c:cabd:65a6:8014 IPv6のIPアドレス 現在のIPです
静的独自IP or DHCP自動割り当て
スコープの種類毎に複数の場合もあり
prefixlen 64 プレフィックス長 IPアドレスの中でネットワークアドレスを示す前のほうの部分
前から何ビット目までがネットワークを表すか
自動設定の場合は64
scopeid 0x20 スコープID アドレスが有効である範囲についてのID
パケットの到達範囲(スコープ)
0x20の部分がID、<>の中がラベル
ether 00:0c:29:9a:c9:d9 MACアドレス インターフェース固有アドレス
txqueuelen 1000 (Ethernet) パケットの送信キュー 一つのキューにキューイングできるバッファ数のこと

■受信と送信

RX packets 228563 bytes 331521958 (316.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 131323 bytes 7977468 (7.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

実例 項目名 意味
RX 受信について Receiver
packets 228563 受信パケット数
bytes 331521958 (316.1 MiB) 受信パケット(バイト)
errors 0 エラーとなった数
dropped 0 破棄した数
overruns 0 遅滞した数
frame 0 指定フレームを超過した数
TX 送信について Transmitter
packets 131323 受信パケット数
bytes 7977468 (7.6 MiB) 受信パケット(バイト)
errors 0 エラーとなった数
dropped 0 破棄した数
overruns 0 遅滞した数
carrier 0 キャリア数
collisions 0 衝突を検知した数

補足

■インターフェース

よくあるやつ

  • ens~ :有線の接続ポート。大体、最初は勝手にensの後に数字が振られる。
  • eth~ :有線の接続ポート。上と内容は同じだが命名規則が変わった。こちらが旧。
  • lo :ループバックのこと。実際はインターフェースとして存在しないが、テスト用などに仮想として必ずある。
  • virbr0 :VMware使ってるから出てるらしい。
  • virbr0-nic :VMware使ってるから出てるらしい。nicはNetwork Interface Card

■ネットマスク、プレキャスト数

netmask 255.255.255.0の意味
wi-fig03.gif

■特殊IP

特殊IP 説明
0.0.0.0/8 Current network (only valid as source address) RFC 1122
10.0.0.0/8 プライベートアドレス RFC 1918
127.0.0.0/8 ローカルホストアドレス RFC 1122
169.254.0.0/16 LINKLOCALアドレス(APIPA用) RFC 3927
172.16.0.0/12 プライベートアドレス RFC 1918
192.0.0.0/24 IETF Protocol Assignments RFC 5736
192.0.2.0/24 テストネットワーク RFC 5737
192.88.99.0/24 6to4 IPv6からIPv4への変換方式の一つ RFC 3068
192.168.0.0/16 プライベートアドレス RFC 1918
198.18.0.0/15 ネットワーク性能試験 RFC 2544
198.51.100.0/24 テストネットワーク RFC 5737
203.0.113.0/24 テストネットワーク RFC 5737
223.255.255.0/24 予約 RFC 3330
224.0.0.0/4 マルチキャスト(クラスD) RFC 3171
240.0.0.0/4 予約(クラスE) RFC 1112
255.255.255.255 ブロードキャスト RFC 919,RFC 922