Hacker News 中文摘要

RSS订阅

FreeBSD家用NAS系列3:WireGuard VPN、路由与Linux节点 -- FreeBSD Home NAS, part 3: WireGuard VPN, routing, and Linux peers

文章摘要

这篇文章介绍了在FreeBSD家庭NAS上配置WireGuard VPN的步骤,包括与Linux设备的对等连接设置以及网络路由的配置方法,以实现安全的远程访问和网络互通。

文章总结

FreeBSD家庭NAS搭建指南(三):WireGuard VPN、Linux节点与路由配置

本文是FreeBSD家庭NAS系列教程的第三部分,重点介绍如何通过WireGuard VPN连接家庭与办公室网络,并实现跨局域网访问。


WireGuard与OpenVPN对比

作者在VPN方案选择上对比了OpenVPN和WireGuard: - WireGuard优势:代码精简(Linux内核仅4000行)、内核级运行、加密内置、P2P架构 - OpenVPN特点:用户空间运行、传统C/S架构、依赖SSL/TLS栈 最终选择WireGuard,因其更适合家庭场景的高效轻量需求。


网络架构设计

  • 办公室网络:192.168.0.0/24,含FreeBSD主机(NAS)和Arch Linux笔记本
  • 家庭网络:192.168.100.0/24,仅Arch Linux笔记本
  • 目标:通过WireGuard实现两地设备互访,FreeBSD作为VPN服务器,TP-Link路由器配置端口转发。

FreeBSD上的WireGuard部署

  1. 安装与加载模块bash pkg install wireguard-tools kldload if_wg
  2. 网络配置
    • 启用IP转发:sysctl net.inet.ip.forwarding=1
    • 更新PF防火墙规则,放行VPN流量(UDP 51820)及跨子网通信。
  3. 密钥生成bash wg genkey | tee server.key | wg pubkey > server.pub
  4. 基础配置/usr/local/etc/wireguard/wg0.conf): ini [Interface] Address = 10.8.0.1/24 ListenPort = 51820 PrivateKey = <服务器私钥>

路由器与Linux客户端配置

  • TP-Link路由器:设置动态DNS(No-IP)和UDP端口转发(51830→192.168.0.2:51820)。
  • Arch Linux客户端: ```ini [Interface] PrivateKey = <客户端私钥> Address = 10.8.0.3/24

    [Peer] PublicKey = <服务器公钥> Endpoint = DDNS域名:51830 AllowedIPs = 10.8.0.1/32, 192.168.0.0/24 ```


跨局域网路由优化

  • 问题:家庭与办公室设备无法直接互通。
  • 解决方案
    1. 在办公室笔记本添加静态路由: bash ip route add 192.168.100.0/24 via 192.168.0.2
    2. 更新PF规则,放行跨子网SSH和ICMP流量。

最终效果

  • 通过VPN实现两地设备(如家庭笔记本→办公室NAS)的安全访问。
  • 完整的PF规则和路由表确保流量可控,日志记录详细。

附注:作者感叹传统网络配置的乐趣,对比云服务VPC的抽象化设计。


系列导航
- 上一篇:PF防火墙入门
- 下一篇:本地DNS配置

(全文完)

评论总结

总结评论内容:

  1. 主要观点:介绍获取自定义WireGuard密钥的工具
    • 论据:提供了具体工具链接和使用示例
    • 关键引用:
      • "You can get yourself a vanity key using https://github.com/AlexanderYastrebov/wireguard-vanity-key tool"
      • "wireguard-vanity-key -prefix=NAS/"

(注:由于只有一条评论,无法展示不同观点的平衡性。该评论未显示评分信息)