OpenWRTで深瀟ネットワヌク認蚌を突砎する奮闘蚘

📢 この蚘事は gemini-2.5-flash-lite によっお翻蚳されたした

はじめに

OpenWRTルヌタヌを䜿っお孊校のネットワヌクに接続しようずした奮闘の蚘録だよ。結果はたあ、なんずも蚀えないけど、この過皋で色々勉匷になったな。

スタヌト

ブラりザで openwrt通过深柜讀证 っお怜玢しお、 恩山無線フォヌラム の投皿で玹介されおいたオヌプン゜ヌスプロゞェクトを芋぀けたんだ。 coffeehat/BIT-srun-login-script っおいうプロゞェクト。それを芋お、耇数のプラットフォヌムOpenWRTも含むに察応したGo蚀語版があるっお知っお、早速いじっおみるこずにしたんだ。

プロゞェクト䜜者の蚘事はこちら 深柜校园眑登圕的分析䞎python实现-北京理工倧孊版

奮闘前

OpenWRTのバヌゞョンでコンパむル枈みのバヌゞョン、぀たりIPKファむルが提䟛されおなかったんだ。それに、僕のスキルじゃREADMEが読めなくお、友達に聞いおみたらLinuxのコマンドだっおこずだった。でも、実際にやっおみたら、それはLinuxカヌネルをコンパむルするコマンドだっおこずがわかっお、物理マシンでやるのは諊めお仮想マシンでやるこずにしたんだ。

参考 Building a custom kernel/zh-cn - Fedora Project Wiki

奮闘開始

友達にこれもらったんだけど、 configuration - How to fix make error “No rule to make target ‘menuconfig’” when building a kernel for Beagleboard? - Unix & Linux Stack Exchange っおいう蚘事。これを参考に詊しおみたんだ。

仮想マシンの䜜成

僕が䜿っおるFedoraには、仮想マシン゜フト 盒子 が暙準で入っおる。たずはCentOS 8をむンストヌルしようずしたんだ。むメヌゞファむルが倖付けHDDに入っおたから、盎接マりントしお遞択。そしたら、䜜成倱敗っお゚ラヌが出た。次にCentOS 7を詊したけど、倱敗。Ubuntuも倱敗。

次々ず倱敗しお、前にこの゜フトでWin10をむンストヌルできたから、゜フト自䜓がおかしいんじゃないかっお疑っちゃったよ。゚ラヌログを開いおみたけど、やっぱり意味䞍明。でも、パスに日本語が含たれおるこずに気づいたから、パスを英語に倉えおもう䞀床詊しおみた。倱敗。

で、次の日、カヌネルを線集するんだから、Kaliを䜿っおみようかなっお思ったんだ。USBメモリに入っおたKaliのむメヌゞをPCにコピヌしお、最終的にむンストヌルは倱敗したけど、実行はできたんだ。もしかしお、システムをロヌカルに眮かないずダメなのかな

だから、CentOS 7のむメヌゞを ~/Documents/ にコピヌしお、むンストヌル成功。IPKをコンパむルするだけだから、rootナヌザヌで十分だず思ったんだ。

ネットワヌク接続

LinuxでLinux仮想マシンを䜜ったら、ネットワヌクは盎接共有できるず思っおたんだ。だから、盎接 wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.19.6.tar.xz っおコマンドを入力した。そしたら、IPアドレスが芋぀からないっお結果に。ifconfigコマンドを䜿っおもIPがない。

参考蚘事 圚虚拟机䞭讟眮静态IP (centos䞺䟋) を参考に仮想マシンをネットワヌクに接続したんだ。でも、最埌にファむルを線集する時は、ONBOOT の倀を yes に倉えお、DNSを2぀远加すればOKだった。

gitのむンストヌル

ネットに繋がったら、たずgitをむンストヌルしたんだ。yum install git で簡単にできた。それから、名前ずメヌルアドレスを蚭定した。

1
git config --global user.name "Name"
1
git config --global user.email "[email protected]"

ファむル転送

匕き続き wget でLinuxカヌネルをダりンロヌド。3〜4回詊したけど、ほずんど50%くらいでダりンロヌド倱敗するし、速床も遅かった。

泚wget -c URL を䜿うず、䞭断したずころから再開できるよ。

次に、盒子 ずいう゜フトが盎接ドラッグドロップでファむルを転送できるみたいだったから、PCでダりンロヌドしたファむルをそのたたドラッグしおみた。倱敗。ファむルは転送されなかった。転送埌のファむルが ~/Downloads/ にあるこずを考えお、rootナヌザヌを䜿っおるから、 Linux 添加甚户和管理员甚户 を参考にしおナヌザヌを䜜成したんだ。最埌にナヌザヌを削陀する手順たで実行しそうになったよ

su username コマンドでナヌザヌを切り替えお、~/Downloads/ フォルダを䜜成。もう䞀床ドラッグしおみたけど、たた倱敗。

盒子 の共有機胜でPCの ~/Public を共有しようずしたんだけど、どう操䜜しおも仮想マシンで芋えなかった。この゜フトはRHELずFedoraにしか察応しおないのかな

SSH転送

それで、SSHで転送するこずを思い぀いたんだ。ftpコマンドを入力したら、入っおなかったから、むンストヌルするのが面倒くさくお

ロヌカルでSSH接続を有効にしお、scp コマンドでSSHを䜿っおファむルを転送した。

1
scp username@servername:/path/filename ~/Downloads/

たず、IPアドレスを確認。仮想マシンで ip route コマンドを入力するず、IPは10.0.2.2だずわかった。

それから scp コマンドで転送。

ファむル解凍

tar コマンドでファむルを解凍した。

1
tar -xzvf filename.tar.xz

あれ、gzipで圧瞮されおないファむルだ。これ、どうやっお解凍すればいいかわからないな。

SSH転送

やっぱりSSHで転送しよう。scp コマンドに -r を远加すればフォルダも転送できるはず。

詊行錯誀

手順通りに、解凍したファむルを /usr/src/ に眮いお、/boot のconfigファむルを /usr/src/linux-5.19.6/.config に眮いた。でも、.config/ の䞋に眮いおも、.config の䞋に眮いおも、make menuconfig コマンドが実行できなかった。

たずめ

奮闘は倱敗。たた今床挑戊しよう。

でも、この蚘事を曞きながら、元の投皿でOpenWRTで盎接Pythonを実行しようずしおたこずに気づいたんだ。時間があったら詊しおみようかな。

再挑戊

それから、認蚌を突砎したこずがある友達普通のルヌタヌだけどに盞談しおみたんだ。圌はルヌタヌのMACアドレスを自分のPCのものに倉えたらしい。そしたら、LANケヌブルを繋いだら認蚌ペヌゞが自動的にPCに転送されお、認蚌埌に぀ながるようになったんだ。でも、锐捷Ruijieのりェブ認蚌だった。

深柜SenaoはPortal認蚌、぀たりWebペヌゞ認蚌を䜿っおるっおこずは、WebだからHTTPを䜿っおるはずだよね。HTTPヘッダヌを線集すれば認蚌を突砎できるのかなLinuxにはHTTPヘッダヌを送信できるコマンドっおあるんだろうか調べおみたら、curl ず wget コマンドで get や post リク゚ストをシミュレヌトできるっおわかった。それでFiddlerを開いおパケットキャプチャを始めお、認蚌プロセスを再珟しようずしたんだ

嘘だよ。ルヌタヌを孊校のネットワヌクに繋いで、PCをルヌタヌに繋いで、認蚌ペヌゞのIPを入力したら、認蚌完了。ルヌタヌに぀ながったよ。

LinuxコマンドでHttpのgetやpostリク゚ストをシミュレヌトする

䜿わなかったけど、せっかく芋぀けたから蚘録しおおくね。

  • GET リク゚スト
  1. curl
1
2
3
4
5
6
7
8
## もしここのURLがファむルを瀺しおいたら、盎接ロヌカルにダりンロヌドできるよ
curl URL
## 党おの情報を衚瀺
curl -i URL
## ヘッダヌ情報だけ衚瀺
curl -l URL
## GETリク゚ストの党過皋の解析を衚瀺
curl -v URL
  1. wget
1
wget URL
  • POST リク゚スト
  1. curl
1
2
3
4
5
6
## -d パラメヌタを䜿っお、アクセスするパラメヌタを䞭に蚘述するよ
curl -d "param1=value1&param2=value2" "URL"

curl -d'param1=value1&param2=value2' -X POST URL

curl -d 'param1=value1' -d 'param2=value2' -X POST  URL
  1. wget
1
2
## --post-data パラメヌタで実珟できるよ
wget --post-data 'user=name&passwd=passwd' URL

再床たずめ

時々、物事を耇雑に考えすぎちゃいけないんだね。単玔なこずなのに、考えただけで実行せずに可胜性を吊定しおしたうのは間違いだった。今回は、僕が最初に最埌の再挑戊の郚分を吊定しおしたったから、こんなに手間取っおしたったんだ。もしデヌタ通信量が制限されおなかったら、こんなに詊さないよ

この蚘事を曞きながら、二぀の名蚀を思い出したよ。

  1. 孊而䞍思則眔、思而䞍孊則殆孊んで思わざれば則ち眔し、思いお孊ばざれば則ち殆うし

  2. 实践埗真知実践こそ真知

だから、時々はいろいろ考えすぎずに、倧胆に挑戊するべきなんだ。考えすぎるこずが自分の可胜性を狭めおしたうこずもあるからね

参考蚘事

求助深柜校园眑 Portal 讀证应该怎么刷固件-小米无线路由噚以及小米无线盞关的讟倇-恩山无线论坛

configuration - How to fix make error “No rule to make target ‘menuconfig’” when building a kernel for Beagleboard? - Unix & Linux Stack Exchange

圚虚拟机䞭讟眮静态IP (centos䞺䟋) - yexca’Blog

安装 Git - 廖雪峰的官方眑站

Linux 添加甚户和管理员甚户 - yexca’Blog

linux 系统䞋劂䜕进行甚户之闎的切换_M李䞜的博客-CSDN博客_linux切换系统

䜿甚 ssh 䌠蟓文件 - 思吊

Linux tar 呜什-菜鞟教皋

Portal 讀证原理-曹䞖宏的博客

Linux 呜什发送 Http 的 get 或 post 请求 (curl 和 wget 䞀种方法)_cyl937的博客-CSDN博客

This post is licensed under CC BY-NC-SA 4.0 by the author.
最終曎新 2025-11-08 20:50 +0900

Visits Since 2025-02-28

Hugo で構築されおいたす。 | テヌマ Stack は Jimmy によっお蚭蚈されおいたす。