美文网首页
旧笔记本复活指南

旧笔记本复活指南

作者: 小艾咪 | 来源:发表于2024-05-09 20:22 被阅读0次

成为一台合格的路由器

以下所有内容基础环境, 笔记本操作系统:ubuntu22.04 desktop,主路由:tplink,局域网路由:hauwei ax3pro
网络拓扑结构

topology.png

局域网内所有设备连接在一台华为的 AX3Pro(3000M) 上,AX3Pro wan口连接到笔记本有线网口通过笔记本DHCP服务获取wan口ip,笔记本开启IP转发/使用tproxy接管流量并通过无线连接主路由

关于笔记本与主路由的连接方式为什么采用无线,主要是布线问题。另外对延迟没有太高要求故采用无线连接

dhcp server (isc-dhcp-server)

上文说到局域网路wan口ip需要由笔记本分配,所以需要在笔记本搭建dhcp-server,本次采用 isc-dhcp-server

安装

sudo apt install isc-dhcp-server

配置
首先指定绑定的网口,编辑配置文件/etc/default/isc-dhcp-server

INTERFACESv4="eno1"

eno1修改为你自己的网卡名称

为网卡配置静态ip
因为 AX3Pro 是wan,lan自适应口,直连后极有可能有线网卡获取到 AX3Pro 分配下来的IP(前提是开启dhcp,当前发行版默认是开启的)此时会导致isc-dhcp-server 在此网卡上监听失败

Ubuntu 22.04 使用 netplan 管理网络,编辑配置文件/etc/netplan/00-installer-config.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: false
      addresses: [192.168.10.1/24]

192.168.10.1/24 即你想要的IP,不需要设置网关,因为改网卡是作为我们的流量入口

修改完成后 sudo netplan apply 应用刚才的修改
配置 dhcp server
编辑配置文件/etc/dhcp/dhcpd.conf在文件末尾添加

subnet 192.168.10.0 netmask 255.255.255.0 {
 range 192.168.10.100 192.168.10.200;
 option routers 192.168.10.1;
 option domain-name-servers 192.168.10.1, 192.168.10.1;
}

range 192.168.10.100 192.168.10.200; 代表分配的范围在 192.168.10.100 - 192.168.10.200,因为是自己使用,100-200 完全够用了
option routers 192.168.10.1; 为网关地址,是被分配IP设备的默认网关,所以填写,dhcp监听的网卡地址。
option domain-name-servers 192.168.10.1, 192.168.10.1; 为dns服务器地址,默认填网关地址由网关处理

配置完成后重启 dhcp server sudo systemctl restart isc-dhcp-server

此时路由器wan口应该能正正常获取IP,但还无法上网。

路由器wan口ip配置

若不使用dhcp获取路由器wan口ip,在路由器后台将wan口ip配置为与笔记本有线网卡同网段IP即可。但此方案每次在笔记本重启后无法wan口无法向上通信推测为路由器本身机制,原理不详,有了解的大佬欢迎指教

配置IP转发

上文成功配置了 dhcp server 此时路由器已经能够成功获取 wan 口 ip。因为流量到达笔记本网卡后就不知道后续该如何路由了,所以我们需要手动配置指定有线网卡的流量由无线网卡流出。因此必须开启linux路由转发功能,默认linux是禁用的。

永久开启
因为想让笔记本承担路由器的功能这里我们不讨论如何临时开启,直接永久开启路由转发,编辑配置文件/etc/sysctl.confnet.ipv4.ip_forward 设置为 1

net.ipv4.ip_forward = 1

执行 sudo sysctl -p 生效,之后每次重启后据默认开启路由转发。

iptables 配置

刚刚配置了IP转发只是告诉系统允许流量从一个网卡转发到另一个网卡,接下来使用 iptables 配置流量如何转发。

sudo iptables -t nat -A POSTROUTING -o wlsp4 -j MASQUERADE
sudo iptables -A FORWARD -i eno1 -o wlsp4 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eno1 -o wlsp4 -j ACCEPT

具体来说
第一条命令告诉系统进行NAT转换,从而可以使源地址修改为无线网卡的IP再发出流量
第二条命令使用了 state 模块对连接状态进行判断(iptables是无状态防火墙)对已经建立的连接流量进行转发
第三条命令用于指定除了已建立连接的其他流量的转发

详情可参考 iptables 使用手册,这里推荐博文()[https://www.zsythink.net/archives/1199]

tproxy

实际应用中并未使用 ip 转发配置而是通过tproxy 接管了局域网所有流量,主要对 PREROUTING 链动手,接管了流量后能做的事就更多了,比如屏蔽广告以及𓂻𐏾𑀣𖠗𒊩𓊅𑁒𑁫𓄪𖡣𐑎𓇰𒑵𔜋𓂺𐮱𓁃𓂁𑀾𑁋

至此作为一台路由器它已经可以及格了。

一个奇怪的问题

在路由搭建过程中遇到一个奇怪的问题,局域网路由下设备(AX3Pro见文章开始的拓扑)竟然能ping通笔记本的无线网卡IP,开始以为是路由问题,查看所有路由表没有头绪,随后通过抓包可以发现流量并没有真正发送到无线网卡而是到有线网卡就直接回应了,所以可以猜测为操作系统作祟。

经过google后了解到该行为受一个arp_ignore内核参数影响,默认为0,表示不管IP是否在此网卡上都会回应。

SMB Server

关于文件系统

linux支持挂载ntfs文件系统,但因驱动问题性能有损失。所以可根据需求格式化为ext4
使用 sudo fdisk -l 查看所有硬盘信息,找到需要当作网络存储的硬盘,假设为/dev/sda1
使用 mkfs.ext4 /dev/sda1 格式化硬盘。注意格式化硬盘会清除所有硬盘内容,请谨慎操作

硬盘挂载

如果你使用移动硬盘你可能需要此内容
编辑/etc/fstab文件添加一条挂载项

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  /samba/data  ext4  defaults  0  0
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /samba/data ext4 defaults 0 0
设备UUID 挂载路径 文件系统类型 挂载选项 备份标识 检查文件系统完整性标识

一般后三项 defaults 0 0 即可

设备UUID可使用blkid获得,同时也可使用设备路径例如

/dev/sda1  /samba/data  ext4  defaults  0  0

但推荐使用UUID避免硬盘重新插拔产生影响,尤其时移动硬盘

安装samba

sudo apt install samba

编辑配置文件/etc/samba/smb.conf,在配置文件末尾添加

[wxm]
    path = /samba/data
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = wxm
参数 作用
path 需要共享的目录
browseable 共享是否能够被发现,例如windows点击网络是否能够扫描到你的共享设置为yes即能够被扫描若为no则只能通过手动添加的方式添加改共享
read only 共享文件是否为只读
force create mode 新建文件的权限,这里使用Linux ACL权限配置方式
force directory mode 新建目录权限
valid users 能够登录此共享的用户

重启服务:sudo systemctl restart smbd

用户配置

samba使用linux用户进行权限控制,所以创建samba用户前需先创建一个linux用户。

sudo useradd -M -s /usr/sbin/nologin wxm

因为我们并不需要登录所以使用 -s 将 shell 指定为 /usr/sbin/nologin即禁止用户登录,这里只是不能登录linux系统不必担心无法登录samba,同时我们也不需要家目录使用 -M 参数指定不为改用户创建家目录。当然这两项都是可选的实际根据需求来。

为samba用户配置密码

sudo smbpasswd -a wxm

根据提示两次输入密码即可创建samba用户
有时可能需要使用 sudo smbpasswd -e wxm 来启用账号

ACL权限配置

到这里应该可以登录samba了,但可能无法看到文件。上文中先将硬盘挂载到了/samba/data又通过配置文件指定共享此目录,但此时新建用户可能并没有此目录的权限。由于samba依赖linux acl做权限控制,所以可以使用任意方式使新建用户wxm拥有/samba/data读写权限即可(读写仅作示例,可以是任意权限),因为只有自己使用,直接将文件属主改为新建用户(wxm)

sudo chown -R wxm /samba/data/

结语

至此算是将旧设备重新利用了起来,另外本文操作均为后期记录,相比配置时可能会有遗漏欢迎指出。


最后:花开花败总归尘,华门

相关文章

  • 节后复活指南

    过年长假回家和亲友同学聚会、游戏畅谈、尽情放松,想必心情不错吧? 动不动通宵玩乐,早晨睡到自然醒,日子过的好不畅快...

  • 旧笔记本

    偶然翻出一本笔记本,是挺久之前的了。翻开里面是一些摘抄的语句,有名人名言,古诗词,成语解释等等。想了一下,应该是高...

  • 求教大神,关于mysql数据库运行

    哪个大神?能帮帮我,万分感谢 执行同样的操作 旧笔记本执行,速度如下 0.2s一条 新笔记本3-4s一条 旧笔记本...

  • 旧色笔记本

    “吾昔有所感,口未能言。今见得书,得我心矣。” 当我翻开这本快要被遗忘在书架的角落,封面已有些退色的笔记本,扉页一...

  • 旧的笔记本

    封面破旧不堪 丢弃在桌子的脚边 落了满身的灰尘 还有几根蛛丝 无力缠绕着 一个阳光四射的早晨 照亮了那个角落 我把...

  • 移情

    其实旧的笔记本电脑也没有那么旧,至少在外形上还非常漂亮。 对于手头总是很拮据的我来说,笔记本电脑已经算是人生之中的...

  • 2020-03-03IBM THINKPAD小红帽指点杆使用攻略

    简单的更一个IBM笔记本收藏指南的番外 IBM ThinkPad 古董电脑捡垃圾指南制作中 IBM小红点指点杆使用...

  • 大一新生入学电脑购买指南

    大一新生入学电脑购买指南 前言 首先,该买啥电脑?台式机还是笔记本?Mac还是Win? 其次,该买啥笔记本?第一,...

  • 外公的旧笔记本

    外公每天总是乐呵呵的,令人最印象深刻的是他的口头禅:

  • 区块链100讲:风格指南(style guide)说明----s

    1 概 述 本指南旨在约定solidity代码的编码规范。本指南是不断变化演进的,旧的、过时的编码规范会被淘汰,...

网友评论

      本文标题:旧笔记本复活指南

      本文链接:https://www.haomeiwen.com/subject/blesfjtx.html