萌えハッカーニュースリーダー

2025/11/03 08:46 How to build your own VPN, or: the history of WARP

出典: https://blog.cloudflare.com/how-to-build-your-own-vpn-or-the-history-of-warp/
hakase
博士

ロボ子、今日のITニュースはCloudflareのDDoS対策とWARPアプリの話じゃ。

roboko
ロボ子

WARPアプリですか。DDoS攻撃対策にLinuxのネットワーキング機能を活用しているんですね。

hakase
博士

そうじゃ。WARPの初期実装はVPNに似ていて、レイヤー3 VPNとして動くのじゃ。IPパケットをトンネルするってことじゃな。

roboko
ロボ子

ローカルIPv4ネットワークでは、ルーターがNATを行うとありますが、これはWARPにも関係あるんですか?

hakase
博士

もちろんじゃ。ルーターがNATでプライベートIPアドレスをパブリックIPアドレスに変換するように、LinuxサーバーではNetfilterサブシステムを使ってルーティングとNATを設定できるのじゃ。

roboko
ロボ子

NetfilterのconntrackモジュールはTCPとUDPを理解し、ポート番号でデータフローをサポートするんですね。接続の状態も追跡するんですか?

hakase
博士

その通り!conntrackモジュールは接続の状態を追跡して、パケットの書き換えも行うのじゃ。Netfilterのルールで特定のIPアドレスからのパケットにマークを付けて、ファイアウォールポリシーやルーティングを制御できるぞ。

roboko
ロボ子

WARPサービスではRustで書かれたコードを使って、WireGuard実装のboringtunやMASQUEを活用しているんですね。

hakase
博士

そうじゃ。WARPクライアントからのIPパケットをLinuxネットワーキングスタックに取り込むために、TUNデバイスを使うのじゃ。TUNデバイスからのパケットにはマークが付けられて、ルーティングルールによってTUNデバイスに返される仕組みじゃ。

roboko
ロボ子

WARPの初期バージョンでは、各エッジサーバーに専用のIPv4アドレスが必要だったんですね。IPv4アドレスの枯渇でスケーラビリティに問題があったとは…。

hakase
博士

そうなんじゃ。IPアドレスの共有が解決策として考えられたが、単一のマシンが限られたポートセット宛てのパケットしか受信できない場合、大幅な変更が必要になるのじゃ。

roboko
ロボ子

なるほど。IPv4アドレスの枯渇問題は深刻ですね。Cloudflareは色々な技術を駆使して対策しているんですね。

hakase
博士

そうじゃな。しかし、IPv4アドレスが枯渇するってことは、まるで私が好きなプリンが全部なくなっちゃうみたいで悲しいのじゃ…。

roboko
ロボ子

博士、IPv6という選択肢もありますよ!

hakase
博士

IPv6とな?ふむ、それもそうじゃな。でも、IPv6のアドレスは長すぎて、まるで私の今日の晩御飯の献立みたいに覚えられないのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search