0

非推奨になったLinuxネットワークコマンドの代替コマンドである ipコマンド をHomebrewで導入、その使い方 – まとめ – *追記アリ*

非推奨となったlinuxのネットワークコマンド(net-toolsパッケージ)も、
話題となってから結構時間が経過しましたが、依然現場ではarpやらifconfigやらnetstatを使ってる人多いです。
きちんと理解し使ってるかを改めてご確認いただきたく、また以前私はip addr addで追加されたaliasアドレスはip addr show で表示されるけどifconfig では表示されないで実際にハマった経緯もあるので、、

今回、mac環境で ipコマンドを導入、その使い方をまとめます。

ifconfig以外のコマンド(arp, ifconfig, iptunnel, iwconfig, nameif, netstat, route)は、
net-toolsパッケージという、数年間メンテナンスされていないパッケージに含まれている。
これらのユーティリティによって提供される機能は、新しいipコマンドを主に使うiproute2 スイートで再提供され、改善され続けている。

■追記 2016/02/08 15:27

RHEL7からnet-tools非推奨、iproute2ユーティリティを推奨されてます。
なお、現在でも旧来のネットワーク関連コマンドは提供されており、
iproute2と併用することが可能です。

今回追記事項
下記CentOS release 6.7 (Final) での例

■対応MATRIX

route ip r (ip route)

非推奨コマンド 代替コマンド
arp ip n (ip neighbor)
ifconfig ip a (ip addr), ip link, ip -s (ip -stats)
iptunnel ip tunnel
iwconfig iw
nameif ip link, ifrename
netstat ss, ip route (for netstat-r), ip -s link (for netstat -i), ip maddr (for netstat-g)

*Ipコマンドは、非推奨コマンドと新しい代替コマンドを1:1に対応している*

$ brew tap brona/iproute2mac
==> Tapping brona/iproute2mac
Cloning into '/usr/local/Library/Taps/brona/homebrew-iproute2mac'...
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 5 (delta 0), reused 3 (delta 0), pack-reused 0
Unpacking objects: 100% (5/5), done.
Checking connectivity... done.
Tapped 1 formula (29 files, 120K)
$ brew install iproute2mac
==> Installing iproute2mac from brona/homebrew-iproute2mac
==> Downloading https://github.com/brona/iproute2mac/archive/v1.0.5.zip
==> Downloading from https://codeload.github.com/brona/iproute2mac/zip/v1.0.5
######################################################################## 100.0%
🍺  /usr/local/Cellar/iproute2mac/1.0.5: 4 files, 24K, built in 5 seconds

完了

$ ip addr show
lo0: flags=8049 mtu 16384
	inet6 ::1/128
	inet 127.0.0.1/8 lo0
	inet6 fe80::1/64 scopeid 0x1
en1: flags=8863 mtu 1500
	ether 00:26:08:dd:9d:fb
	inet6 fe80::226:8ff:fedd:9dfb/64 scopeid 0x5
	inet 192.168.49.8/24 brd 192.168.49.255 en1
	inet6 2408:d1:9fff:5ed:226:8ff:fedd:9dfb/64 autoconf
	inet6 2408:d1:9fff:5ed:4426:5e84:9dc2:b91/64 autoconf temporary
vboxnet1: flags=8943 mtu 1500
	ether 0a:00:27:00:00:01
	inet 192.168.43.1/24 brd 192.168.43.255 vboxnet1

$ ip route show
default via 192.168.49.1 dev en1
127.0.0.0/8 via 127.0.0.1 dev lo0
169.254.0.0/16 dev en1  scope link
192.168.43.0/24 dev vboxnet  scope link
192.168.49.0/24 dev en1  scope link
192.168.49.1/32 dev en1  scope link
192.168.49.8/32 dev en1  scope link

以上です。

■追記

​iproute2ユーティリティとは


ipコマンドでアドレス設定、ルーティング設定などを行う

$ which ifconfig
/sbin/ifconfig

$ rpm -qf /sbin/ifconfig
net-tools-1.60-110.el6_2.x86_64

$ rpm -ql net-tools | grep bin
/bin/dnsdomainname
/bin/domainname
/bin/hostname
/bin/netstat
/bin/nisdomainname
/bin/ypdomainname
/sbin/arp
/sbin/ether-wake
/sbin/ifconfig ←ifconfigコマンドはnet-toolsパッケージにある
/sbin/ipmaddr
/sbin/iptunnel
/sbin/mii-diag
/sbin/mii-tool
/sbin/nameif
/sbin/plipconfig
/sbin/route
/sbin/slattach

$ which ip
/sbin/ip

$ rpm -qf /sbin/ip
iproute-2.6.32-45.el6.x86_64

$ rpm -ql iproute | grep bin
/sbin/bridge
/sbin/cbq
/sbin/ifcfg
/sbin/ip ←ipコマンドはiprouteパッケージにある
/sbin/rtmon
/sbin/tc
/usr/sbin/arpd
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/rtacct
/usr/sbin/ss

■ip コマンドの書式

ip オブジェクト コマンド [値]


ipコマンドは、オブジェクト(機能)に対して、コマンド(処理)を指定する形式で実行します。
オブジェクトやコマンドは短縮して指定することも可能です。
なお、各オブジェクトごとに指定可能なコマンドは異なります。

■代表的なオブジェクト

オブジェクト 説明
addr IPv4,IPv6アドレス
link ネットワークデバイス
neighbor IPv4のARPキャッシュ、IPv6のNDキャッシュ
route ルーティングテーブル

■代表的なコマンド

コマンド 説明
add 値の追加
del 値の削除
show 現在の状態の表示

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です