不用 OpenWRT 搭建旁路由,难道就没办法方便的上网了吗?当然不是,我们可以用 Debian 10 Linux 系统搭建一个旁路由,准确的说,这个叫透明网关或者透明代理。其实我很早就看到别人的教程了,迟迟没有动手的原因是 macOS 下我用 ClashX ,Windows 下用 v2rayN ,iOS 下用 Quantamult X 就可以方便的上网。
唯独在 Android 下,我的网络环境 Shadowsocks 几乎不可用了,被干扰的很厉害,又苦于找不到好用的 v2ray 客户端 。前几天看到有人分享 Clash for Android 横空出世了,原文提到的下载方式包括 Telegram 群组和 Google Play ,Telegram 我不用,又访问不到 Google Play 这才打算折腾一个透明代理。现在才知道,这个项目原来叫 ClashA ,早就可以方便的下载所有开发版。
前几天用 unRAID 搭建了个简单的家庭服务器,unRAID 支持虚拟机,支持 CPU 和网卡直通,可以让虚拟机获得更好的性能,安装 Debian 10 的过程我这里就不说了。
给 Debian 10 设置静态 IP 地址
因为我们用 Debian 10 搭建网关设备,所以不能用 DHCP 分配 IP 地址,最好设置一个静态 IP
sudo nano /etc/network/interfaces
接下来参考我的配置,为 enp1so 这个网卡设置一个静态 IP 地址:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug enp1s0
iface enp1s0 inet static
address 192.168.2.10
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 192.168.2.1 223.5.5.5 223.6.6.6
# This is an autoconfigured IPv6 interface
iface enp1s0 inet6 auto
[Unit]
Description=A rule based proxy in Go for %i.
After=network.target
[Service]
Type=simple
User=%i
Restart=on-abort
ExecStart=/usr/local/bin/clash
[Install]
WantedBy=multi-user.target
重新加载 systemd 模块
sudo systemctl daemon-reload
设置 Clash 开机自启动
sudo systemctl enable clash@user
user 是你当前 Debian 系统的用户名,比如 sudo systemctl enable clash@pengjiayou
unRAID 官方并不提供硬盘安装的方式,只能安装在 U 盘上,为此专门买了个 SanDisk 闪迪CZ33酷豆小 U 盘,插在 CI329 后面平时看不到也碰不到,省心。
unRAID 可以通过 2 种方式安装到 U 盘,一是下载官方提供的 USB Creator 傻瓜式操作,二是直接下载安装包(目前最新的是 6.8 版)解压后复制到 U 盘(需要格式化成 FAT32 格式),然后以 Windows 10 管理员身份运行 make_bootable.bat 这个文件即可。
我首先下载了 USB Creator 没想到下载速度太慢了,所以选择了第二种安装方式。后来才发现,虽然 USB Creator 是支持打开本地安装包制作启动 U 盘的,但也是不能指定 Server Name 和静态 IP 地址的,只能决定是否启用 UEFI 引导,这个和运行 make_bootable.bat 是一样的。
unRAID 是一个收费的 NAS 系统,基于你的 NAS 使用的硬盘数量来收费,U 盘也算一个硬盘,看了司波图的视频之后,我决定直接付费,$59 的方案可以用 4 个硬盘,对我来说足够了。