それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

mac のコマンドで ルーティングテーブルの追加(add)と削除(del)と確認(show)

mac のルーティングテーブルの変更。

ルーティングテーブルの変更は、やり方は色々在るんだけど、コマンドからやるなら、route コマンドが一番便利かな。

mac のルーティングを自分でadd したり削除したり、操作したい。

最初にルーティングの確認

netstat -nr

ルーティングを確認し、必要に応じてコマンドの結果を取得する

ルーティングの追加

10.0.1.0/24 のネットワークに対するパケットは192.168.95.100を経由する

sudo   route add -net 10.0.1.0/24 192.168.95.100

ルーティングの削除

sudo  route delete -net 10.0.1.0/24 192.168.95.100

実例

10.0.1.100 のホストに対するパケットは192.168.95.101を経由する

sudo   route add -net 10.0.1.100 192.168.95.101
sudo   route delete -net 10.0.1.100 192.168.95.101

指定したIPだけ別の経路を通したい。

指定したIPだけ、別のGWを通って出ていくように設定をしたいときもあります。 /32 で指定するのもありですね。

sudo route add 192.168.100.134/32  10.200.110.1

デフォルトGWを変えるには

デフォルトのゲートウェイを変える場合は次のようにすることも出来る。デフォルトゲートウェイを変えるのは、SSH-VPNなどでパケットをSSH先に向けたりするのに便利。

デフォルトゲートウェイの変更

基本的には、削除や追加ではなく、change で変更する。

sudo route change default 172.16.10.1

デフォルトゲートウェイの削除

sudo   route delete default 172.16.10.1

デフォルトゲートウェイの追加

上記コマンドで削除している場合は追加をする。

sudo   route add default 172.16.10.1

忘れちゃいけないけど、デフォルトはすべてのルーティングテーブルにマッチしなかった時に持っていくところです。 本当に文字通り、DEFAULT なのです。

2023-01-29 追記

この記事を読む人は、Linuxでは出来るけど、BSDコマンドのMacではどうするか?を調べてることでしょう。

だったら、私の次の記事を参考に、mac のネットワークコマンドを linux iproute2 互換にしてしまう手段もいい選択肢だと思います。

macOSに Linux の ip ( iproute ) コマンドを入れてしまうという邪教 - それマグで!

関連記事

指定したルーティングテーブルがちゃんと機能しているか調べるコマンドについて。

ip コマンドでルーティングテーブルの逆引き(?)どのルートを通るか調べる - それマグで!

2019-03-26 追記

関連リンクを追記