VPN WireGuard が OpenBSD に主流化

Jason A. Donenfeld、VPN WireGuard の著者、 объявил о 受け入れ WireGuard プロトコル用のコア OpenBSD カーネル ドライバー「wg」に組み込み、 実装 特定のネットワークインターフェイスと 変化 ユーザー空間で実行されるツールキット。 OpenBSD は、次のオペレーティング システムになりました。 Linux WireGuard の完全かつ統合されたサポートを備えています。 WireGuard は OpenBSD 6.8 リリースに含まれる予定です。

パッチには、OpenBSD カーネルのドライバー、WireGuard 機能をサポートするための ifconfig および tcpdump ユーティリティへの変更、ドキュメント、および WireGuard をシステムの残りの部分と統合するためのマイナーな変更が含まれています。 ドライバーは独自のアルゴリズム実装を使用します ブレイク2s, ちゃちゃ20 и 曲線25519、OpenBSD カーネルにすでに存在する SipHash の実装も同様です。

この実装は、Linux、Windows、macOS、*BSD、iOS、Android 用のすべての公式 WireGuard クライアントと互換性があります。 開発者のラップトップ (Lenovo x230) でのパフォーマンス テストでは、スループットが 750mbit/s であることがわかりました。 比較のために、基本設定 ike psk を備えた isakmpd は 380 mbit/s のスループットを提供します。

OpenBSD カーネル用のドライバーを開発する際、いくつかのアーキテクチャ上の決定は Linux 用のドライバーと同様に選択されましたが、ドライバーは主に OpenBSD 用に開発され、このシステムの詳細を念頭に置き、OpenBSD カーネル用のドライバーの作成で得られた経験を考慮しました。リナックス。 WireGuard の元の作成者の同意を得て、新しいドライバーのコード全体が無料の ISC ライセンスに基づいて配布されます。

このドライバーは OpenBSD ネットワーキング スタックと緊密に統合されており、既存のサブシステムを使用してコードを非常にコンパクトに保ちます (コード約 3000 行)。 違いのうち、ドライバー コンポーネントの分離も Linux とは異なります。OpenBSD に固有のインターフェイスは「if_wg.*」ファイルに移動され、DoS 保護のコードは「wg_cookie.*」にあり、接続ネゴシエーションと暗号化ロジックは「wg_noise.*」にあります。

出所: オープンネット.ru

コメントを追加します