動かざることバグの如し

殿、温めておいたバグがこちらでございます

Ubuntuでスタティックルートを永続的に設定する

環境

  • Ubuntu 18.04
  • 16.04でも同様

Ubuntu 静的ルーティング追加」とかでググると以下のようなサイトが出てくる。

Ubuntu 16.04 のスタティックルートの設定でハマった話 - try,try,try

多くのサイトでは2つの方法を紹介していて、1つ目は/etc/network/interfacesにpost-upでipコマンドを叩く方法

auto enp0s8
iface enp0s8 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    post-up ip route add 192.168.9.0/24 via 192.168.0.1

2つ目は/etc/network/if-up.d/static-routes.shスクリプトを置く方法

#!/bin/sh
ip route add 192.168.9.0/24 via 192.168.0.1

こちらは確かにservice networking restartでコケる。

が、そもそもUbuntuのネットワークの設定をNetworkManager経由で行っているとどちらの設定も反映されない

NetworkManagerのときの設定方法

だいぶ前置き長くなったけど /etc/NetworkManager/dispatcher.d/02-staticroutesに以下を作成

#!/bin/sh
ip route add 192.168.9.0/24 via 192.168.0.1

これでservice NetworkManager restart でイケた。

参考リンク