CentOS 7のネットワーク管理基礎(前編)

2014年12月25日(木)
古賀 政純

iprouteのススメ

CentOS 7のアップストリームOSであるRHEL7では、ifconfigコマンド、netstatコマンド、arpコマンド等を提供するnet-toolsが利用可能です。現状、CentOS 7においても、net-toolsパッケージをインストールすれば、従来の慣れ親しんだifconfigコマンドやnetstatコマンドを利用することが 可能ですが、今後は、net-toolsではなく、新しいコマンド体系に慣れることをお勧めします。net-toolsに取って代わる新しいコマンド体系は、iprouteパッケージで提供されています。CentOS 7のiprouteパッケージに含まれているコマンドは以下のとおりです。

# rpm -ql iproute |grep bin
/usr/sbin/arpd
/usr/sbin/bridge
/usr/sbin/cbq
/usr/sbin/ctstat
/usr/sbin/genl
/usr/sbin/ifcfg
/usr/sbin/ifstat
/usr/sbin/ip
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/routef
/usr/sbin/routel
/usr/sbin/rtacct
/usr/sbin/rtmon
/usr/sbin/rtpr
/usr/sbin/rtstat
/usr/sbin/ss
/usr/sbin/tc

以下では、CentOS 7に含まれるiprouteパッケージに含まれるコマンドを使って、日常業務でよく利用されるネットワーク管理のコマンドをいくつか抜粋して紹介します。

IPアドレス、MACアドレスの確認(旧:ifconfig 新:ip)

# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 2c:76:8a:5d:f3:6c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.82/24 brd 192.168.0.255 scope global eno1
       valid_lft forever preferred_lft forever
    inet6 fe80::2e76:8aff:fe5d:f36c/64 scope link
       valid_lft forever preferred_lft forever
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 2c:76:8a:5d:f3:6d brd ff:ff:ff:ff:ff:ff
    inet 16.147.201.23/22 brd 16.147.203.255 scope global eno2
       valid_lft forever preferred_lft forever
    inet6 fe80::2e76:8aff:fe5d:f36d/64 scope link
       valid_lft forever preferred_lft forever
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 2c:76:8a:5d:f3:6e brd ff:ff:ff:ff:ff:ff
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 2c:76:8a:5d:f3:6f brd ff:ff:ff:ff:ff:ff

一時的なIPアドレスの付与(旧:ifconfig 新:ip)

# ip addr add 192.168.0.82/255.255.255.0 dev eno3
# ip addr show eno3
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether 2c:76:8a:5d:f3:6e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.82/24 scope global eno3
       valid_lft forever preferred_lft forever

NICのリンクアップの確認(旧:ifconfig 新:ip)

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether 2c:76:8a:5d:f3:6c brd ff:ff:ff:ff:ff:ff
3: eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT qlen 1000
    link/ether 2c:76:8a:5d:f3:6d brd ff:ff:ff:ff:ff:ff
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether 2c:76:8a:5d:f3:6e brd ff:ff:ff:ff:ff:ff
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000
    link/ether 2c:76:8a:5d:f3:6f brd ff:ff:ff:ff:ff:ff

デフォルトゲートウェイの追加、削除(旧:route 新:ip)

ip route add default via 192.168.0.254
ip route del default via 192.168.0.254

ルーティングテーブルの確認(旧:route 新:ip)

# ip route
default via 16.147.200.1 dev eno2  proto static  metric 1024
16.147.200.0/22 dev eno2  proto kernel  scope link  src 16.147.201.23
192.168.0.0/24 dev eno1  proto kernel  scope link  src 192.168.0.82
192.168.0.0/24 dev eno3  proto kernel  scope link  src 192.168.0.82

ARPテーブルの確認(旧:arp 新:ip)

# ip neigh
172.16.1.115 dev enp0s25 lladdr 00:21:5a:eb:3a:86 STALE
172.16.70.1 dev enp0s25 lladdr 52:54:00:fe:fe:7c STALE
172.16.27.10 dev enp0s25 lladdr b4:b5:2f:fb:6b:ae DELAY
172.16.1.1 dev enp0s25 lladdr 00:0d:02:d7:e9:ce STALE

ARPキャッシュのクリア(旧:arp 新:ip)

# ip neigh flush 172.16.1.115 dev enp0s25 ←ARPキャッシュ内のIPアドレス「172.16.1.115」をクリア

インタフェース毎のパケットの確認(旧:netstat 新:ip)

# ip -s l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    3818       31       0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    3818       31       0       0       0       0
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether 70:5a:b6:ab:5e:da brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    11451391   140360   0       0       0       52
    TX: bytes  packets  errors  dropped carrier collsns
    290998119  217114   0       0       0       0
3: wls1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether 00:26:c6:cf:da:02 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    0          0        0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    0          0        0       0       0       0

TCPソケット及びUDPソケットの状態の確認(旧:netstat 新:ss)

# ss -ant
State       Recv-Q Send-Q       Local Address:Port                   Peer Address:Port
LISTEN      0      100           127.0.0.1:25                                *:*
LISTEN      0      5                     *:5901                              *:*
LISTEN      0      64                    *:35247                             *:*
LISTEN      0      128                   *:111                               *:*
LISTEN      0      128                   *:6001                              *:*
LISTEN      0      128                   *:22                                *:*
LISTEN      0      128           127.0.0.1:631                               *:*
LISTEN      0      128                   *:35736                             *:*
ESTAB       0      0          172.16.25.30:22                     172.16.27.10:53503
ESTAB       0      0          172.16.25.30:728                     172.16.70.1:2049
LISTEN      0                          ::1:25                               :::*
LISTEN      0                           :::35547                            :::*
LISTEN      0                           :::34443                            :::*
LISTEN      0                           :::111                              :::*
LISTEN      0                           :::6001                             :::*
LISTEN      0                           :::21                               :::*
LISTEN      0                           :::22                               :::*
LISTEN      0                          ::1:631                              :::*

# ss -anu
State       Recv-Q Send-Q       Local Address:Port                   Peer Address:Port
UNCONN      0      0                     *:868                               *:*
UNCONN      0      0             127.0.0.1:896                               *:*
UNCONN      0      0                     *:111                               *:*
UNCONN      0      0                     *:123                               *:*
UNCONN      0      0                     *:5353                              *:*
UNCONN      0      0             127.0.0.1:323                               *:*
UNCONN      0      0                     *:53711                             *:*
UNCONN      0      0                     *:34379                             *:*
UNCONN      0      0                    :::868                              :::*
UNCONN      0      0                    :::111                              :::*
UNCONN      0      0                    :::123                              :::*
UNCONN      0      0                   ::1:323                              :::*
UNCONN      0      0                    :::59151                            :::*

(年明け公開予定の後編に続く)

<編集部より>コマンドの一部にスペルミスがあったため修正しました(2015/1/15)、また一部の曖昧な表現を修正しました(1/29)

この連載が書籍になりました!
CentOS 7実践ガイド

古賀 政純 著
価格:3,000円+税
発売日:2015年2月25日発売
ISBN:978-4-8443-3753-9
発行:インプレスジャパン

CentOS 7実践ガイド

本書は、CentOS 7を取り巻く市場動向、CentOS 7が利用されるサーバーシステムの選定、CentOS 7の基礎、システム設計、OS管理やCentOS 7に対応したアプリケーションサーバーの構築手順などの勘所をご紹介します。連載では書ききれなかった本の内容、見どころが満載!

  • セキュリティ管理
  • チューニング
  • 自動インストール
  • Hadoop構築
  • GlusterFS
  • Ceph

Amazon詳細ページへImpress詳細ページへ

日本ヒューレット・パッカード株式会社 プリセールス統括本部 ソリューションセンター OSS・Linux担当 シニアITスペシャリスト

兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師を担当。科学技術計算サーバーのSI経験も持つ。2005年、大手製造業向けLinuxサーバー提案で日本HP社長賞受賞。2006年、米国HPからLinux技術の伝道師に与えられる「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。日本HPプリセールスMVPを4度受賞。現在は、Linux、FreeBSD、Hadoop等のOSSを駆使したスケールアウト型サーバー基盤のプリセールスSE、技術検証、技術文書執筆を担当。日本HPのオープンソース・Linuxテクノロジーエバンジェリストとして講演活動も行っている。Red Hat Certified Engineer、Red Hat Certified Virtualization Administrator、Novell Certified Linux Professional、EXIN Cloud Computing Foundation Certificate、HP Accredited Systems Engineer Cloud Architect、Red Hat Certified System Administrator in Red Hat OpenStack、Cloudera Certified Administrator for Apache Hadoop認定技術者。HP公式ブログ執筆者。趣味はレーシングカートとビリヤード

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています