YOU NEED:

  • 一台oect刷好debian13(或者工控机那种带两个网口的更好,像我的因为只有一个网口,一个usb3.0所以只能用一个usb转网口)

  • 一个路由器

  • 一个校园网帐号

oect联网

我这里因为不想那么麻烦,加上我的oect性能还行,有4g内存,cpu也还行(rk3566),就直接下载了xfce4

sudo apt update
sudo apt install xfce4

然后下载了一个火狐浏览器,直接通过浏览器登录校园网,后续我发现了一个github项目:

https://github.com/Barometer-2002/CSU-Student-Login

能够用python3发送请求联网,因为学校的校园网好像不会主动踢人,所以只要不是重启就不用登录,加上我的oect是无头的,甚至他都没有HDMI,贸然使用systemctl实现开机自动连接校园网很可能导致我的oect连不上任何网,就会导致只能重新刷机了,很麻烦,所以大家有预算还是买一个带HDMI的工控机,虽然你正常使用还是nomachine或者vnc方便,但关键时候HDMI能保证你可以在系统不崩溃的情况下直接联网,还是很有安全感的

配置网络

路由器端

先链接你路由器的wifi,登录上路由器控制面板

登录

找到你的网络设置

上网方式设置成AP模式

这边就设置完了

oect端

ssh连接之后先看看下网口

ccy@armbian:~$ ifconfig
eth0: flags=××××<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet ××××××  netmask 255.255.0.0  broadcast ××××
        inet6 ××××××××  prefixlen 128  scopeid 0x0<global>
        inet6 ××××××××  prefixlen 64  scopeid 0x20<link>
        ether ××××××××  txqueuelen 1000  (Ethernet)
        RX packets 853  bytes 236765 (231.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1550  bytes 354274 (345.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 47

eth1: flags=××××××××<UP,BROADCAST,MULTICAST>  mtu ××××××××
        ether ××××××××××××××××  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

我的eth0是连接校园网 eth1连路由器

先用这个命令给eth1绑定ip

sudo ip link set eth1 up
sudo ip addr add 192.168.20.1/24 dev eth1
# 开 DHCP + DNS(dnsmasq)

如果之前没装:

sudo apt update && sudo apt install -y dnsmasq

写个最小配置:

sudo tee /etc/dnsmasq.d/eth1-lan.conf <<EOF
interface=eth1
bind-interfaces
dhcp-range=192.168.20.50,192.168.20.250,12h
EOF
sudo systemctl restart dnsmasq

3 开 NAT(让下游能上网)

sudo iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -o eth0 -j MASQUERADE

保存规则(下次重启不丢):

sudo apt install -y iptables-persistent
sudo netfilter-persistent save

这样就可以了,本质上是让oect做软路由,路由器变成“无线交换机”,不再负责拨号、分配IP等功能,只负责转发网络信号。

这个只是短暂的,如果你拔插下路由器就会重启这时候我们可以设置一下,逻辑是这样的------当检测到eth1有up和down时候启动

sudo tee /etc/udev/rules.d/99-eth1-carrier.rules <<'EOF'
# 链路接通
ACTION=="change", SUBSYSTEM=="net", KERNEL=="eth1", ENV{CARRIER}=="1", \
RUN+="/bin/sh -c '/bin/ip addr add 192.168.20.1/24 dev eth1 || true; \
                  /bin/systemctl restart dnsmasq.service'"

# 链路断开(可选:清 IP 防冲突)
ACTION=="change", SUBSYSTEM=="net", KERNEL=="eth1", ENV{CARRIER}=="0", \
RUN+="/bin/sh -c '/bin/ip addr flush dev eth1'"
EOF

重载

sudo udevadm control --reload-rules

至此就好好享受校园网吧

最后给个测速图:


还是很快的,甚至堪比直接手机网络