備忘録:macosの静的ルートの追加

いつも忘れてしまうので、メモしておくことに。Linuxとは、少し違い永続的な設定方法は専用コマンドがあります。networksetup コマンドです。

・ネットワークデバイス名の一覧

$ networksetup -listallnetworkservices
An asterisk (*) denotes that a network service is disabled.
Built-in Serial Port (1)
Ethernet
iPhone USB
Wi-Fi
Bluetooth PAN

・ネットワークデバイスの情報

$ networksetup -getinfo Ethernet
DHCP Configuration
IP address: 192.168.1.26
Subnet mask: 255.255.255.0
Router: 192.168.1.1
Client ID: 
IPv6: Automatic
IPv6 IP address: none
IPv6 Router: none
Ethernet Address: 90:2b:34:d0:02:80

・静的経路の追加と削除

永続的に追加。この例では、124.41.83.243/32 あては、192.168.1.38 へ送ります。

$ sudo networksetup -setadditionalroutes Ethernet 124.41.83.243 255.255.255.255 192.168.1.38

削除。何もパラメータに設定しないと消えます。

$ sudo networksetup -setadditionalroutes Ethernet
There are no additional IPv4 routes on Ethernet.

再起動すると消えますが一時的に設定したい場合

sudo route -n add 124.41.83.243/32 192.168.1.38

削除は

sudo route -n delete 124.41.83.243/32

・確認

$ networksetup -getadditionalroutes Ethernet
124.41.83.243 255.255.255.255 192.168.1.38

または、

$ netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.1.1        UGSc           67        5     en0
124.41.83.243      192.168.1.38       UGHS            0        0     en0
::