LoginSignup
14
12

More than 5 years have passed since last update.

RaspberryPi3 静的ルート(Static Route)の設定+デフォルトゲートウェイの削除

Last updated at Posted at 2018-06-23

RaspberryPi3(Raspbian stretch)での静的ルート でハマったのでメモ

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 9.4 (stretch)
Release:    9.4
Codename:   stretch

環境

RapberryPi3(以下、端末)は以下のネットワークに接続されている。
IPは固定

10.0.0.0/8----ルーター(IF .1)---192.168.0.0/24---(usb0* IF .254)
端末(wlan0 IF .12)---192.168.2.0/24
*usbドングルによる接続

要求

  • 192.168.0.0/24は、10.0.0.0/8ネットワークにアクセスする場合のみ利用
  • 基本、10.0.0.0/8ネットワーク以外は192.168.2.0/24ネットワークのみを利用

問題

  • 10.0.0.0/8のルート情報がない
  • デフォルトゲートウェイの優先度がusb0の方が高い

条件

  • 10.0.0.0/8は192.168.0.1(GW)へいくルート情報の追加
  • 192.168.0.0/24側のデフォルトゲートウェイの削除もしくは優先度の変更
  • DHCPによる動的IPにおいても対応可能

方法

デフォルトゲートウェイは、静的IPの割り当てであれば
/etc/dhcpcd.confファイルの追記の際に入れているstatic routersを削除すれば対応可能

interface usb0
static ip_address=192.168.0.254/24
static routers=192.168.0.1 ー>コメントアウト

DHCPによる動的IPの場合はできない。

方法1. /etc/network/interfaces.d/ 配下ディレクトリに設定(失敗)

$sudo vim /etc/network/interfaces.d/usb0
allow-hotplug usb0
iface usb0 inet static
post-up route add -net 10.0.0.0/8 metric 10 gw 192.168.0.1
post-up route del default dev $IFACE

結果として、10.0.0.0/8のルートはできるが、デフォルトゲートウェイの削除が不安定
(一旦削除されたあとさらに上書きされている)

方法2. /lib/dhcpcd/dhcpcd-hooks/40-route ファイルを追加(成功)

$sudo vim /lib/dhcpcd/dhcpcd-hooks/40-route
ip route add 10.0.0.0/8 via 192.168.0.1
ip route del default via 192.168.0.1

予定通り動作した。
ip routeで優先度も変更可能

以下参考URL

https://www.raspberrypi.org/forums/viewtopic.php?t=163252

方法1でも中途半端に動作したため、解決に時間がかかった。
デフォルトゲートウェイを削除したいと思わなかったら方法2は知らないままだったので記録として残します。

14
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
12