Edited at

net-tools は使われなくなり iproute2 が標準的になるかも

More than 1 year has passed since last update.


概要

net-tools というとわからないかもしれませんが、ifconfignetstatroute などのコマンドが入っているソフトウェアだといえばピンとくると思います。

この net-tools ですが、正規リリースが 2011-10-14 のバージョン 1.60 で、それ以降もメンテナンスはされていますがリリースバージョンが出ていません。

各ディストリビューションは、このコミット分をパッチして対処している状況です。

iproute2 は、Linux 用のネットワーク設定ツールで、 net-tools の ifconfigroutenetstat を代替します。

活発にメンテナンスされ、バージョンも順調に更新されています。

net-tools と iproute2 は、機能は重なっていても、競合はしません。つまり、両方をインストールすることは可能です。


各ディストリビューションの現状

iproute2 を採用しているディストリビューションでも通常は net-tools もインストールすることが可能です。


  • RHEL/CentOS は、 7 以降は iproute2 1

  • Arch は iproute2 2

サーバ用としてシェアのある RHEL/CentOS では移行済ですので、iproute2 を少なくとも知ってはおくべきだといえるでしょう。状況によっては必須かもしれません。

その他のディストリビューションは概ね、 net-tools を廃止しきれていないようです。

net-tools のような基礎的な設定ソフトウェアは、ディストリビューションが内部的に依存していることが大きいことや、移行すると今まで手癖でifconfigとか打っていたユーザが困惑することが要因にあると思われます。

Gentoo に関しては現状では net-tools も iproute2 も @system に入っています。

もっとも、もしも Debian が iproute2 に移行すれば、情勢はひっくり返ると思います。


iproute2 のコマンド類

主要なコマンドは、ip tc ss の3つです。


  • ip - show / manipulate routing, devices, policy routing and tunnels

  • tc - show / manipulate traffic control settings

  • ss - another utility to investigate sockets

tc=トラフィックコントロール、ss=ソケットスタットと憶えればいいと思います。


net-tools と iproute2 とのコマンド対応


ifconfig

ip コマンドを使用します。なお、IPv4 については -4 (-family inet) オプションを、 IPv6 については -6 (-family inet6) オプションを使用します。

ip コマンドには多数のオブジェクト(サブコマンド)があり、ip に続けて指定します3

例えば IPアドレスの設定には ip address ですし、インターフェイスの設定には ip link を使うかもしれません。

またこれらのオブジェクトは短く省略可能です。

例えば ifconfig の代替は ip a で可能です。


route

ip route です。ip r でかまいません。


netstat

ss です。

TCP が -t、UDP が -u なのも同じです。


arp

ip neighbor です。ip n でかまいません。


hostname

net-tools に入っている hostname など4のコマンドの代替は iproute2 には見当たりません。

ただ、近年かなりのディストリビューションが採用してしまった(嘆) Systemd は init 以外の分野に侵出することで悪名高いですが、たぶんにもれず hostnamectl というのがあります5

しかし、これらのコマンドは概ね /etc/hostname/etc/hosts/etc/host.confを処理するものですので、自ら直接に閲覧・編集してもよいわけでしょう。


参照