概要
net-tools というとわからないかもしれませんが、ifconfig
や netstat
、route
などのコマンドが入っているソフトウェアだといえばピンとくると思います。
この net-tools ですが、正規リリースが 2011-10-14 のバージョン 1.60 で、それ以降もメンテナンスはされていますがリリースバージョンが出ていません。
各ディストリビューションは、このコミット分をパッチして対処している状況です。
iproute2 は、Linux 用のネットワーク設定ツールで、 net-tools の ifconfig
や route
、netstat
を代替します。
活発にメンテナンスされ、バージョンも順調に更新されています。
net-tools と iproute2 は、機能は重なっていても、競合はしません。つまり、両方をインストールすることは可能です。
- net-tools https://sourceforge.net/projects/net-tools/
- iproute2 https://wiki.linuxfoundation.org/networking/iproute2
各ディストリビューションの現状
iproute2 を採用しているディストリビューションでも通常は net-tools もインストールすることが可能です。
サーバ用としてシェアのある 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
を処理するものですので、自ら直接に閲覧・編集してもよいわけでしょう。
参照
まずいうまでもないことですが、マニュアル(man)やヘルプ(--help)を読みましょう。
動向に関する記事 - "Moving on from net-tools" https://lwn.net/Articles/710533/
詳しいコマンド対応表 - "iproute2 cheat sheet" http://baturin.org/docs/iproute2/
-
https://wiki.archlinuxjp.org/index.php/ネットワーク設定 、 https://www.archlinux.org/packages/?sort=&q=iproute2 。 net-tools は https://www.archlinux.org/packages/?q=net-tools ↩
-
yum
やapt
などと似たような感じ ↩ -
dnsdomainname
、domainname
、nisdomainname
、nodename
、ypdomainname
↩ -
https://www.freedesktop.org/software/systemd/man/hostnamectl.html ↩