プライベート192.168.xy LANにUbuntu Linux PCがあります。 0サブネットにIP(192.168.0.y)があり、0サブネット内の他のPCにpingを送信できます。 _gateway MACアドレスがハードコードされているため、この記事を読む前に他のサブネットにアクセスできないようです。記事。sudo ip nei flush all
ARPテーブルを消去するために実行できます。最初はうまくいきましたが、しばらくすると、ARPテーブルはARPテーブルの_gatewayエントリの以前のハードコーディングされたMACアドレスに戻り、コンピュータを再度pingできませんでした。 LinuxでARPテーブルの_gatewayエントリのMACアドレスを定期的に変更するように設定した人はいますか?
答え1
同様の繰り返し変更は、以下を含むがこれらに限定されない様々な方法で設定することができる。
- システムデバイスと同じ名前のデバイスを
*.timer
有効にします。*.service
- タスクとして、ユーザーのcrontabまたは
cron
権限を持つユーザーroot
のcrontabに存在できます。sudo
- 自動リロード
at
操作も同様です。 - デーモンスクリプトとして無限ループで実行され、変更を適用してから
sleep
しばらく実行されます。
ただし、あなたの症状と一致する可能性がある他の条件があります。IPアドレスの競合。
_gatewayのIPアドレスが誤って同じサブネット上の他のシステムに割り当てられている場合、PCはARPクエリを実行するたびにそのMACアドレスで応答します。通常、PCが受け取る最初の応答は、ARPキャッシュが期限切れになり、「レース」が繰り返されるまで「勝利」です。
通常、どちらが勝つかは、ネットワークトポロジ、実際のゲートウェイの相対的なCPU性能、およびネットワークドライバの効率と「インポスター」によって異なります。
これが単純な間違いである場合、「古いハードコーディングされたMAC」は、実際にクラッシュするデバイスの実際のMACアドレスです。 MAC アドレスを記録し、デバイスを確認します。一致するMACアドレスを見つけたら、犯人を見つけました。