V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ToBeHacker
V2EX  ›  Linux

如何把一个树莓派改造成软路由

  •  
  •   ToBeHacker · 2020-02-05 01:29:03 +08:00 · 22856 次点击
    这是一个创建于 1790 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前有一个树莓派跑,用什么办法能将其改造成软路由么?通过 tun/tap 获取网卡流量可以实现么?
    36 条回复    2021-04-12 20:38:32 +08:00
    HTSdTt3WygdgQQGe
        1
    HTSdTt3WygdgQQGe  
       2020-02-05 01:52:19 +08:00 via Android   ❤️ 10
    简单点,你把树莓派邮给我,我邮给你一个路由或者 n1
    WeaPoon
        2
    WeaPoon  
       2020-02-05 02:26:34 +08:00
    @q409640976 #1 666
    renothing
        3
    renothing  
       2020-02-05 03:21:54 +08:00   ❤️ 1
    直接装个 openwrt 啊,有对应发行版。
    或者复杂点,如果你的 pi 要多用途,那先装个 docker,然后在在 docker 上跑个裸的 openwrt 容器也可以。
    Maboroshii
        4
    Maboroshii  
       2020-02-05 06:55:16 +08:00 via Android
    @renothing 路由应该处理的是 IP 层的网络包呀,docker 也可以吗?
    qqxx520
        5
    qqxx520  
       2020-02-05 07:52:07 +08:00 via iPhone
    搜索双网卡和 iptables
    Stain5
        6
    Stain5  
       2020-02-05 08:47:10 +08:00
    软路由是指 x86 构造的路由
    树莓派是 arm 的 主频低 总线带宽小 NAT 性能很鶸
    花 100 快买个 new wifi d2 不好吗
    vk42
        7
    vk42  
       2020-02-05 08:59:09 +08:00   ❤️ 1
    @Stain5 软路由泛指用通用计算平台搭的路由器,和什么架构没关系,如果一般用户对带宽和要求没那么高 pi 够用了,而且直接自带 wifi 不用加无线网卡了
    missdeer
        8
    missdeer  
       2020-02-05 09:31:56 +08:00
    要有 2 块网卡,1 块 WAN,另 1 块 LAN。
    简单点的装 OpenWRT。
    稍微折腾点的装个普通 Linux 发行版比如 Raspbian,打开 ip forward,一边 pppoe 拨号或 dhcp client 自动获取 ip,另一边开一个 dhcp server,基本就搞定了。
    kennylam777
        9
    kennylam777  
       2020-02-05 10:35:42 +08:00
    OpenWRT @ docker +1

    RasPi 只跑 OpenWRT 太浪費,而 OpenWRT 的路由器功能比較成熟,但 package management 比不上一般 distro
    kennylam777
        10
    kennylam777  
       2020-02-05 10:37:46 +08:00
    @Stain5 MT7621A 的 MIPS 32 比老舊的 RasPi 2 更弱吧......
    turi
        11
    turi  
       2020-02-05 10:38:31 +08:00
    第一个问题没玩过,
    第二个肯定可以,但是拿出来之后,你就要对原始 ip 数据进行解析、处理了。
    br00k
        12
    br00k  
       2020-02-05 10:39:31 +08:00
    树莓派适合做旁路由。NAT 性能太弱了。
    Stain5
        13
    Stain5  
       2020-02-05 10:41:48 +08:00 via Android
    @kennylam777 软件支持多 还有硬件加速
    qwqVictor
        14
    qwqVictor  
       2020-02-05 10:48:18 +08:00 via iPhone
    单网口做路由器可以,但你得有一个支持 VLAN 的交换机。我在 N1 上用 debian 搭过,有些麻烦。
    kennylam777
        15
    kennylam777  
       2020-02-05 11:01:32 +08:00
    @Stain5 OpenWRT 的 toolchain 和 Debian-based 的 distro 比軟件支持多? 不會吧。

    還有 hwnat 在 OpenWRT/Padavan/LEDE 能穩定?

    要用 tun/tap 的不外是要跑加密,純 CPU 算力上 RasPi 比 MT7621A 強太多
    dndx
        16
    dndx  
       2020-02-05 12:14:18 +08:00
    @kennylam777 树莓派哪来的 HWNAT。。。不是想不想是想也没有
    bghtyu
        17
    bghtyu  
       2020-02-05 12:27:01 +08:00 via Android
    我用树莓派做旁路由,装 OpenWRT,挺好用的,配置也简单,用来科学上网
    z5n0w
        18
    z5n0w  
       2020-02-05 13:21:40 +08:00
    用 raspian 的话
    多买个 vlan 的交换机
    在树莓派上设置好拨号、dhcp、ap 就行了
    就是自己写 iptables 规则比较烦
    kennylam777
        19
    kennylam777  
       2020-02-05 13:37:38 +08:00 via Android
    我沒說過 RasPi 有 HWNAT 吧,但第 4 代的 GbE 口能跑滿,直接用 CPU 跑 NAT 也跑滿,也比 MTK HWNAT 穩定。
    lenjeans
        20
    lenjeans  
       2020-02-05 14:06:02 +08:00
    openwrt 可以用 但是得想办法装另外一个网卡,之前我用的 是 usb 网卡
    geekvcn
        21
    geekvcn  
       2020-02-05 14:24:24 +08:00 via iPhone
    @kennylam777 你可能对 mt7621at 有什么误解,mt7621at HWNAT 下 64k 可以跑 100w pps,还是在 pppoe 下,因为也带 pppoe 硬件加速,不像博通很多 pppoe 下硬件加速不完整,树莓派这种垃圾超冒烟都打不过 mt7621at,但是比通用计算 mt7621 也根本没法和树莓派打,各有所长
    renothing
        22
    renothing  
       2020-02-05 14:42:19 +08:00
    @Maboroshii 你把 docker 跑 macvlan 模式或者直接 host 模式都行。路由处理和 docker 无关。docker 只起个环境隔离作用。
    emtry
        23
    emtry  
       2020-02-05 15:12:02 +08:00
    LokiSharp
        24
    LokiSharp  
       2020-02-05 15:22:25 +08:00 via iPhone
    树莓派的性能可能还没电信送的光猫高。。。
    oIMOo
        25
    oIMOo  
       2020-02-05 16:10:54 +08:00
    我现在树莓派就开着就为了跑一些小脚本(抓取 API 然后同步到日历这种)
    之前做过 AirPlay,延迟太高且不稳定放弃了……
    之前做过 Spotify,有了 Amazon Echo 之后关掉了……
    之前做过 文件储存,还是 Dropbox 更方便,也关掉了……
    jiangbingo
        26
    jiangbingo  
       2020-02-05 21:58:40 +08:00
    讲真,我之前从事过四年嵌入式,对各位提到的只有粗浅的概念,各位的这些知识储备是工作中获取的还是主动学习的?
    ztcaoll222
        27
    ztcaoll222  
       2020-02-05 22:01:39 +08:00
    树莓派的性能太低了
    KnightYoung
        28
    KnightYoung  
       2020-02-06 02:14:53 +08:00
    hyz0805
        29
    hyz0805  
       2020-02-06 09:19:43 +08:00
    性能够用吗
    kerro1990
        30
    kerro1990  
       2020-02-06 11:07:51 +08:00
    树莓派性能太弱不适合
    LEXUGE
        31
    LEXUGE  
       2020-02-06 22:10:26 +08:00
    @kerro1990 谁说不适合的,轻松跑满 200 Mbps CN2...
    LEXUGE
        32
    LEXUGE  
       2020-02-06 22:13:49 +08:00   ❤️ 1
    我搭建的方案:
    树莓派 3B+ OpenWrt,接网线 PPPoE 拨号,作为 WAN。
    然后自带无线作为 LAN
    无线信号不够的话就用别的路由器做 Wi-Fi 中继。

    配置的时候先用网线连接树莓派到电脑,LuCI 开启 Wi-Fi 之后,电脑连接 Wi-Fi,再拔掉网线。这个时候电脑就在 LAN 里了,同时 Raspberry Pi 的网口也可以空出来了

    如果可以原来的路由可以改 Gateway 的话就是旁路由方案
    yigecook
        33
    yigecook  
       2020-05-08 09:37:14 +08:00
    树莓派 4 性能不弱呀
    findex
        34
    findex  
       2020-06-26 22:41:43 +08:00
    @LEXUGE 树莓派就缺一个 rj45 千兆口了。可惜应该一直只有一个。usb3 的网口可能性能会好一点吧。
    Salt3dFish
        35
    Salt3dFish  
       2021-03-19 18:04:46 +08:00
    @LEXUGE 大佬我的 3b 怎么连不上网啊,wan 口设置的 pppoe 但是没有数据传输
    用的是 lede
    LEXUGE
        36
    LEXUGE  
       2021-04-12 20:38:32 +08:00
    @Salt3dFish 确认拨号没有问题建议用 OpenWrt 原版尝试一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   905 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:04 · PVG 04:04 · LAX 12:04 · JFK 15:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.