sshできなくなったのでarpingコマンドでトラブルシュートっぽいことをした話


0. はじめに

ssh hoge@ipでサーバーの対向のネットワーク機器にsshでログインできなくなってしまい、泣く泣くトラブルシュートする羽目になりました。
普段触らないARPコマンドを調べながら、なんとかログインすることが出来たので、備忘録として本記事をしたためることとしました。

1. 環境/バージョン情報

  • ssh接続元(何台か踏み台サーバーの先にあるリモート開発環境)
    • CentOS Linux release 7.4
  • 接続先
    • Junos QFX (バージョン、機器情報など不明)

2. 事象の確認

sshで接続できなくなりました。
$ ssh hoge@$ip

ssh -vでデバッグさせようも何も反応がありません。
$ ssh -v hoge@$ip

pingでも疎通が取れないことを確認できました。
$ ping $ip -c 3 -w 5

3. 原因調査

先日私用のubuntu pcにて同じようなネットワーク周りの不具合に出くわし、なんとかトラブルシュートした経験があったので、まずその記事を参照しました。

ありがとう!おれ!笑。

ubuntu19.04でpingとnslookupができなくなり、DNSサーバーを変更するのにめちゃくちゃハマった話

ARPテーブルの更新状況を確認

記事にARPテーブルを確認することという記述があったので、みてみました。

$ ip nei | grep $ip
$ip dev eth1 lladdr xxxxx(MAC Address) STALE

STALEとは、ARPテーブルの更新がしばらく行われていない状態のことのようです。

ARPによる更新が最近行われたばかり、もしくは自デバイスであれば REACHABLE になります。STALE は"腐ってる≒新鮮じゃない"という意味ですが ARP による更新を行ってから幾分か時間が経過している、というだけです。実際には疎通できていることがほとんどのはずです。

参考: Linuxコマンド【ip neigh】ARPテーブル表示の見方やflush,Static ARPエントリ追加/削除の設定

参考
http://www.hachim.jp/network/arp.html

ARPテーブルを更新

どうもARPテーブルを更新するには、arpingコマンドを使うとよいのかなと思ったのですが、改めて思うと、結局更新とは何を指しているのでしょうか??

$ arping == ARPテーブルの更新?

端末から実際にarpを投げてみて返してくる端末がいるか、周辺機器のarpが更新されるかなどを確認します。 

参考: ARP 纏め

$ arping -I eth1 $ip -c3 -w 5
ARPING $ip from $srcIp eth1
Unicast reply from $ip [MAC Address]  1.323ms
Unicast reply from $ip [MAC Address]  1.688ms
Unicast reply from $ip [MAC Address]  1.568ms
Sent 3 probes (1 broadcast(s))
Received 3 response(s)
$ arping -help
Usage: arping [-fqbDUAV] [-c count] [-w timeout] [-I device] [-s source] destination
  -f : quit on first reply
  -q : be quiet
  -b : keep broadcasting, don't go unicast
  -D : duplicate address detection mode
  -U : Unsolicited ARP mode, update your neighbours
  -A : ARP answer mode, update your neighbours
  -V : print version and exit
  -c count : how many packets to send
  -w timeout : how long to wait for a reply
  -I device : which ethernet device to use
  -s source : source ip address
  destination : ask for what ip address

なにはともあれ、arpingコマンドを叩いてからはsshで対向のNW機器に接続することが出来ました。
なお、ip neiでステータスを確かめてみると、なおもSTALEでした。

ネットワーク。難しいけどそこそこ楽しいですね。

結局どうして接続できなくなり、またARPテーブルを更新の更新とは何を指しているのか?については分からないままです汗。

またトラブったら調べます。。。

P.S. Twitterもやってるのでフォローしていただけると泣いて喜びます:)

@gkzvoice