安装
安装Debian的详细过程我就不提了,网上的教程很多,我只提一部分内容。如果对其他安装内容真有需要,可以在本文下方评论区提出。
主机名和域名
在配置主机名和域名时,可以考虑设置为你的DDNS域名的三级域名下,详见下面两图,后续就可以使用gate.evine.com
来访问旁路由。
安装哪些内容
仅安装核心系统和SSH服务端,不要安装其他东西,连“标准系统工具”都不需要选择。
首次安装后
首次安装完成后进入系统,系统进程只有这些(请手动安装htop
:apt install htop
),非常清爽。下图是虚拟机安装的,并且创建时启用了qemu-guest-agent
,所以额外有个qemu-ga
进程,物理机安装甚至连这个进程都没有。在我们还没有配置其他服务时,内存也只占用了120M左右,也并没有比OpenWRT多多少。
配置
SSHD
如果你想以root用户进行ssh登陆,可以将/etc/ssh/sshd_config
中的#PermitRootLogin prohibit-password
修改为PermitRootLogin yes
,如果要修改ssh端口,可以将#Port 22
修改为Port 2222
(2222端口仅为示例)。最后重启一下sshd服务systemctl restart sshd.service
。
你也可以关闭密码登陆仅允许私钥登陆,将#PasswordAuthentication yes
修改为PasswordAuthentication no
即可,不过在关闭前请先以700权限创建好$HOME/.ssh
文件夹,以600权限上传公钥$HOME/.ssh/authorized_keys
,并在其他地方保存好私钥。
配置网络
输入 nano /etc/network/interfaces
,编辑为以下内容,编辑好后以 Ctrl+X
退出。说明:
-
其中的 ens18
是我的网卡名,可以输入 ip a
这个命令查看到。
-
IPv4地址进行静态配置 inet static
,设置自身的IP和掩码为 10.0.0.2/24
,网关为 10.0.0.1
,后续我还将以adguardhome和mosdns在旁路由中自建DNS服务,所以设置默认DNS服务器为 127.0.0.1
。不过下面的示例是最终的状态,我们在配置旁路由过程中,需要科学上网环境,所以在完全配置好旁路由以前,网关 gateway
和默认DNS服务器 dns-nameservers
建议先暂时设置为局域网中另一台可以实现科学上网的OpenWRT,在完全配置好后再改成下面这样。
-
IPv6地址采用DHCPv6形式,配置为 inet6 dhcp
,这仅仅表示旁路由自身可以从主路由爱快处获取IPv6地址,并不代表它将作为IPv6网关。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
# 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 ens18
auto ens18
iface ens18 inet static
address 10.0.0.2/24
network 10.0.0.0
broadcast 10.0.0.255
gateway 10.0.0.1
dns-nameservers 127.0.0.1
iface ens18 inet6 dhcp
|
保存好该文件后,输入以下命令重启网络服务:
1
|
systemctl restart networking.service
|
然后你就会发现系统启动了DHCPv6客户端以获取IPv6地址。不过虽然配置了静态IPv4地址,但需要在重启系统以后,dhclient -4
这个用来获取DHCPv4地址的进程才会消失。
查看IP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
ip a
## 输出可见ip已经是所设置的了
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 0e:■■:■■:■■:■■:■■ brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 10.0.0.2/24 brd 10.0.0.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 240e:■■■:■■■■:■■■■::dfc/128 scope global dynamic
valid_lft 5242sec preferred_lft 5242sec
inet6 240e:■■■:■■■■:■■■■:■■■:■■■■:■■■■:ff2f/64 scope global dynamic mngtmpaddr
valid_lft 215432sec preferred_lft 129032sec
inet6 fe80::■■■:■■■■:■■■■:ff2f/64 scope link
valid_lft forever preferred_lft forever
|
配置网关功能
由于我仅将旁路由作为IPv4的网关,IPv6网关仍然为主路由爱快,所以只需要配置IPv4的转发。
1
2
|
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
|
安装一些后续必要的软件
后续我们会用到一些软件包,在这里可以先安装好。如果你暂时不想增加系统体积,也可以根据下方的注释选择性的安装,或者在后续配置旁路由的过程中根据需要再进行安装。
你可以先将源更改为国内源后再安装下面的包。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
apt update
## 后续会用到的
apt install -y --no-install-recommends \
arp-scan `# arp扫描用的,后续监测外来陌生设备会用到` \
bind9-dnsutils `# dns工具` \
binutils `# 二进制文件处理工具,在本系统最后的脚本汇总中会用到` \
bzip2 `# 解压bz2` \
curl `# 下载工具` \
git `# 从github下载东西` \
htop `# 监测进程` \
jq `# 后续在各种脚本中、命令中解析json会用到` \
lsof `# 后续监测打开的TCP/UDP端口会用到` \
nginx `# 后续配置文件服务器会用到` \
libnginx-mod-http-headers-more-filter `# nginx的一个模块,后续如果用不到可以不安装` \
openssh-server `# 安装Debian时应该已经安装好了` \
snmpd `# 解决爱快查到不到以旁路由为网关的设备信息的问题` \
sudo `# 如果不是root用户登陆的话,需要这个` \
unzip `# 解压zip` \
wget `# 下载工具` \
xz-utils `# 解压xz` \
yt-dlp `# youtube下载工具,unblockneteasemusic的依赖项`
## 一些好用的工具,按需安装
apt install -y --no-install-recommends \
duf `# 美观的磁盘使用情况查看工具` \
etherwake `# 网络唤醒用的` \
ethtool `# 网卡工具` \
fzf `# 配合zsh插件fzf和zsh-interactive-cd` \
iftop `# 监测网络流量` \
iperf3 `# 测速工具` \
lsd `# 比ls美观` \
gdu `# 美观的查看文件夹体积大小的工具` \
qemu-guest-agent `# qemu宿主机管理虚拟机的工具` \
rsync `# 同步工具` \
socat `# 自动签发ssl证书的工具acme.sh的依赖` \
tmux `# 虚拟屏幕,运行长任务的好帮手` \
zoxide `# 配合zsh的插件zoxide` \
zsh `# 一个好用的shell`
|
总结
截止目前,我们安装好了Debian,并配置了它的基础网络服务,开启了IPv4流量转发,这个时候,它已经可以做一个旁路由了。不过,如果仅仅是这样,我们要这旁路由有何用!!!所以,我将在接下来的 软路由系列文章 继续设置adguardhome、mosdns、clash、nftables、subconverter、unblockneteasemusic、snmpd、cron、nginx等等,让它成为一台合格的旁路由。
系列