0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

定時帰る術-スタティックルーティング削除(要注意)

Last updated at Posted at 2024-01-18

背景

誰かが間違って、いらないスタティックルーティングを入れてしまった。
結果的には↓になる。

[root@momo ~]# ip route
0.0.0.0/2 via 192.168.100.1 dev ens34 proto static metric 100
default via 192.168.100.254 dev ens34 proto static metric 100

コマンド準備

「ip route」の結果をみて、「この作業が一瞬で終われる」を思いながら、↓のコマンドを準備した。

ip route 
nmcli c mod ens34 -ipv4.routes "0.0.0.0/2 192.168.100.1"
nmcli c u ens34
ip route

作業

実際に作業に行ってみたら、↑のコマンドでうまくいけなかった。

# ip route
0.0.0.0/2 via 192.168.100.1 dev ens34 proto static metric 100

マジかと思って、grepしてみたら、ヒットしなかった。

# grep "0.0.0.0" /etc/sysconfig/network-scripts/route-ens34

トラブルシューティング

①一応XX作業なので、少し焦って、「history」で誤ったコマンドを探そうとしたけど、見つからなかった

②「ip route」の仕様も忘れて、↓を実行した

# ip route del 0.0.0.0/2 via 192.168.100.1

これで「ip route」を確認すると、「0.0.0.0/2 via 192.168.100.1 dev ens34 proto static metric 100」が削除された。
「nmcli c u ens34」を実行してみたら、「ip route」の仕様通り、設定が元に戻った。

③「/etc/sysconfig/network-scripts/」配下にある全ファイルをgrepしてみたら、怪しいところがなさそう

# grep "0.0.0.0" /etc/sysconfig/network-scripts/

④なんとなく冷静になって、「/etc/sysconfig/network-scripts/route-ens34」とルーティングテーブルを比較してみた。
50何行もあったが、目視で犯人が発見

ネットワークマスクが「/2」で、対象ネットワークが全然別だ

ADDRESS=10.10.10.0
NETMASK=192.0.0.0
GATEWAY=192.168.100.1

コマンドを編集して、対象ネットワークを「10.10.10.0」を指定して、削除できた!!

nmcli c mod ens34 -ipv4.routes "10.10.10.0/2 192.168.100.1"

振り返

①ルーティング追加コマンドがそのままで「/etc/sysconfig/network-scripts/route-xxx」に追記される

②当然だけど、ルーティングテーブルに表示されるのがネットワークアドレス

③↓のコマンドは、「/etc/sysconfig/network-scripts/route-xxx」を操作できる。
(恐らくnmcliは「/etc/sysconfig/network-scripts/」配下にある全ファイルを操作できると思われる)

nmcli c mod xxx +ipv4.routes/-ipv4.routes "x.x.x.x/x x.x.x.x"

「-ipv4.routes "x.x.x.x/x x.x.x.x"」はルーティングテーブルではなく、「/etc/sysconfig/network-scripts/route-xxx」の中身を探して、完全一致の場合だけ削除する。
スタティックルーティングの事前調査として、「/etc/sysconfig/network-scripts/route-xxx」を確認して、その結果で誤ったルーティング設定を探して、コマンドを作成する
④「ip route」は「/etc/sysconfig/network-scripts/route-xxx」を触らず、ルーティングテーブルに対する操作だけなので、再起動すると設定が戻る

⑤↓でサブネットマスクで計算すると、ネットワークアドレスが確かに「0.0.0.0」なので、「ip route」で「0.0.0.0/2 via 192.168.100.1」に表示される

ADDRESS=10.10.10.0
NETMASK=192.0.0.0
GATEWAY=192.168.100.1

以上

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?