0%

Arch Linux NAS+软路由 折腾笔记

参考资料

Arch Wiki - Installation guide

DIY 你自己的 Arch Linux 软路由

将你的Archlinux打造成路由器

首先在官网下载安装盘ISO镜像,用Rufus将ISO文件烧录至U盘中。

插上安装对象电脑,开机,以UEFI方式启动U盘。

插上Tenda U8后发现并没有驱动适配,由于找不到驱动而卡在开机。心想难道还要拉根网线进房间?灵机一动翻出了一个以前用的旧的LB-LINK无线网卡,能成功适配驱动且开机。

根据官方Wiki,使用无线网络管理工具iwctl

1
iwctl

列出所有网卡:

1
device list

返回无线网卡列表,找到当前无线网络设备名,比如wlan0,然后:

1
2
station wlan0 scan
station wlan0 get-networks

就能看到一张周围Wi-Fi接入点的列表了,然后连接:

1
station wlan0 connect 相应SSID

Passphrash:后输入密码以连接。

按Ctrl+D退出iwctl。

测试网络:

1
ping www.baidu.com

打开NTP网络校时:

1
timedatectl set-ntp true

使用工具cfdisk,创建一个数据分区,一个ESP:

1
cfdisk

选择空闲空间,点击New,输入分区大小后回车,点击Write,输入yes,回车。

ESP给100M,剩下给数据分区。

检查:

1
lsblk

将数据分区格式化为ext4文件系统,ESP格式化为FAT32文件系统:

1
2
mkfs.ext4 /dev/sda1
mkfs.fat -F32 /dev/sda2

挂载:

1
mount /dev/sda1 /mnt

配置pacman镜像:

1
nano /etc/pacman.d/mirrorlist

将China下的某条地址用Ctrl+K,Ctrl+U移到最上面。Ctrl+X保存退出。

开始下载安装系统:

1
pacstrap /mnt base linux linux-firmware

建立fstab文件:

1
genfstab -U /mnt >> /mnt/etc/fstab

Chroot:

1
arch-chroot /mnt

设置时区:

1
timedatectl set-timezone Asia/Shanghai

将时间写入主板硬件时钟:

1
hwclock --systohc

设置hostname:

1
2
nano /etc/hostname
nano /etc/hosts

设置root密码:

1
passwd

设置语言/字符集:

1
2
3
nano /etc/locale/gen
locale-gen
nano /etc/locale.conf

接下来开始安装Grub:

1
pacman -S grub

挂载ESP:

1
2
3
mkdir /esp
mount /dev/sda2 /esp
mkdir /esp/EFI

安装grub:

1
2
3
pacman -S frub efibootmgr
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

重启:

1
reboot

接下来使用工具netctl配置以dhcp的方式连接外部以太网:

1
cp /etc/netctl/examples/ethernet-dhcp /etc/netctl/

列出所有网卡:

1
ip link

找到连接外网要用的网卡,比如我的板载百兆网口的名字是enp3s0 编辑配置文件:

1
nano /etc/netctl/ethernet-dhcp

Interface=后面改成自己网卡的名字:

1
Interface=enp3s0

保存退出,然后:

1
netctl start ethernet-dhcp

如果没有报错,那大概率现在就能上网了,测试一下:

1
ping www.baidu.com

接下来的步骤是配置sudo和安装yay,和WSL配置的步骤重合,详见这篇笔记,不再赘述。

2月27日更新:

接下来首先解决当务之急的NAS:

参考:

Archwiki-Samba

A documented example from the Samba git repository

Samba-HOWTO-Collection.pdf

先尝试一下最简单的,编辑/etc/samba/amb.conf为:

1
2
3
4
5
6
7
[global]
map to guest = Bad User
[public]
path = /
public = yes
writable = yes
only guest = yes

使用ifconfig查看本机ip(没有的话先安装):

1
ifconfig

在一台Windows电脑的资源管理器地址栏里输入\\加上上面查到的ip地址,即访问搭好的SMB服务器。

测试拷贝传输文件:

2021-03-03 10-45-16

待更。