实验室的WIFI信号很差,之前是用 旧电脑Windows+无线网卡+开热点
实现的简单路由,但是最近有了新需求,需要在手机上跑 QQ 机器人,需要从笔记本访问到手机网络。虽然可以使用 Windows Nginx ,感觉不如折腾一下直接上 Openwrt 变成无线路由器。
下面这些看着挺简单的操作,是折腾了整整两天一步一个坑踩出来的成果,网上资料实在太少、太难找了。
旧电脑+无线网卡+Openwrt+Openwrt的各种妙妙插件=妙妙无线路由器
2号选手(暂定):
其他信息:短接 F-Panel 最左侧两 pin 开机, F1 F2 进入 BIOS,F12 选择 Boot,不支持旧版 WePE(v1.3)
Kernel modules
- Wireless Drivers
- kmod-rtl8821ae
Firmware
- rtl8821ae-firmware
买了个9260天线,
opkg update
opkg install kmod-iwlwifi iwlwifi-firmware-iwl9260 hostapd
基于 Lean大佬的Openwrt源码 编译固件(尝试过Github workflow编译,如,haiibo/OpenWrt,但失败了)
编译过程需要科学上网
安装编译依赖
sudo apt update -y
sudo apt full-upgrade -y
sudo apt install -y ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \
bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \
git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \
libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \
libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \
python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \
uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev
下载源代码,更新 feeds 并选择配置
git clone https://github.com/coolsnowwolf/lede
cd lede
编辑 feeds.conf.default
添加 Openclash(可选)
src-git openclash https://github.com/vernesong/OpenClash
更新 feeds
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
配置、插件、固件(下面是必要的设置,可选插件详见:部分插件说明-恩山论坛)
快捷键:/
搜索,Y
选择,N
取消
Target Images
- Kernel partition size
- 256
- Root filesystem partition size
- 512
Kernel modules
- Wireless Drivers
- kmod-iwlwifi
Network
- WirelessAPD
- wpad
- hostapd
Firmware
- iwlwifi-firmware-iwl9260
如果之前添加了 openclash,就需要选择
LuCI
- Applications
- luci-app-openclash
下载 dl 库,编译固件 (-j 后面是线程数,第一次编译推荐用单线程)
make download -j8
make V=s -j1
(Intel(R) Xeon(R) W-2123 (8) @ 3.90 GHz, 16GB内存
编译了~12个小时)
编译完成后输出路径:bin/targets
需要 openwrt-x86-64-generic-squashfs-combined-efi.img.gz
另外,如果修改了配置文件,二次编译:(只需要几分钟)
cd lede
git pull
./scripts/feeds update -a
./scripts/feeds install -a
make defconfig
make download -j8
make V=s -j$(nproc)
需要重新配置就删掉 .config
即可
使用 Diskgenius 删除磁盘的所有分区,格式化为 ext4
然后使用 physdiskwrite 把 img 刷入对应的磁盘(数据无价,谨慎操作)
physkiskwrite -u usb.img
这一步其实并没有什么用,留个档
用网线连接笔记本和主机,手动设置电脑的ip为 192.168.1.6,子网掩码 255.255.255.0,网关 192.168.1.1
访问 192.168.1.1 即可进入管理面板,默认密码 password
可以看到识别出无线网卡了,但是没有激活,需要修改配置文件以及手动切换到 AP 模式
查看网卡信息:
iw list | less
这个是 2.4 GHz 频段支持的信道
再往下就是 5 GHz 频段支持的信道,发现 5G 频段限制很多,不能AP,只能 2.4 GHz 了
这里确定 2.4 GHz, 11 信道,20 MHz 带宽
编辑 /etc/config/network
,wan口用于从校园网dhcp获取ip
config interface 'wan'
option ifname 'eth0'
option proto 'dhcp'
option type 'bridge'
config interface 'lan'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option ifname 'eth1'
如果使用的是 ImmortalWrt,需要手动添加 eth1 设备(网络→接口→设备→添加设备配置…),只需要设置如下红框选项:
编辑 /etc/config/wireless
config wifi-device 'radio0'
option type 'mac80211' # 自动生成
option path 'pci0000:00/0000:00:1c.6/0000:04:00.0' # 自动生成
option hwmode '11g' # 2.4GHz 频段,5GHz 使用 '11a'
option country 'US'
option legacy_rates '0'
option band '2g' # 2g 是 2.4GHz,5g 是 5GHz
option channel '11'
option mu_beamformer '0' # 1是开启MU-MIMO 波束成形功能,禁用增强老设备的兼容性
config wifi-iface 'default_radio0'
option device 'radio0'
option mode 'ap'
option ssid 'OKwrt' # wifi 名称
option encryption 'psk2'
option key 'password' # 密码
option network 'lan'
可以把 lan 换成 wan,即可关闭nat,那么Openwrt就会变成一个高级的信号增强器
重启网络
service network restart
# 或
/etc/init.d/network restart
查看设备是否支持 AP
iw list | less
是支持 AP 的
iw dev # 查看设备当前状态
iw dev wlan0 set type __ap # 设置为ap模式
ip link set dev wlan0 down # 如果上一条指令繁忙,就输入这一条
再重启网络
/etc/config/wireless
—— 删除这个文件,命令 wifi config
即可wifi reload
暂时关闭防火墙
/etc/init.d/firewall disable
/etc/init.d/firewall stop
# 或使用 service firewall ...
首先配置端口转发
然后配置允许转发
往下拉会看到一个“新建转发规则”,添加7890端口即可
最后设置Clash局域网访问密码,这里拉到最下面就有密码设置,设置好了点击“保存设置”——“应用设置”
访问代理就使用
http://user:password@ip:port
方法 1:
修改下面的ip,并在有浏览器的电脑上访问:
http://validate_ip/srun_portal_pc?ac_id=1&theme=basic2&wlanacname=&wlanuserip=<your_ip>
验证登录即可
方法 2:
添加“无感知认证”,即添加MAC地址,ip a
查看
2024-08-28更新
可以使用 Celluar-Z 查看周围路由器所使用的信道,如果信道占用过多,会对带宽产生影响。
输入 iw list
时,为什么会显示
* 5280 MHz [56] (22.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (22.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (22.0 dBm) (no IR, radar detection)
no IR, radar detection:这是根据 国家标准
来定的,使用 iw reg set CN
可以设置当前所使用标准。
参考: