旁路由折腾熟悉之后,我又开始觊觎软路由的方便,于是不久前借着双十一,下单了早有耳闻的NanoPi R2S,177大洋,有散热片有风扇有外壳,还算划算。奈何我跟OpenWRT八字不合,上次树莓派是半天LUCI进不去,这次是FriendWRT官方固件砍掉了tproxy模式。在重新编译固件依然无法成功富强之后。我又掏出了祖传技能,直接用了FriendlyCore(基于Ubuntu)秒杀了富强网关的需求。这个方式也非常通用,不只是R2S,也不仅限于Ubuntu,理论上可以将任何一个双网口的运行Linux并且使用Systemd的机器变成软路由。
刷好FriendlyCore之后直接插卡开机,然后就能在路由器管理页面看到该设备的ip地址。我们ssh上去就可以进行配置了,默认用户名和密码都是pi。
配置文件参考:
systemd-network
对应这台机器就是直接在终端执行
sudo vim /etc/systemd/network/eth0.network
然后把下面的内容复制进去。
[Match]
Name=eth0
[Network]
DHCP=ipv4
一个软路由本质上就是开启了DHCP服务,DNS服务,网络层包转发的多网口计算机。因此在常规的配置中,通常会配置dnsmasq来做DHCP服务器,并同时担任DNS服务器。然后通过sysctl打开ip包转发,然后用iptables完成包的转发。
但是现在,systemd都包含了这些功能,不需到别的地方到处配置,也不需要再多装什么包,只需把systemd配置好就能完成这些。
我们依然是进入终端,执行
sudo vim /etc/systemd/network/eth1.network
然后把下面的内容复制粘贴进去后,保存并退出。
[Match]
Name=eth1
[Network]
Address=192.168.25.1/24
DHCPServer=true
IPMasquerade=true
[DHCPServer]
PoolOffset=100
PoolSize=50
EmitDNS=yes
DNS=223.5.5.5
/etc/syst
想拿树莓派搭热点试试看,玩了一下OpenWrt,发现一旦进不了luci就会很麻烦。想起几个月前就有新闻的Raspberry Pi OS的64位,去看看怎么样了,发现还没发布。看到Ubuntu有arm 64的image,顺手体验一下。
下好的镜像格式是img.xz,解压后用Win32DiskImager烧录。也可以直接不解压,使用balena-etcher烧录。烧录完成后插电就能开机,第一次开机会自动运行一些东西,当屏幕出现Ubuntu Login即可登录。默认用户名和密码都是ubuntu。如果出现登录失败,是正常现象,等一两分钟就好了。
默认的Ubuntu镜像源在海外,速度太慢了,这里可以换成清华源
sudo sed -i 's/http:\/\/ports.ubuntu.com\/ubuntu-ports/https:\/\/mirrors.tuna.tsinghua.edu.cn\/ubuntu-ports/g' /etc/apt/sources.list
修改配置文件/etc/apt/apt.conf.d/10periodic,将所有值改为0(实际上也就Update-Package-Lists是1)
或者使用命令替换:
sudo sed -i 's/\"1\"/\"0\"/g' /etc/apt/apt.conf.d/10periodic
sudo timedatectl set-timezone Asia/Shanghai
首先,安装所需要的包sudo apt install hostapd dnsmasq
,然后将下面的文件分别更改为后面列出的内容。下面命令无特殊说明都在root权限下执行。
(1) vim /etc/hostpapd/hostapd.conf
把下面的内容复制粘贴进去,注意更改wifi名称和密码
interfa