V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wdssmq
V2EX  ›  路由器

Linux 物理机软路由配置

  •  
  •   wdssmq · 361 天前 · 2706 次点击
    这是一个创建于 361 天前的主题,其中的信息可能已经有所发展或是发生改变。

    nuc4 装了 Linux Mint ,买了 usb 转网线接口想搞软路由,就完全没有头绪。。

    如何使用 Debian/Ubuntu 等 Linux 做软路由(物理机版本,非虚拟机容器版) - 知乎

    https://zhuanlan.zhihu.com/p/587068225

    1 、目前光猫拔号,能否在这个前提下搞软路由?

    2 、光猫已经拔号了,光猫 - nuc - 路由器 - 笔记本,nuc 能够连接外网,笔记本能内网访问到 nuc ,但是笔记本无法访问外网,理论上是应该修改路由器模式实现以 nuc 作为网关和 dhcp 服务器,然而 AP / 桥接模式怎么设置?

    3 、如何验证 nuc 配置的 dhcp 是正确的?试过 光猫 - nuc - 笔记本 ,最终会变成「电缆拔出」。。

    4 、恢复 光猫 - 路由器 - nuc ,局域网能够访问到 nuc ,但是 nuc 无外网,哪一步的操作导致了这个问题?固定使用 enp0s25 网卡连接光猫

    下边是照着教程外加凭感觉改的各种配置。。。

    network:
        version: 2
        renderer: networkd
        ethernets:
            enx207bd2cec82d:
                # 接光猫
                dhcp4: yes
                nameservers:
                    addresses:
                    - 223.5.5.5
                    - 1.1.1.1
            enp0s25:
                # 接路由器
                dhcp4: no
                addresses:
                - 192.168.123.154/24
                dhcp4: false
                # 两个 dhcp4 是重复了么?
    
    

    net.ipv4.ip_forward=1

    subnet 192.168.123.0 netmask 255.255.255.0 {
      range 192.168.123.10 192.168.123.233;
      option routers 192.168.123.154;
      option domain-name-servers 223.5.5.5,1.1.1.1;
      option broadcast-address 192.168.123.255;
      default-lease-time 600;
      max-lease-time 7200;
    }
    
    
    # 原教程 -o 参数是 ppoe 拔号对应的网卡?我这边光猫拨号所以尝试了接光猫的网卡
    sudo iptables -t nat -A POSTROUTING -o enx207bd2cec82d -j MASQUERADE
    
    # 不知道是啥
    sudo apt install iptables-persistent -y
    
    
    第 1 条附言  ·  361 天前
    靠着 GPT 补充的信息好像成功了,,nuc 作为网关给笔记本分配了 IP ,也能连接外网,但是现在不能 SSH 连接 nuc ,上边部署的 qbit 也打不开了。。

    nuc 本身有桌面和屏幕(一台旧电视),发现 nuc 自身也连不上网。。
    14 条回复    2023-12-25 15:58:44 +08:00
    fredcc
        1
    fredcc  
       361 天前 via Android
    软路由一般用 openwrt 系统,因为你问的这些问题基本开箱可用不用折腾。
    当然喜欢用 Linux 发行版从零折腾请无视前一句。
    fsdrw08
        2
    fsdrw08  
       361 天前 via Android
    用 vyOS 吧,路由防火墙专用系统,Linux 的
    Ggmusic
        3
    Ggmusic  
       361 天前 via iPhone
    如果是 nuc 到笔记本,估计 systemd-networkd 需要配 dhcpd ,比如:
    DHCPServer=

    Takes a boolean. If set to "yes", DHCPv4 server will be started. Defaults to "no". Further settings for the DHCP server may be set in the [DHCPServer] section described below.

    https://man.archlinux.org/man/systemd.network.5
    yyzh
        4
    yyzh  
       361 天前
    1.同意要玩软路由请上 openwrt 别搞其他乱七八糟的.
    2.无论在 windows 还是 linux 如果你做 pppoe 都会生成一张虚拟网卡的.你写 nat 规则得思考这方面
    aphorism
        5
    aphorism  
       361 天前
    1. Linux 机器做软路由其实很简单。首先需要有两个网卡,一个是 WAN ,接入上级路由器,一个是 LAN ,为需要上网的设备提供网络连接。Linux 需要打开系统的转发功能并配置 iptables 来做网络 NAT 。你如果对 Linux 系统较熟悉,应该很快就能试成功。详细指示可以看这个贴子,https://blog.noviantech.com/2010/12/22/debian-router-gateway-in-15-minutes/

    2. 一般在中国配置软路由的目标都是为了突破 GFW 的限制访问 Internet. 所以根据我和一些曾经在中国生活过的朋友的经验,建议光猫->中国网路由器->软路由->Internet 路由器。软路由其实就起一个建立安全隧道的作用,不要让它真的当路由器,所以在它下面再接一个专门的路由器为好。

    3. 你设立软路由的目标是做什么,是看流媒体如 netflix, Disney+, MAX, Hulu 和 Sling ?还是为玩游戏如 XGPU 和 Battle.net? 不同的需求其实技术方案也有不同。如果目标是看流媒体,你可能需要一个二级软路由运行 Google One VPN 客户端,因为这是一个对流媒体最友好的 VPN 服务方案。如果是玩游戏则需要找一个延迟特别低的第一跳,例如韩国、日本、香港等国家的网络服务器作为第一跳出口。

    4. 你的软路由有两个 IP 地址,一个是 WAN 口的,一个是 LAN 口的,至于你描述的 ssh 无法登录,也许是防火墙安全策略的问题。用 ss -tnlp 看看各个服务的侦听端口是不是正常,再用 ip addr list 看看网络地址。再用 iptables -L 看看防安全策略。一般这些没问题应该就没问题才对。
    msg7086
        6
    msg7086  
       361 天前
    ermmm OPNSense 不好用吗?
    laminux29
        7
    laminux29  
       361 天前   ❤️ 2
    楼主你知道 OpenWRT 是怎么来的嘛?世界上顶级公司,公司里的多少顶级工程师,花了大量的时间精力,才把 Linux 一点点打造为 OpenWRT ,而且要用好,至今要安装一大堆第三方 mod ,这些 mod ,每个都是作者花费大量时间去设计、实现、调试维护。

    你现在想一个人把 Linux 发行版,打造成为网络设备,你就需要重复这个过程。

    当然,没啥难度,只是有亿点工作量而已。
    chitaotao
        8
    chitaotao  
       361 天前 via Android
    光猫拨号,当然可以用软路由,但是可能出现多层 nat 的情况了,也不能完全控制网络
    如果有软路由,还有一个路由器一般拿来做无线 ap 吧,将路由器设置成 ap 看看
    如果想保留路由器作为软路由上级,那你可能想要配置的是旁路由/透明网关
    我也是用 Debian 自己配置的软路由,但我用的是 ifupdown ,更手动,不知道 netplan 这边是怎么设置的
    JohnSmith
        9
    JohnSmith  
       361 天前
    @laminux29 这个“亿点”主要工作是各种硬件的驱动和适配,尤其是资源紧张的硬件,如果用 x86 且性能足够的话也还好。
    yyzh
        10
    yyzh  
       361 天前 via Android   ❤️ 1
    @JohnSmith ?人家研究 irqbalance,fast classifier,shortcut fe,dpdk,bpf,ebpf,xdp,bpfilter 等等这些你就全无视?另外人家还有给那些打游戏的做 full cone nat 的补丁.这些其他可没有.
    hefish
        11
    hefish  
       360 天前
    这不是就是配好了网卡,然后一句 iptables -t nat -A POSTROUTING -o 出口网卡 -j MASQUERADE 嘛。。。
    当然,sysctl 里面 net.ipv4.ip_forward=1 这个要设置
    EdmondGUO
        12
    EdmondGUO  
       360 天前   ❤️ 1
    我的评价是专业的人做专业的事儿,放着 openwrt ROS ikuai 专业的系统不用,靠自己半吊子的 linux 和网络的知识储备搞网络,图啥呢,linux 技术洁癖?
    wdssmq
        13
    wdssmq  
    OP
       360 天前
    @EdmondGUO

    明明有成品 NAS 为什么还有很多人 DIY 。。

    明明有各种大厂网盘服务为什么还要自己架设?

    明明有硬路由为什么还要搞软路由。。

    明明。。。
    EdmondGUO
        14
    EdmondGUO  
       360 天前
    @wdssmq

    DIY NAS 较成品 NAS 有成本和性能的优势

    自己架设网盘有隐私和不被网盘捆绑的优势

    软路由有全局 fq 内网穿透 多拨功能的优势

    linux 物理机软路由有 在 V2EX 上水一贴的优势?😁
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1131 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 23:03 · PVG 07:03 · LAX 15:03 · JFK 18:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.