Macにipコマンドをインストールする

PR

こんにちは、こえじまです。

メインPCをLinuxからMacに変えた時、ipコマンドが使えないことに気づきました。

UbuntuやLinux系は基本的に最初からiptablesがインストールされているのでipコマンドが使えるのですが、Macでは入っていないようです。

インストール方法

HomeBrewが入っている場合

brew tap brona/iproute2mac
brew install iproute2mac

HomeBrewが入っていない場合

curl --remote-name -L https://github.com/brona/iproute2mac/raw/master/src/ip.py
chmod +x ip.py
mv ip.py /usr/local/bin/ip

確認

インストール出来ているのかの確認をするためにipと打ってみましょう。

% ip
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
       ip -V
where  OBJECT := { link | addr | route | neigh }
       OPTIONS := { -4 | -6 }

iproute2mac
Homepage: https://github.com/brona/iproute2mac
This is CLI wrapper for basic network utilities on Mac OS X inspired with iproute2 on Linux systems.
Provided functionality is limited and command output is not fully compatible with iproute2.
For advanced usage use netstat, ifconfig, ndp, arp, route and networksetup directly.

以上のように表示されれば成功です。

Macでそれぞれのインターフェースに何が当たっているか知る方法

en0, en1って何?

LinuxでのIPアドレスに少しでも慣れている人だとeth0がethernetだから有線でwlan0がWifiなんだろうという予想が出来るのですが、Macではこれらが何故かen0やen1になっています。それぞれのインターフェースに何が当たっているかのコマンドが有ったので紹介します。

% networksetup -listnetworkserviceorder
An asterisk (*) denotes that a network service is disabled.
(1) Bluetooth DUN
(Hardware Port: Bluetooth DUN, Device: Bluetooth-Modem)

(2) FT232R USB UART
(Hardware Port: FT232R USB UART, Device: usbserial-AJ035H88)

(3) FT232R USB UART 2
(Hardware Port: FT232R USB UART, Device: usbserial-AJ035GSQ)

(4) USB Ethernet
(Hardware Port: USB Ethernet, Device: en4)

(5) Wi-Fi
(Hardware Port: Wi-Fi, Device: en0)

(6) ZTE Technologies MSM
(Hardware Port: ZTE Technologies MSM, Device: en5)

(7) Bluetooth PAN
(Hardware Port: Bluetooth PAN, Device: en3)

(8) Thunderbolt Bridge
(Hardware Port: Thunderbolt Bridge, Device: bridge0)

これとip addrの対比をすることでどれがどのインターフェースに当たっているかを知ることが出来ます。

ipコマンドの簡単な使い方

これだけでは少し物足りないのでipコマンドの使い方を紹介します。

ip addr

ip addrと入力することでIPアドレスの詳細を知ることが出来ます。ip aと省略することも出来ます。
IPアドレスの追加や削除、変更はこのコマンドから行うことが出来ます。ifconfigと対応しています。

ip route

ip routeと入力することでゲートウェイなどのルーティングの設定を見ることが出来ます。ip rと省略することも出来ます。
ルーティングの追加や削除、変更はこのコマンドから行うことが出来ます。routeと対応しています。

ip list

ip linkと入力することでリンクの状態を確認できます。ip lと省略することも出来ます。
リンクの追加や削除、変更はこのコマンドから行うことが出来ます。ifconfigと対応しています。

ip neigh

ip neighと入力することで隣接している端末の状態を確認できます。ip nと省略することも出来ます。
隣接情報の追加や削除、変更はこのコマンドから行うことが出来ます。arpと対応しています。

参考にしたサイト

brona/iproute2mac – github
ip command in Mac OS X terminal – StackExchange
RHEL7/CentOS7でipコマンドをマスター – めもめも

PR

2 件のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。