硬核观察 #1246 OpenWrt 项目准备推出开放路由器
1 OpenWrt 项目准备推出开放路由器OpenWrt 计划与香蕉派合作开发开放路由器 OpenWrt One，售价将低于 100 美元。香蕉派负责制造、销售和售后，获利将部分捐赠给 OpenWrt。这台路由器属于开放硬件，其电路图也将会开源。（插图：DA/54c35b6c-b3ef-47e3-9572-e6f3b5645518）消息来源：OpenWrt老王点评：开源的软件加上开源的硬件，必须支持一下。2 Linux 设备正遭受前所未有的矿工蠕虫攻击一种前所未见的自我复制恶意软件正在全球范围内感染 Linux 设备，它使用特殊的隐藏方法安装加密矿工恶意软件。该蠕虫是 Mirai 僵尸网络恶意软件的变种。Mirai 于 2016 年首次出现，通过入侵易受攻击的设备发起了创纪录的分布式拒绝服务攻击，但这个最新变种安装了加密矿工软件，使攻击者可以利用受害者的计算资源、电力和带宽生成加密货币。另外，它的目标不是 telnet 弱密码，而是 SSH 弱密码。（插图：DA/af1212dd-be5f-4f07-a9f3-edc31e9d9c68）消息来源：Ars Technica老王点评：Linux 再安全也防不住弱密码啊。3 高通称引领科技需要 “在中国做大生意”高通公司 CEO 克里斯蒂安诺·阿蒙 Cristiano Amon 在 2024 年消费电子展上接受采访时，对高通公司在中国的业务充满信心。中国是高通公司收入最大的市场。他说：“如果你拥有领先的技术，你就会在中国有很大的业务。”根据半导体行业协会的数据，中国仍然是全球最大的半导体市场，其销售额占全球市场的三分之一。（插图：DA/7f2b3977-c4f3-41a9-b824-3fd7c41a56df）消息来源：Yahoo老王点评：要是只卖低端货，中国也不需要。回音Linux 内核的合并窗口 再次 受到 严冬风暴影响。
OpenWrt：一个开源的家用路由器固件替代品
OpenWrt 是一个基于 Linux 的开源操作系统，主要针对嵌入式网络设备。如果你在家里阅读这篇文章，你可能是用一个 LTE/5G/DSL/WIFI 路由器联网的。这种设备通常负责在你的本地设备（智能手机、PC、电视等）之间路由数据包，并通过内置的调制解调器提供对 WWW 的访问。你家里的路由器很可能有一个基于网页的界面，用于配置该设备。这种界面往往过于简单，因为它们是为普通用户制作的。如果你想要更多的配置选项，但又不想花钱买一个专业的设备，你应该看看其他的固件，如 OpenWrt。OpenWrt 的特点OpenWrt 是一个基于 Linux 的、针对嵌入式网络设备的开源操作系统。它主要用于替代各种家用路由器上的原始固件。OpenWrt 具备一个好的路由器应该具备的所有有用功能，如 DNS 服务器（dnsmasq），WiFi 接入点（AP）和客户端功能，用于调制解调器功能的 PPP 协议，而且，与标准固件不同，这一切都是可以完全配置的。LuCI 网页界面OpenWrt 可以通过命令行（SSH）或使用 GUI 配置界面（LuCI）进行远程配置。LuCI 是一个用 Lua 编写的轻量级、可扩展的网页 GUI，它可以精确地配置你的设备。除了配置，LuCI 还提供了很多额外的信息，如实时图表、系统日志和网络诊断。LuCI 有一些可选的扩展，以增加更多的配置选择。可写文件系统它的另一个亮点是可写文件系统。原有的固件通常是只读的，而 OpenWrt 配备了一个可写的文件系统，这要归功于一个巧妙的解决方案，它将 OverlayFS 与 SquashFS/JFFS2 文件系统相结合，允许安装软件包以增强功能。在 OpenWrt 文档 中可以找到更多关于文件系统架构的信息。扩展OpenWrt 有一个相关的软件包管理器，opkg，它允许安装额外的服务，比如 FTP 服务器、DLNA 媒体服务器、OpenVPN 服务器、用于实现文件共享的 Samba 服务器、控制电话的 Asterisk 等等。当然，有些扩展需要适当的底层硬件资源。动机你可能想知道为什么要冒着对你的设备造成不可修复的损害和失去保修的风险，而尝试更换路由器制造商的固件。如果你的设备以你想要的方式工作，那么你可能不应该。永远不要碰一个正在运行的系统！但是，如果你想增强功能，或者你的设备缺乏配置选项，那么你应该看看 OpenWrt 是否可以成为一种补救措施。在我的例子中，我想要一个旅行用的路由器，当我在露营地的时候，我可以把它放在一个合适的位置，以便让其它设备与这个本地 WiFi 接入点（AP）保持良好连接。该路由器将作为一个普通的客户端连接到互联网，并广播它的 WiFi 接入点让我的其它设备连接到它。这样我就可以配置我的所有设备与这个路由器的接入点连接，当我在其他地方时我只需要改变路由器的客户端连接。此外，在一些露营地，你只能得到一个单一设备的访问代码，我可以通过这种设置来加强。作为我的旅行路由器，我选择 TP-Link TL-WR902AC 的原因如下：很小两根 WiFi 天线5V 电源（USB）低功耗成本效益高（你以 30 美元左右的价格得到它）为了了解它的尺寸，这里是它在树莓派 4 旁边的样子：尽管这个路由器带来了我所需要的所有硬件功能，但我很快发现，默认的固件并不能让我按照我想要的方式配置它。该路由器主要是作为一个 WiFi 接入点，它可以复制现有的 WiFi 网络或通过板载以太网接口将自己连接到网络。默认的固件对于这些使用情况是非常有限的。（LCTT 译注：此型号国内没有销售，它的特点之一是可以通过插入 3G/4G USB 网卡连接到互联网，但由于它不在国内销售，所以没有支持哪种国内 3G/4G USB 网卡的说明，我 查下来 似乎华为的 E3372h-320 是可用的。有相关实践的同学可以分享一下经验。国内销售的其它类似型号只能通过以太网口或 WiFi 连接到互联网，这种情况下，如果只能通过 3G/4G 连接互联网，那需要另外买一个随身 WiFi /移动路由器。）幸运的是，该路由器能够运行 OpenWrt，所以我决定用它来替换原来的固件。安装当你的 LTE/5G/DSL/WiFi 路由器符合 最低要求 时，很有可能在它上面运行 OpenWrt。下一步，你要查看 硬件表，检查你的设备是否被列为兼容，以及你要选择哪个固件包。OpenWrt 的 TP-Link TL-WR902AC 的页面还包括安装说明，其中描述了如何刷入内部存储器。刷入固件的过程在不同的设备之间可能会有所不同，所以我就不详细介绍了。简而言之，我必须通过将设备连接到一个具有特定 IP 地址的网络接口上的 TFTP 服务器，重命名 OpenWrt 固件文件，然后按复位按钮启动设备。配置一旦刷入成功，你的设备现在应该用新的固件启动了。现在启动可能需要更长的时间，因为与默认固件相比，OpenWrt 具有更多的功能。为了开始配置，需要在你的 PC 和路由器之间建立一个直接的以太网连接，OpenWrt 在此充当了一个 DHCP 服务器，并将你的 PC 的以太网适配器配置为一个 DHCP 客户端。在 Fedora Linux 上，要激活你的网络适配器的 DHCP 客户端模式，首先你必须通过运行找出连接的 UUID：$ nmcli connection show NAME UUID TYPE DEVICE Wired Conn 1 7a96b...27a ethernet ens33 virbr0 360a0...673 bridge virbr0 testwifi 2e865...ee8 wifi -- virbr0 bd487...227 bridge -- Wired Conn 2 16b23...7ba ethernet -- 选择你要修改的连接的 UUID，然后运行：$ nmcli connection modify <UUID> ipv4.method auto 你可以在 Fedora 联网维基 中找到更多关于这些命令的信息。在你连接到路由器后，打开一个网页浏览器并导航到 http://openwrt/。现在你应该看到 LuCI 的登录管理器：使用 root 作为用户名，并将密码留空。配置 WiFi 和路由要配置你的 WiFi 天线，请点击 “ 网络 Network ” 菜单并选择 “ 无线 Wireless ”。在我的设备上，上面的天线 radio0 工作在 2.4GHz 模式，并连接到名为 MOBILE-INTERNET 的本地接入点。下面的天线 radio1 工作在 5GHz，有一个相关的接入点，SSID 为 OpenWrt_AV。通过点击 “ 编辑 Edit ” 按钮，你可以打开设备配置，以决定该设备属于 LAN 还是 WWAN 网络。在我的例子中，接入点 OpenWrt_AV 属于 LAN 网络，客户端连接 MOBILE-INTERNET 属于 WWAN 网络。配置的网络在 “ 接口 Interfaces ” 面板的 “ 网络 Network ” 下列出。为了获得我想要的功能，网络流量必须在 LAN 和 WWAN 网络之间进行路由。路由可以在 “ 网络 Network ” 面板的 “ 防火墙 Firewall ” 部分进行配置。我没有在这里做任何改动，因为在默认情况下，网络之间的流量是被路由的，而传入的数据包（从 WWAN 到 LAN）必须通过防火墙。因此，你需要知道的是一个接口是属于 LAN 还是 (W)WAN。这个概念使它相对容易配置，特别是对初学者来说。你可以在 OpenWrt 联网基础 指南中找到更多信息。专属门户公共 WiFi 接入点通常受到 专属门户 的保护，你必须输入一个访问代码或类似的代码。通常情况下，当你第一次连接到接入点并试图打开一个任意的网页时，这种门户就会出现。这种机制是由接入点的 DNS 服务器实现的。默认情况下，OpenWrt 激活了一个安全功能，可以防止连接的客户端受到 DNS 重新绑定攻击。OpenWrt 的重新绑定保护也阻止了专属门户网站被转发到客户端，所以你必须禁用重新绑定保护，以便你可以到达专属门户网站。这个选项在 “ 网络 Network ” 菜单的 “ DHCP 和 DNS DHCP and DNS ” 面板中。尝试 OpenWrt由于升级到 OpenWrt，我得到了一个基于商品硬件的灵活的旅行路由器。OpenWrt 使你的路由器具有完全的可配置性和可扩展性，而且由于其制作精良的网页 GUI，它也适合初学者使用。甚至有一些 精选路由器 在出厂时已经安装了 OpenWrt。你还可以用很多 可用的软件包 来增强你的路由器的功能。例如，我正在使用 vsftp FTP 服务器，在连接的 U 盘上托管一些电影和电视剧。看看该 项目主页，在那里你可以找到许多切换到 OpenWrt 的理由。图片来自： Stephan Avenwedde，CC BY-SA 4.0via: https://opensource.com/article/22/7/openwrt-open-source-firmware作者：Stephan Avenwedde 选题：lkxed 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
硬核观察 #752 量子计算机公司的主要收入来自于咨询
量子计算机公司的主要收入来自于咨询三家知名量子计算公司 IonQ、Rigetti 和 D-Wave 的市值达到了 30 亿美元，但今年的收入预计只有 3200 万美元，净亏损 1.5 亿美元。现实是没有一家量子计算公司赚钱，它们的收入来自于咨询而不是真正利用量子计算相对于经典计算机的优势。没有一家企业能建造出真正解决实际问题的量子计算机。现有的量子机器太容易出错而不具有实用性。消息来源：Solidot老王点评：就目前看起来，量子技术比 AI 的泡沫大多了。AI 经过了几次低谷才迎来如今的发展，量子计算，或许在十年内不会有本质的突破。NASA 计划在未来太空任务中使用 RISC-V 处理器作为 NASA 高性能太空计算项目的一部分，开发 RISC-V 架构处理器的 SiFive 公司将为未来的太空任务开发处理器。太空任务使用的处理器都需要强化抗辐射能力。SiFive 公司开发的 HPSC 处理器将包含 8 个 X280 RISC-V 矢量核心和另外 4 个 RISC-V 核心，其计算能力将百倍于现有的太空计算机。消息来源：Sifive老王点评：RISC-V 芯片用在越来越多的场景，我坚信 RISC-V 的处理器的未来，而不是 MIPS 及其衍生版之类的。OpenWrt 22.03.0 发布该版本经历了大约一年时间的开发。OpenWrt 22.03.0 的新特性包括：基于 nftables 的防火墙实现 Firewall4 取代基于 iptables 的 Firewall3；解决 2032 问题；LuCI Web 管理工具支持深色模式；支持超过 180 种新设备；其内核版本为 5.10.138。消息来源：OpenWrt老王点评：最近用上了 OpenWrt，真香。
使用树莓派建立一个带有移动网络连接功能的路由器
在你的网络路由器上使用 OpenWRT 获得更多控制功能。树莓派是一种小型单板电脑，尽管只有信用卡大小，但是能做许多事情。实际上，这个小电脑几乎可以成为你想让它成为的任何东西，只要你打开想象力。树莓派爱好者已经做了许多不同的项目，从简单的程序到复杂的自动化项目和解决方案，如气象站，甚至智能家居设备。这篇文章将展示怎样使用 OpenWRT 项目将你的树莓派变成带有 LTE 移动网络连接功能的路由器。关于 OpenWRT 和 LTEOpenWRT 是一个利用 Linux 内核为嵌入式设备开发的开源项目，它已经存在超过 15 年了，拥有一个庞大而活跃的社区。有许多使用 OpenWRT 的方法，但是它的主要目的还是用在路由器上。它提供了包管理功能和一个完全可写的文件系统，并且因为它的的开源属性，你可以查看和修改代码，并贡献到开源生态。如果你想对你的路由器获得更多的控制，这就是你想要的系统。 长期演进技术 Long-term evolution （LTE）是一个基于 GSM/EGDE 和 UMTS/HSPA 技术的无线宽带通信标准。我使用的 LTE 调制解调器是一个 USB 设备，可以为树莓派电脑增加 3G 或 4G（LTE）蜂窝连接。安装前的准备对这个项目来说，你需要：一个带有电源线的树莓派一台运行 Linux 的电脑一张至少 16GB 的 SD 储存卡以太网线LTE 调制解调器（我使用的是 Teltonika TRM240）一张移动网络的 SIM 卡安装 OpenWRT首先，下载最新的 兼容树莓派的 OpenWRT 的发布版本。在 OpenWRT 官网，你可以看到 4 个镜像：两个 ext4 文件系统的和两个 squashfs 文件系统的。我使用 ext4 文件系统。你可以下载 factory 或者 sysupgrade 镜像，这两个都运行良好。下载了镜像后，你按照 以下的说明 需要解压并安装它到 SD 卡上。这将会花些时间安装固件，需要些耐心。一旦安装完成，在你的 SD 卡上将会有两个分区。一个是用来放 bootloader ，另一个是 OpenWRT 系统。启动系统要启动你的新系统，插入 SD 卡到树莓派，用以太网线把树莓派和你的路由器（或者交换机）相连，然后点亮。如果你有使用树莓派的经验，你可能习惯于通过终端使用 SSH 访问过它，或者通过显示器和键盘连接到树莓派。OpenWRT 工作有一点点不同。你与这个系统交互是通过网页浏览器，所以你必须能够通过网络来访问你的树莓派。缺省状态下，树莓派使用的 IP 地址是：192.168.1.1。用来配置树莓派的计算机必须和树莓派在同一个子网中。如果你的网络没有使用 192.168.1.x 地址，或者你不能确定，在 GNOME 打开 “ 设置 Settings ” ，导航到网络设置，选择 “ 手动 Manual ” ，然后键入以下的 IP 地址和子网掩码：IP 地址：192.168.1.15网络掩码：255.255.255.0在你的电脑上打开浏览器然后导航到 192.168.1.1 。这将打开一个验证网页，你可以登录到你的树莓派。首次登录不需要密码，所以直接点击 “ 登录 Login ” 按钮继续。设置网络连接树莓派只有一个以太网口，而普通路由器有两个：一个是 WAN（有线区域网络）口，另一个是 LAN （本地区域网络）。你有两个选择：使用你的以太网口接入互联网使用 WIFI 接入互联网使用以太网连接你决定使用以太网，导航到 “ 网络 Network → 接口 Interfaces ”。在这个设置页面，按下与 “LAN” 接口对应的蓝色 “ 编辑 Edit ” 按钮。应该会出现一个弹窗，在这个窗口中，你需要键入与你将要连接树莓派的路由器子网匹配的 IP 地址。如果需要的话，修改子网掩码，并输入树莓派将要连接的路由器的 IP 地址。保存设置，然后通过以太网将你的树莓派连接到路由器。你现在可以用这个新的 IP 地址访问树莓派。当你在把树莓派投入生产环境使用之前，确保为你的 OpenWRT 设置一个密码！使用 WiFi 连接如果你想通过 WiFi 将树莓派连接到互联网，导航到 “ 网络 Network → 无线 Wireless ” 。在 “ 无线 Wireless ” 菜单里，按下蓝色的 “ 扫描 Scan ” 按钮查找你的家庭网络。在弹出的窗口中，找到你的 WiFi 网络然后连接它。不要忘记 “ 保存并应用 Save and Apply ” 设置。在这 “ 网络 Network → 接口 Interfaces ” 部分，你应该看到了一个新的接口。当你在把树莓派投入生产环境使用之前，确保为你的 OpenWRT 设置一个密码！安装必要的软件包默认状态下，路由器并没有安装许多软件包。OpenWRT 提供了一个包管理器，带有一系列你需要安装的。导航到 “ 系统 System → 软件 Software ” 然后通过按下标有 “ 更新列表… Update lists... ” 的按钮来更新你的包管理器。你将会看到许多软件包；你需要安装以下这些：usb-modeswitchkmod-miikmod-usb-netkmod-usb-wdmkmod-usb-serialkmod-usb-serial-optionkmod-usb-serial-wwan（如果没有安装的话）另外，下载这个调制解调器管理软件包，然后在弹出的窗口中按下标有 “ 上传软件包… Upload Package... ” 的按钮来安装它。重启树莓派让安装包生效。设置移动网络接口所有这些软件包被安装完之后，你可以设置移动网络接口。在连接调制解调器到树莓派之前，请阅读 调制解调器的说明书，对其进行设置。然后连接你的移动调制解调器到树莓派，然后等待一会直到调制解调器启动。导航到 “ 网络 Network → 接口 Interfaces ”。在页面底部，按下 “ 添加一个新接口… Add new interface... ” 按钮。在弹出的窗口中，给你的接口起一个名字（比如 “mobile”），然后从下拉列表中选择 “ModemManager” 。按下一个标有 “ 创建接口 Create Interface ” 的按钮。你应该看到一个新的弹出窗口。这是设置接口的一个主窗口。在这个窗口中，选择你的调制解调器，然后键入像 接入点名称 Access Point Name （APN）或是 PIN 码之类的信息。注意： 如果在列表中没有调制解调器设备出现，尝试重启树莓派或者安装 kmod-usb-net-qmi-wwan 软件包 。当你已经配置完你的接口，按下 “ 保存 Save ” 然后 “ 保存并应用 Save and Apply ”。给系统一些生效的时间。如果一切正常，你应该看到像这样的一些东西。如果你想通过接口查看你的网络连接，你可以使用 SSH 连接到你的树莓派 shell。在终端里，键入：ssh root@192.168.1.1 缺省 IP 地址是 192.168.1.1：如果你修改了它，就用修改后的 IP 地址连接。当连接后，在终端里执行命令：ping -I ppp0 google.com 如果一切正常运行，那么你应该从 Google 的服务器接收到 ping 回包 。ppp0 是你创建的移动网络接口的默认接口名称。你可以通过使用 ifconfig 命令检查你的接口。它只显示活动的接口。设置防火墙要让移动网接口运行，你需要为移动网络接口和本地网络接口配置防火墙，以便引导流量到正确的接口。导航到 “ 网络 Network → 防火墙 Firewall ”。在页面的底部，你应该看到一个叫做 “ 区域 Zones ” 的部分。设置防火墙最简单的方法就是调整 “wan” 区域。在 “ 已覆盖的网络 Covered networks ” 选项里按下 “ 编辑 Edit ” 按钮，选择你的移动网络接口，然后 “ 保存并应用 Save and Apply ” 你的设置。如果你不想用 WiFi 连接你的树莓派，你可以从 “ 已覆盖的网络 Covered networks ” 里删除 “wwan” 接口，或者关闭 WiFi 连接。如果你想为每个接口设置一个独立区域，只需创建一个新区域然后分配必要的接口即可。举个例子，你可能想有一个覆盖移动网络接口的区域，并且通过它来转发 LAN 接口流量。按下 “ 添加 Name ” 按钮，然后给你的区域 “ 命名 Name ”， 检查 “伪装” 复选框，选中 “ 已覆盖的网络 Covered networks ” ，并选择哪些区域可以转发其流量。然后 “ 保存并应用 Save and Apply ” 这些修改。现在你有一个新的区域。设置一个接入点最后一步是为你的设备接入互联网设置一个网络接入点。要设置一个接入点，导航到 “ 网络 Network → 无线 Wireless ” 。你将会看到一个 WiFi 设备接口，一个名为 OpenWRT 的禁用的接入点，以及一个用于通过 WiFi 连接互联网的连接（如果你之前没有禁用或删除它）。在这个禁用的接口上，按下 “ 编辑 Edit ” 按钮，然后 “ 启用 Enable ” 该接口。如果你想，你可以通过编辑 “ESSID” 选项来修改接口名称。你也可以选择它要关联的网络。默认情况下，它会与 LAN 接口关联。要为这个接口添加密码，选择 “ 无线安全 Wireless Security ” 选项，选择 “WPA2-PSK” 加密方式然后在 “ 密钥 Key ” 选项字段键入接口的密码。然后 “ 保存并应用 Save and Apply ” 设置。如果设置正确的话，当用你的设备扫描可用接入点的话，你应该可以看到你分配了名称的新接入点。额外的软件包如果你愿意，你可以通过网页界面为你的路由器下载额外的软件包。只需到 “ 系统 System → 软件 Software ” 然后安装你想从列表或者互联网上下载的软件包并上传它。如果你在列表中没有看到任何软件包，请按下 “ 更新列表… Update lists... ” 按钮。你也可以添加其他拥有适合与 OpenWRT 一起使用的软件包的仓库。软件包和它们的网页界面是分开安装的。软件包名称是以 “luci-” 开始的是网也界面软件包。试试看这就是我的树莓派路由设置的过程。从树莓派建立一个路由器不是很困难。缺点是树莓派只有一个以太网接口。你可以用一个 USB-to-Ethernet 适配器来增加更多的网口。不要忘记在接口的网站上设置网口。OpenWRT 支持大量的移动调制解调器，你可以用管理调制解调器的通用工具 modemmanager 为它们设置移动网络接口。你有没有把你的树莓派当作路由器使用？请在评论中告诉我们情况。via: https://opensource.com/article/21/3/router-raspberry-pi作者：Lukas Janėnas 选题：lujun9972 译者：hwlife 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
OpenWrt 社区宣布了该发行版的最新稳定版本：OpenWrt 21.02。补充一句，OpenWrt 是一个帮助你创建嵌入式设备定制操作系统的项目。它使用户能够根据他们的网络需求公开定制他们的设备，这是市面上销售的路由器的固件所没有的功能。除了路由器之外，OpenWrt 还可以在各种设备上运行，如智能手机、住宅网关，甚至是 32 位的个人电脑。自从旧的 OpenWrt 19.07 以来，这个版本的发布带来了超过 5800 个新提交。让我们来看看 OpenWrt 21.02 有哪些新功能。OpenWrt 21.02 有什么新内容？虽然有一些技术上的变化和改进，但让我强调一下主要的新增内容。WPA3 支持虽然在 19.07 版本中就已经存在，但这个最新的 Wi-Fi 网络安全标准现在已默认包含在镜像中了。WPA3 的意思是 Wi-Fi 受保护接入第三版 Wi-Fi Protected Access 3 ，与流行的 WPA2 相比，在安全方面有很大的改进，也向后兼容。TLS 和 HTTPS 支持就像 WPA3 一样，它也默认包括了 TLS 和 HTTPS 支持，并且带有来自 Mozilla 的可信 CA 证书。有了这个支持，无需其它工作，wget 和 opkg 现在可以通过 HTTPS 获取资源了。此外，除了 HTTP 之外，LuCl 也可以通过 HTTPS 获得。初步的 DSA 支持正如其发布公告中所说：“DSA（ 分布式交换机架构 Distributed Switch Architecture ）是关于可配置的以太网交换机的 Linux 标准。”这取代了直到现在还在使用的 swconfig 系统，是对 VLAN 和交换机端口管理方式的一个明显变化。新的最低硬件要求随着 OpenWrt 的众多新功能和更新，以及 Linux 内核的大小的普遍增加，其最低硬件要求也被提高。现在设备需要至少 8MB 的闪存和 64MB 的内存来运行默认的构建版本，以确保适当的稳定性。软件包更新该版本还包含了几个软件包的升级，其中一些是：Linux 内核 5.4.143gcc 8.4.0glibc 2.33binutils 2.34busybox 1.33.1除了上述列出的软件包，还有许多其他软件包也得到了升级。你可以在 官方发布公告 中了解完整的技术细节。下载 OpenWrt 21.02你可以前往其官方网站下载最新的稳定版，或者选择开发快照进行实验。构建自己的软件包和固件的说明应该可以在其文档中找到。可以使用 sysupgrade 命令将你的系统从 OpenWrt 19.07 升级到 OpenWrt 21.02。请注意，你无法从 18.06 升级。OpenWrt 21.02via: https://news.itsfoss.com/openwrt-21-02-release/作者：Rishabh Moharir 选题：lujun9972 译者：wxy 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
使用开源工具创建私有的虚拟专用网络
使用 OpenWRT 和 Wireguard 在路由器上创建自己的虚拟专用网络。通过计算机网络从一个地方到另一个地方可能是一件棘手的事情。除了知道正确的地址和打开正确的端口之外，还有安全问题。 对于 Linux，SSH 是一种流行的默认方式，虽然你可以使用 SSH 做很多事情，但它仍然“只是”一个安全外壳（实际上，这就是 SSH 的含义）。用于加密流量的更广泛的协议是“虚拟专用网络”，它创建了一个独特的两点之间的虚拟的专用网络。有了它，你可以登录到另一个网络上的计算机并使用它的所有服务（文件共享、打印机等等），就像你坐在同一个房间里一样，并且全部的数据都是从点到点加密的。通常，为了使虚拟专用网络连接成为可能，进入每个网络的网关必须接受虚拟专用网络流量，并且必须侦听目标网络上的某些计算机的虚拟专用网络流量。然而，你可以运行自己的带有虚拟专用网络服务器的路由器固件，使你能够连接到目标网络，而无需担心转发端口或考虑内部拓扑。我最喜欢的固件是 OpenWrt，在本文中我将演示如何设置它，以及如何启用虚拟专用网络。什么是 OpenWrt？OpenWrt 是一个使用 Linux 面向嵌入式设备的开源项目。它已经存在超过 15 年，拥有庞大而活跃的社区。使用 OpenWrt 的方法有很多种，但它的主要用途是在路由器中。它提供了一个具有包管理功能的完全可写的文件系统，并且由于它是开源的，你可以查看和修改代码并为生态系统做出贡献。如果你想对路由器进行更多控制，这就是你想要使用的系统。OpenWrt 支持很多路由器，包括 思科、华硕、MikroTik、Teltonika Networks、D-Link、TP-link、Buffalo、Ubiquiti 等知名品牌和 许多其他品牌。Wireguard 是什么？Wireguard 是开源的虚拟专用网络软件，它比 OpenVPN 等其他选项更快、更简单且更安全。它使用最先进的密码学：用于对称加密的 ChaCha20；用于密钥协商的 Curve 25519（使用椭圆曲线），和用于散列的 BLAKE2。这些算法的设计方式在嵌入式系统上是高效的。Wireguard 也可用于各种操作系统 平台。先决条件对于这个项目，你需要：Teltonika RUT955 或支持 OpenWrt 的其他路由器一个公网 IP 地址，用于从外部网络连接到虚拟专用网络一部安卓手机安装 OpenWrt首先，下载路由器的 OpenWrt 镜像。使用 固件选择器 检查 OpenWrt 是否支持你的路由器并下载固件。输入你的路由器型号，将显示选项：使用搜索框右侧的下拉输入选择要下载的固件版本。下载出厂镜像。许多路由器允许你从 Web 界面刷入未经授权的固件，但 Teltonika Networks 不允许。要将 OpenWrt 固件刷入这样的路由器，你需要使用引导加载器。为此，请按照下列步骤操作：拔掉路由器的电源线。按住重置按钮。插入路由器的电源线。插入电源线后，继续按住重置按钮 5 到 8 秒。将计算机的 IP 地址设置为 192.168.1.15，将网络掩码设置为 255.255.255.0。使用以太网电缆通过 LAN 端口连接路由器和计算机。打开网页浏览器并输入 192.168.1.1:/index.html。上传并刷写固件。刷机过程可能占用三分钟。之后，你应该可以通过在浏览器中输入 192.168.1.1 来访问路由器的 Web 界面。 默认情况下没有设置密码配置网络连接网络连接是必要条件。如果你的 Internet 服务提供商（ISP） 使用 DHCP 自动分配你的 IP 地址，你只需将以太网电缆插入路由器的 WAN 端口。如果你需要手动分配 IP 地址，导航至 “Network → Interfaces”。选择 “Edit” 编辑你的 WAN 接口。从 “Protocol” 字段中，选择 “Static address”，然后选择 “Switch protocol”。在 “IPv4 address” 字段中，输入你的路由器地址。设置 “IPv4 netmask” 以匹配你的网络子网；输入你将用于连接到网络的 “IPv4 gateway” 地址； 并在 “Use custom DNS servers” 字段中输入 DNS 服务器的地址。保存配置。就是这样！你已成功配置 WAN 接口以获得网络连接。安装必要的包默认情况下，该固件不包含很多包，但 OpenWrt 有一个包管理器和可选安装的软件包。导航到 “System → Software” 并通过选择 “Update list...” 更新你的包管理器。在“Filter”输入中，键入 “Wireguard”，等待系统找到所有包含该关键字的包。找到并安装名为 “luci-app-wireguard” 的包。该软件包包括一个用于配置 Wireguard 的 Web 界面，并安装 Wireguard 所必需的所有依赖项。如果你在安装 Wireguard 软件包之前收到一个软件包丢失的警告并且在存储库中找不到，请忽略它并继续。接下来，找到并安装名为 “luci-app-ttyd” 的包。这将用于稍后访问终端。安装这些软件包后，重新启动路由器以使更改生效。配置 Wireguard 接口接下来，创建 Wireguard 接口。导航到 “Network → Interfaces” 并选择左下角的 “Add new interface...”。在弹出窗口中，输入你想要的接口名称，从下拉列表中选择 “WireguardVPN”，然后选择右下角的 “Create interface”。在新弹出的窗口中，选择 “Generate Key” 为 Wireguard 接口生成私钥。在 “Listen Port” 字段中，输入所需的端口。我将使用默认的 Wireguard 端口，“51820”。在 “IP Addresses” 字段中，分配将用于 Wireguard 接口的 IP 地址。在这个例子中，我使用了 10.0.0.1/24。数字 “24” 表明我的子网的大小。保存配置并重启接口。导航到 “Services → Terminal”，登录到 shell，然后输入命令 wg show。你将看到有关 Wiregaurd 接口的一些信息，包括其公钥。复制公钥——稍后你将需要它来创建对等点。配置防火墙导航到 “Network → Firewall” 并选择 “Traffic Rules” 选项卡。在页面底部，选择 “Add”。在弹出窗口的 “Name” 字段中，为你的规则命名，例如 “Allow-wg”。接下来，将 “Destination zone” 从 “Lan” 更改为 “Device”，并将 “Destination port” 设置为 “51820”。保存配置。手机上配置 Wireguard从 Google Play 在你的手机上安装 Wireguard 应用程序。安装后，打开应用程序并从头开始创建一个新接口。在 “Name” 字段中，输入要用于接口的名称。在 “Private key” 字段中，按右侧的双向箭头图标生成密钥对。你将需要上面的公钥来在你的手机和路由器之间创建一个对等点。在 “Addresses” 字段中，分配你将用于通过虚拟专用网络访问电话的 IP 地址。我将使用 10.0.0.2/24。在 “Listen port” 中，输入端口；我将再次使用默认端口。保存配置。要向配置中添加对等点，请选择 “Add peer”。在 “Public key” 字段中，输入路由器的 Wireguard 公钥。在 “Endpoint” 字段中，输入路由器的公共 IP 地址和端口，以冒号分隔，例如 12.34.56.78:51820。在 “Allowed IP” 字段中，输入要通过 Wireguard 接口访问的 IP 地址。 （你可以输入路由器的虚拟专用网络接口 IP 地址和 LAN 接口地址。）IP 地址必须用逗号分隔。你还可以定义子网的大小。保存配置。配置中还剩下最后一步：在路由器上添加一个对等点。在路由器上添加一个对等点导航到 “Network → Interfaces” 并选择你的 Wireguard 接口。转到 “Peers” 选项卡并选择 “Add peer”。在 “Description” 字段中，输入对等方的名称。在 “Public Key” 字段中输入手机的 Wireguard 接口公钥，在 “Allowed IPs” 字段中输入手机的 Wireguard 接口 IP 地址。选中 “Route Allowed IPs” 复选框。保存配置并重启接口。测试配置在手机上打开 Web 浏览器。在 URL 栏中，输入 IP 地址 10.0.0.1 或 192.168.1.1。你应该能够访问路由器的网站。你自己的虚拟专用网络这些天有很多虚拟专用网络服务商在做广告，但是拥有和控制自己的基础设施还有很多话要说，尤其是当该基础设施仅用于提高安全性时。无需依赖其他人为你提供安全的数据连接。使用 OpenWrt 和 Wireguard，你可以拥有自己的开源虚拟专用网络解决方案。via: https://opensource.com/article/21/5/open-source-private-vpn作者：Lukas Janėnas 选题：lujun9972 译者：stevenzdg988 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
对于家用 WiFi 路由器和接入点来说，OpenWrt 项目可能是最广为人知的 Linux 发行版；在 12 年以前，它产自现在有名的 Linksys WRT54G 路由器的源代码。（2016 年）五月初，当一群 OpenWrt 核心开发者 宣布 他们将开始着手 OpenWrt 的一个副产品 （或者，可能算一个分支）叫 Linux 嵌入开发环境 （LEDE）时，OpenWrt 用户社区陷入一片巨大的混乱中。为什么产生分裂对公众来说并不明朗，而且 LEDE 宣言惊到了一些其他 OpenWrt 开发者也暗示这团队的内部矛盾。LEDE 宣言被 Jo-Philipp Wich 于五月三日发往所有 OpenWrt 开发者列表和新 LEDE 开发者列表。它将 LEDE 描述为“OpenWrt 社区的一次重启” 和 “OpenWrt 项目的一个副产品” ，希望产生一个 “注重透明性、合作和权利分散”的 Linux 嵌入式开发社区。给出的重启的原因是 OpenWrt 遭受着长期以来存在且不能从内部解决的问题 —— 换句话说，关于内部处理方式和政策。例如，宣言称，开发者的数目在不断减少，却没有接纳新开发者的方式（而且貌似没有授权委托访问给新开发者的方法）。宣言说到，项目的基础设施不可靠（例如，去年服务器挂掉在这个项目中也引发了相当多的矛盾），但是内部不合和单点错误阻止了修复它。内部和从这个项目到外面世界也存在着“交流、透明度和合作”的普遍缺失。最后，一些技术缺陷被引述：不充分的测试、缺乏常规维护，以及窘迫的稳固性与文档。该宣言继续描述 LEDE 重启将怎样解决这些问题。所有交流频道都会打开供公众使用，决策将在项目范围内的投票决出，合并政策将放宽等等。更详细的说明可以在 LEDE 站点的规则页找到。其他细节中，它说贡献者将只有一个阶级（也就是，没有“核心开发者”这样拥有额外权利的群体），简单的少数服从多数投票作出决定，并且任何被这个项目管理的基础设施必须有三个以上管理员账户。在 LEDE 邮件列表， Hauke Mehrtens 补充到，该项目将会努力把补丁投递到上游项目 —— 这是过去 OpenWrt 被批判的一点，尤其是对 Linux 内核。除了 Wich，这个宣言被 OpenWrt 贡献者 John Crispin、 Daniel Golle、 Felix Fietkau、 Mehrtens、 Matthias Schiffer 和 Steven Barth 共同签署，并以给其他有兴趣参与的人访问 LEDE 站点的邀请作为了宣言结尾。回应和问题有人可能会猜想 LEDE 组织者预期他们的宣言会有或积极或消极的反响。毕竟，细读宣言中批判 OpenWrt 项目暗示了 LEDE 阵营发现有一些 OpenWrt 项目成员难以共事（例如，“单点错误” 或 “内部不和”阻止了基础设施的修复）。并且，确实，有很多消极回应。OpenWrt 创立者之一 Mike Baker 回应 了一些警告，反驳所有 LEDE 宣言中的结论并称“像‘重启’这样的词语都是含糊不清的，且具有误导性的，而且 LEDE 项目未能揭晓其真实本质。”与此同时，有人关闭了那些在 LEDE 宣言上署名的开发者的 @openwrt.org 邮件入口；当 Fietkau 提出反对， Baker 回复账户“暂时停用”是因为“还不确定 LEDE 能不能代表 OpenWrt。” 另一个 OpenWrt 核心成员 Imre Kaloz 写到，他们现在所抱怨的 OpenWrt 的“大多数[破]事就是 LEDE 团队弄出来的”。但是大多数 OpenWrt 列表的回应对该宣言表示困惑。邮件列表成员不明确 LEDE 团队是否将对 OpenWrt 继续贡献，或导致了这次分裂的架构和内部问题的确切本质是什么。 Baker 的第一反应是对宣言中引述的那些问题缺乏公开讨论表示难过：“我们意识到当前的 OpenWrt 项目遭受着许多的问题，”但“我们希望有机会去讨论并尝试着解决”它们。 Baker 作出结论：我们想强调，我们确实希望能够公开的讨论，并解决掉手头事情。我们的目标是与所有能够且希望对 OpenWrt 作出贡献的参与者共事，包括 LEDE 团队。除了有关新项目的初心的问题之外，一些邮件列表订阅者提出了 LEDE 是否与 OpenWrt 有相同的使用场景定位，给新项目取一个听起来更一般的名字的疑惑。此外，许多人，像 Roman Yeryomin，对为什么这些问题需要 LEDE 团队的离开（来解决）表示了疑惑，特别是，与此同时，LEDE 团队由大部分活跃核心 OpenWrt 开发者构成。一些列表订阅者，像 Michael Richardson，甚至不清楚谁还会继续开发 OpenWrt。澄清LEDE 团队尝试着深入阐释他们的境况。在 Fietkau 给 Baker 的回复中，他说在 OpenWrt 内部关于有目的地改变的讨论会很快变得“有毒，”因此导致没有进展。而且：这些讨论的要点在于那些掌握着基础设施关键部分的人精力有限却拒绝他人的加入和帮助，甚至是面对无法及时解决的重要问题时也是这样。这种像单点错误一样的事已经持续了很多年了，没有任何有意义的进展来解决它。Wich 和 Fietkau 都没有明显指出具体的人，虽然在列表的其他人可能会想到这个基础设施和 OpenWrt 的内部决策问题要归咎于某些人。 Daniel Dickinson 陈述到：我的印象是 Kaloz (至少) 以基础设施为胁来保持控制，并且根本性的问题是 OpenWrt 是不民主的，而且忽视那些真正在 OpenWrt 工作的人想要的是什么，无视他们的愿望，因为他/他们把控着要害。另一方面， Luka Perkov 指出 很多 OpemWrt 开发者想从 Subversion 转移到 Git，但 Fietkau 却阻止这种变化。看起来是 OpenWrt 的管理结构并非如预期般发挥作用，其结果导致个人冲突爆发，而且由于没有完好定义的流程，某些人能够简单的忽视或阻止提议的变化。明显，这不是一个能长期持续的模式。五月六日，Crispin 在一个新的帖子中写给 OpenWrt 列表，尝试着重构 LEDE 项目宣言。他说，这并不是意味着“敌对或分裂”行为，只是与结构失衡的 OpenWrt 做个清晰的划分并以新的方式开始。问题在于“不要归咎于一次单独的事件、一个人或者一次口水战”，他说，“我们想与过去自己造成的错误和多次作出的错误管理决定分开”。 Crispin 也承认宣言没有把握好，说 LEDE 团队 “弄糟了发起纲领。”Crispin 的邮件似乎没能使 Kaloz 满意，她坚持认为 Crispin（作为发行经理）和 Fietkau（作为领头开发者）可以轻易地在 OpenWrt 内部作出想要的改变。但是讨论的下文后来变得沉寂；之后 LEDE 或者 OpenWrt 哪边会发生什么还有待观察。目的对于那些想要探究 LEDE 所认为有问题的事情的更多细节的 OpenWrt 成员来说，有更多的信息来源可以为这个问题提供线索。在公众宣言之前，LEDE 组织花了几周谈论他们的计划，会议的 IRC 日志现已发布。特别有趣的是，三月三十日的会议包含了这个项目目标的细节讨论。其中包括一些针对 OpenWrt 的基础设施的抱怨，像项目的 Trac 工单追踪器的缺点。它充斥着不完整的漏洞报告和“我也是”的评论，Wich 说，结果几乎没有贡献者使用它。此外，他们也在 Github 上追踪 bug，人们对这件事感到困惑，这使得工单应该在哪里讨论不明了。这些 IRC 讨论也定下了开发流程本身。LEDE 团队想作出些改变，以使用会合并到主干的阶段开发分支为开端，与 OpenWrt 所使用的“直接提交到主干”方式不同。该项目也将提供基于时间的发行版，并通过只发行已被成功测试的二进制模块来鼓励用户测试，由社区而不是核心开发者在实际的硬件上进行测试。最后，这些 IRC 讨论也确定了 LEDE 团队的目的不是用它的宣言吓唬 OpenWrt。Crispin 提到 LEDE 首先是“半公开的”并渐渐做得更公开。 Wich 解释说他希望 LEDE 是“中立的、专业的，并打开大门欢迎 OpenWrt 以便将来的合并”。不幸的是，前期发起工作并不是做得很好。在一封邮件中， Fietkau 补充到 OpenWrt 核心开发者确实在任务中遇到瓶颈，像补丁复审和基础设施维护这些事情让他们完成不了其他工作，比如配置下载镜像和改良构建系统。在 LEDE 宣言之后短短几天内，他说，团队成功解决了镜像和构建系统任务，而这些已被搁置多年。我们在 LEDE 所做的事情很多是基于转移到 Github 的去中心化软件包开发经验，并放弃了软件包应如何被维护的许多控制。这样最终有效减少了我们的工作量，而且我们有了很多更活跃的开发者。我们真的希望为核心开发做一些类似的事，但是基于我们想作出更大改变的经验，我们觉得在 OpenWrt 项目内做不到。修复基础设施也将收获其他好处，他说，就比如改进了用于管理签署发布版本的密码的系统。团队正在考虑在某些情况下非上游补丁的规则，像需要补丁的描述和为什么没有发送到上游的解释。他也提到很多留下的 OpenWrt 开发者表示有兴趣加入 LEDE，相关当事人正试图弄清楚他们是否会重新合并该项目。有人希望 LEDE 更为扁平的管理模式和更为透明的分工会在困扰 OpenWrt 的方面取得成功。解决最初的宣言中被诟病的沟通方面的问题会是最大的障碍。如果那个过程处理得好，那么，未来 LEDE 和 OpenWrt 可能能够求同存异并协作。否则，之后两个团队可能一起被迫发展到比以前拥有更少资源的方向，这也许不是开发者或用户想看到的。via: https://lwn.net/Articles/686767/作者：Nathan Willis 译者：XYenChi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出