この記事は Anthrotech Advent Calendar 2025 の23日目の記事です。
はじめに
日本に住んでいる我々は、全くと言っていいほど制限されることなく、世界中のあらゆるコンテンツを閲覧できます。
毎年国ごとにインターネットの自由度を評価し、格付けを行なっている Freedom House の最新の統計によると、日本は上から数えて7番目に位置しています。
これが高いのか低いのかはさておき... 先のリストを見ていると、インターネットを自由に使えない国は意外と多いということに気が付きます。そういった国々に住んでいる人々は、検閲されたコンテンツを見るためになんらかの方法で制限を回避せざるを得ません。(あるいは、検閲の先にコンテンツがあるという事にさえ気がついていない人も多いでしょう)
今回は、そういった検閲を回避する技術の一つ、VPN をめぐり、某国と壮大(?)なイタチごっこをした話をさせていただきます。
きっかけ
私には日本から遠く離れた、とある寒い地方の国に住んでいる家族がおりました。
しかし、その国はある日を境に、お隣の国と戦争を始めてしまいました。戦争が続く中、その国は情報統制を開始し、今まで利用できたあらゆるSNSやプラットフォームをアクセス不能にしたのです。
私はそんな家族に自由なインターネットを提供するべく、VPNサーバを建て始めたのでした...
L2TP/IPSec
はじめに構築したのは L2TP/IPSecのVPNでした。私が愛用していた YAMAHA RTX830 の標準機能でしたので、特に複雑な設定をすることなく開通しました。
名前の通りレイヤ2(っぽく)動作するため、LAN下のサーバーへのアクセスも自由。これが使えていた頃は動画や写真の共有なんかもしていました。
が、ある日突然通信がブロックされてしまいます...。
IPSecは、通信に使用するUDP 500/4500番ポートやパケットのヘッダー形状から、DPI(ディープ・パケット・インスペクション)で即バレするので仕方がないですね。機械的に検出してブロックするにしても、個人の家庭用IPまでピンポイントでブロックしてくるとは驚きでした。
私の家は固定IPを申請していたため、アドレスは変更できず、L2TP/IPSecによるVPN構築は断念しました。
VPSにVPNを建てる
仕方なく、今度はVPSを契約してそこにVPNサーバーを建てることに... 今度は SoftEther でVPNサーバーを建てました。
利用したVPSは AWS Lightsail でしたが、これには一つ面白い仕様がありました。それは、固定IP(Static IP)はオプションで、インスタンスを再作成するたびに異なるパブリックIPアドレスが割り当てられるという仕様です。今回はこの仕様を活用し、「ブロックされたら再起動させて(若干設定を変更して)また新しいIPで接続を張る」という運用にしていました。これは意外にもうまくいき、半年ほどはこれでしのいでいました。
Shadowsocks + v2ray-plugin
とはいえ、IPアドレスの変えっこはスマートな方法とは言えませんでしたので、よりバレにくい技術を使うことにしました。
それが、Shadowsocks + v2ray-plugin の組み合わせです。
実のところ、これはプロキシなので厳密にはVPNではないのですが、通信をHTTPS(TLS)トラフィックに偽装して難読化するため、DPIでも検出が極めて難しいのです。
が、またしばらく経つと通信がブロックされるように...
「まさか、某国の情報戦略部門は新たなDPIの手法を見つけたのか!?」と思いつつ、原因の調査をすすめるとある衝撃的な事実にたどり着きます。
なんと、 AWS関連のIPレンジが丸ごと全ブロックされていたのです。
まさに力業。おそロシヤ……(なんつって)。
これじゃあどうしようもないカ。と思っていた矢先...
一通の手紙を受け取ります...
なんと、プロバイダが回線工事を行うことに伴い、固定IPが変更されるとのこと!(固定とは)
2週間後、回線工事が終わったあと、新しいIPアドレスが割り当てられ今度は自宅に Shadowsocks のサーバーを建てました。
そこから一年、なんのトラブルも起きることなく今に至ります。
ほんともう、勘弁してよね... こんなことアドベントカレンダーに書くくらいの話のネタにしかならないからさ。まじで。
おわりに
ざっと書きましたが、具体的なコンフィグなどは書きませんでした、すません。
また、国によっては政府の管理下にない通信手段を使用することは処罰の対象になり得ます。えー、なのでこの記事で書かれていることは当然フィクションです。あはは。
Wish for Peace! ではまた!