仮想プライベートサーバーにOpenBSD 5.9がインストールされています。今日、No More IPv4 Address Space For Youの他の人と同様に、コンピュータにはIPv4アドレスが1つしかないLANである/ 32のみが割り当てられています。 LANの(唯一の)他のノードは、ホスティングプロバイダが提供する世界へのデフォルトゲートウェイである。実際には2つのノードで構成されたLANですが、IPブロードキャストはありません。
この問題に対する解決策は非常に単純でよく知られています。通常どおりにデフォルトルートを設定し、LANネットワークインターフェイスを介して固定ルートを作成して、デフォルトゲートウェイ自体に到達します。後者は私の次の行/etc/hostname.vio0
で行われます
!パス 188.165.223.254 追加 -static -link -iface vio0
残念ながら、これは機能しません。機械はしばしば世界中との接続を切断します。
1日か2日後、そのインターフェイスを通る固定パスがルーティングテーブルから完全に消えることがわかりました。一見すると、ランダムで特別な規則的な時間ではないように見えました。もう一度追加すると再び消えます。検査の結果、トリガー可能なクローンジョブやその他のスケジュールされたジョブはなく、分単位の境界と一致しないことがわかりました。さらに、これが起こるほとんどの場合、システムはデフォルトでアイドル状態です。
route monitor
問題が発生したときにそれを特定するためにログディレクトリに接続してcyclog
数日間実行してみたところ、これを行うのは一部のユーザープロセスではなくカーネル自体であることがわかりました。
2016-07-29 06:27:08.436729680 2016年7月29日金曜日06:27:08にサイズ144のメッセージを受け取りました。 2016-07-29 06:27:08.436740030 RTM_DELETE: パス削除: len 144, 優先順位 0, テーブル 0, ifidx 1, pid: 0, seq 0, errno 0 2016-07-29 06:27:08.436747000 フラグ: 2016-07-29 06:27:08.436752930 使用: 0 mtu: 0 有効期限: 0 2016-07-29 06:27:08.436759100 ロック: 初期化: 2016-07-29 06:27:08.436764620 ソックス 住所: 2016-07-29 06:27:08.436770290 188.165.223.254 リンク#1
OpenBSDカーネルがこれを行うのはなぜですか?どうやって防ぐことができますか?
追加読書
答え1
同僚は、「これはOpenBSDメーリングリストに関するものです」と考えました。賢者のアドバイスに従ってください投稿する前に必ずメーリングリストをお読みください。私が見つけた2016年2月、Mathieu Herrbが提案しました。。
これはOpenBSD 5.9カーネルのバグで、5.8以降に導入されたMartin Pieuchotによって実装された「新しい」OpenBSDルーティングテーブルの回帰です。
M. Pieuchotのカーネルパッチを適用sys/netinet
(sys/netinet6
およびカーネルを再構築およびインストール)すると、これが発生するのを防ぎます。
追加読書
- ジェニー・ジョンソン(2016-03-24)。 -currentで有効になっている新しいルーティングテーブルコード(ART)。 OpenBSDマガジン。
- ミハル・キシシュトポビッチ(2016-06-03)。OVHホスティングOpenBSDシステムのネットワーク設定。オタクのスキルを凍結してください。
- 解放する。 §8. OpenBSDのマニュアルページ。
- ソースコードによるシステム構築。 OpenBSD FAQ.