デフォルトゲートウェイが複数存在してしまいWi-Fiからインターネットに接続できない問題の解決

以下のような構成にした時、デフォルトゲートウェイがロボット側のネットワークのものを指してインターネットに接続できなくなってしまう問題が起こりました。

f:id:asmsuechan:20180720175318p:plain

解決手順

  1. イーサネットケーブルを抜いてWi-Fi接続の状態でrouteを実行してデフォルトゲートウェイIPアドレスを調べる
  2. イーサネットケーブルを挿す
  3. sudo route add default gw <1で調べたIPアドレス>を実行する
  4. routeコマンドでロボット側のデフォルトゲートウェイIPアドレス(192.168.xx.xx)を調べる
  5. sudo route del default gw <4で調べたIPアドレス>を実行する
asmsuechan@asmsuechan-dynabook-R93-PB:~$ route # イーサネットケーブルを抜いてWi-Fi接続した状態で
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
default         172.16.199.xxx  0.0.0.0         UG    0      0        0 wlan0
172.16.192.0    *               255.255.248.0   U     9      0        0 wlan0
asmsuechan@asmsuechan-dynabook-R93-PB:~$ # イーサネットケーブルを挿す
asmsuechan@asmsuechan-dynabook-R93-PB:~$ sudo route add default gw 172.16.199.xxx 
asmsuechan@asmsuechan-dynabook-R93-PB:~$ route
カーネルIP経路テーブル
受信先サイト    ゲートウェイ    ネットマスク   フラグ Metric Ref 使用数 インタフェース
default         172.16.199.xxx  0.0.0.0         UG    0      0        0 wlan0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
172.16.192.0    *               255.255.248.0   U     9      0        0 wlan0
192.168.0.0     *               255.255.255.0   U     1      0        0 eth0
asmsuechan@asmsuechan-dynabook-R93-PB:~$ sudo route del default gw 192.168.0.1

routeで表示される受信先サイトの列がdefaultとなっている行がデフォルトゲートウェイです。

それぞれに優先度を与えて複数のデフォルトゲートウェイを設定することもできますが、普通デフォルトゲートウェイは1つなので綺麗にその構成にした方がいざという時に困らないと思います。

参考

デフォルトゲートウェイを理解する 基礎からのネットワーク⑤ – ランスルネット

【Linux】 NIC(インターフェース)が複数ある場合の設定方法 | 100%レンタルサーバーを使いこなすサイト