多くの人がキャンパスネットワークをどうやって突破するかを尋ねてきます。新学期が始まるにあたり、多くの人がこの問題を考え始めています。ここで言う「突破」とは、実際にはネットワークの共有を指します。
多くの学校では、スマートフォンまたはコンピュータとスマートフォンのいずれかに制限を設けています。これは不合理です。まず、寮でスマートホームを使用することを考えれば、Pad を 1 台追加するだけでもインターネットに接続するのが難しいです。
なぜ OpenWrt が万能ではないと言えるのか、まず OpenWrt の国内版は非常に多く存在します。
次に、技術的な競争が非常に激しく、今日あなたが行ったことが明日にはその方法が封じられる可能性があります。また、ソフトウェアの設定は多くの初心者ユーザーにとっては難解です。
このいわゆる「突破」を達成するには、コストや隠れたコストの観点からも予測が難しいです。今年使えるものが来年には学校が設備を変更するかもしれませんし、サービスプロバイダーが変わると何もできなくなります。ですので、試行錯誤する際にはこの点を意識するべきです。また、自動化された検証を実現したい場合は、まず自分の所属する学校で過去に誰かが試みたことがあるかを検索してみてください。あれば、直接再利用してテストしてみることができます。ダメなら、友人に頼んで ChatGPT にスクリプトを書いてもらうこともできます。
もし CatWrt を使用してキャンパスネットワークに関する疑問がある場合は、私たちのグループに参加してください。私のチュートリアルや経験が多くの学生に役立つことを願っています。
接続方法#
ここでは接続方法について説明します。
- PPPoE、つまりダイヤルアップ接続
- DHCP、つまり自動的にアドレスを取得する方法、これは比較的一般的です
- VPN
- プライベートダイヤルプロトコル、PPPoE を基にした改造が非常に少なく、解決策もあまりありません
PPPoE ダイヤルの学校は非常に少なく、学校も良いです。
検証方法#
各学校によって異なり、サービスプロバイダーも異なります。
- モバイルアプリ(ブラウザで開けないもの)
- WEB 検証(ブラウザで開けて、ログインできるもの)
- コンピュータソフトウェア
ここでの検証は、OpenWrt 上で MAC アドレスをコピーし、Python3 で検証スクリプトを実行することで行えます。スクリプトを作成したい方は、私が以前公開したブログを参考にしてください。
モバイルアプリ検証の場合は、小黄鳥を使ってパケットをキャプチャし、その内容を ChatGPT に渡してスクリプトを書いてもらうことができます。簡単なものであれば、sh スクリプトや bash スクリプトを使えば解決できます。
検出方法#
一般的なネットワーク共有の検出方法として、特に一般的なのは最初の 3 つです。これらは OpenWrt 上で非常に簡単に解決できます。
- TTL フィールド(Windows かルーターで一般的な Linux システムかを特定できます)
- HTTP ブラウザの User-Agent(HTTPS は TLS で暗号化されていても影響を受けません)
- 時間のずれ
- Flash Cookie の検出
- IPv4 パケットヘッダー
- DPI 深層パケット検出
引用:ある大学のキャンパスネットワークの共有インターネット検出メカニズムに関する研究と解決策
IP アドレスや MAC アドレスなどの基本的な検出方法もあり、検出方法は学校によって異なります。
準備#
コンポーネントをインストールする前に、必ずインデックスファイルを更新してください opkg update
これにより、すべての opkg install が問題なく行えます!
ここで私の CatWrt ファームウェアを堂々と推薦できます。このファームウェアは、今回のブログのすべての内容を網羅しています。
私の過去のブログでは、ソフトウェアリポジトリの使用方法について非常に多くの情報を提供しています。
含まれているもの:
- Cattools のソフトウェアリポジトリ設定
ソフトウェアリポジトリの設定- ソフトウェアリポジトリのよくある質問とソフトウェアリスト
- Windows で CatWrt ソフトウェアリポジトリを展開する方法
- など... 具体的には私のブログを見てください。
以下は CatWrt ファームウェアをダウンロードできるリンクの集合です👇
もちろん、CatWrt は完璧な解決策ではありません。例えば、ソフトウェアのインストールにはインターネット接続が必要です。ルーターが検証を終えた場合、一時的にソフトウェアリポジトリにアクセスでき、正常にインストールできます。
オフラインの場合は、私たちのツール(Cattools)と IPK ファイルを手動でダウンロードしてインストールする必要があるかもしれません。環境を整えた後に再度インターネットに接続してください!
クローン#
ネットワークが必要な場合、例えば锐捷の検証が必要な場合は、OpenWrt に IP アドレス / MAC ハードウェアアドレスをクローンする必要があります。これにより、MAC スキャン時にルーターの製造元による封鎖や、一般的でないデバイスによる問題を回避できます。
-
Windows: 設定 - ネットワーク - イーサネット / Wi-Fi
-
OpenWrt (CatWrt): ネットワーク - インターフェース - wan(変更) - 一般設定 - 高度な設定 - MAC アドレスをリセット
ヒント:正規の製造元から出荷されたデバイスには、ユニークな MAC アドレスがあります。無線 MAC スキャン機能を持つアプリを使って近くのルーターのブランドを確認できます。
NTP#
CatWrt はデフォルトで NTP を有効にしています。他のファームウェアでは、時間のずれを検出しないために NTP を有効にする必要があるかもしれません。
システム - システム - 時間同期
-
NTP クライアントを有効にする
-
NTP サーバーとしてサービスを提供
-
候補 NTP サーバー
ntp1.aliyun.com
ntp.tencent.com
ntp.ntsc.ac.cn
time.ustc.edu.cn
UA2F#
OpenWrt で HTTP の暗号化されていないトラフィック UA を処理し、検出を回避できます。
opkg install ua2f luci-app-ua2f
ヒント:ここでの UA2F luci は新しく出たものです。
- UA2F
- UA テストサイト 1 http://ua-check.stagoh.com
- UA テストサイト 2 http://ua.233996.xyz
TTL ホップ#
以下のコンポーネントをインストールする必要があります。
opkg install iptables-mod-ipopt kmod-ipt-ipopt
システム - ファイアウォール - カスタムにこれを挿入し、ファイアウォールを再起動することで TTL を変更できます。
⚠️ 一部のシステムにはカスタムファイアウォールが含まれていない場合があります。関連する解決策は自分で検索してください。このブログは Lean 系の OpenWrt 操作(LEDE/CatWrt/QWRT)に基づいています。
iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64
ここでの 64 は Windows で一般的に使用されるもので、128 は Linux と MAC で一般的に使用されるホップ数です。
UA3F#
この方法は SOCK5 プロキシソフトウェアに依存しています。例えば😺 Clash など、マシンの性能に要求があります。単に SOCK5 を使用するだけであれば要求は比較的低いですが、UA2F を実施した場合はこれを使用しなくても大丈夫です。
opkg install curl libcurl luci-compat
export url='https://blog.sunbk201.site/cdn' && sh -c "$(curl -kfsSl $url/install.sh)"
service ua3f reload
推奨読書:https://blog.sunbk201.site/posts/ua3f
Next generation of HTTP User-Agent modification methodology.
mentohust#
锐捷キャンパスネットワーク接続ツール
opkg install mentohust
接续HustMoon开发的Mentohust,继续更新
MentoHUST-OpenWrt-ipk包
ここで言及すべきは、各学校にはそれぞれ独自の锐捷ツールがあるようで、必ずしも mentohust を使用する必要はありません。
人脈資源#
学校名 + OpenWrt で関連するチュートリアルを検索するか、すでに OpenWrt を設定した先輩を探してみてください。これが効果的です。
このブログはすべての情報を網羅することはできません。学校が多すぎて解決策も異なります!
私たちが言及したツールがあれば、私たちのファームウェアを使用して、検証を展開したり、検出を回避してネットワークを共有することができます。
この記事は Mix Space によって xLog に同期更新されました。原始リンクは https://www.miaoer.net/posts/network/college_network_sharing