概要
routefコマンドはLinuxのほとんどのディストリビューションに最初から入っているコマンドで、flush routesの略です。これを実行すると警告も無くネットワークの設定を初期化するので、SSHで接続している最中に実行すると死にます。
man routef
でも、「これを実行するとネットワークに繋がらなくなるぞ」と丁寧な説明がされていますね...
なお、再起動するとネットワークの設定は戻るのでご安心を。
何が起きた?
では、具体的にどの設定が初期化されるのでしょうか。仮想環境で試してみました。
$ ip route
default via xxx.xxx.xxx.xxx dev eth0 proto dhcp metric 100
xxx.xxx.xxx.xxx/24 dev eth0 proto kernel scope link src xxx.xxx.xxx.xxx metric 100
$ ping google.com
# ちゃんと応答が返ってくる
$ sudo routef
# 特に出力も無く正常終了する
$ ping google.com
connect: Network is unreachable
$ ip route
xxx.xxx.xxx.xxx/24 dev eth0 proto kernel scope link src xxx.xxx.xxx.xxx metric 100
# defaultから始まる行が消えたのが分かる
$ ip route add default via xxx.xxx.xxx.xxx
# routef実行前にdefaultの行で宣言されていたゲートウェイのIPアドレスを追加すれば、また繋がるようになる
なお、これは一時的なものなので、再起動すると設定が元に戻り、ネットワークに接続できるようになります。
終わりに
初対面のコマンドと出会ったらとりあえず実行するのではなく、ちゃんとmanコマンドで確認してから、実行するか考えましょう。