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

Debian12 端口在局域网无法访问

  •  
  •   Yiskiee · 2023-06-17 22:22:56 +08:00 · 3401 次点击
    这是一个创建于 554 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近从 Fedora38 换到了 Debian12. 虽说 Fedora 系列确实先进好用, 但实在有点难以忍受各种更新系统带来的小问题.

    由于很少接触 Debian 系的操作系统, 换到了 Debian12 后光是配置桌面系统以适应以前的感觉就搞了半天, 然后就遇到了这个端口问题.

    操作系统是 Debian 12 stable Gnome 桌面版 (ip: 192.168.1.8)

    我以普通用户的身份开了一个简单的网页服务放在 ~/.profile 中:

    nohup python3 -m http.server 8888 -d ~/Public >> ~/.pyserver.log 2>&1 &
    

    在本机浏览器中输入 127.0.0.1:8888 可以正常访问, pyserver.log 也有记录.

    但是同一网段的局域网设备 (手机和一台 win10 电脑) 却无法通过 192.168.1.8:8888 访问到网页. 查看 pyserver.log 也没有其他 ip 的记录.

    除此之外, 在这个 Debian12 电脑上用 LocalSend 可以发文件给其他设备, 但是手机和 win10 发到 Debian 时 LocalSend 会报错:

    DioError [unknown]: null
    Error: SocketException: No route to host
    (OS Error: No route to host, errno=133),
    address=192.168.1.8, port=46444
    

    而手机与 win10 互传没问题.

    如何才能解决这个端口的问题呢? 之前用的 Fedora38 就完全没有遇到过.

    第 1 条附言  ·  2023-06-27 01:54:41 +08:00
    查了一下 history 发现是我主动安装了 firewalld.
    卸载完就没事了.
    16 条回复    2023-06-22 08:54:28 +08:00
    kingfalse
        1
    kingfalse  
       2023-06-17 22:26:15 +08:00 via Android
    来加入 opensuse 吧。
    Yiskiee
        2
    Yiskiee  
    OP
       2023-06-17 22:47:11 +08:00
    @kingfalse 这个系统相比于 Fedora 有什么优势呢?
    RobberPhex
        3
    RobberPhex  
       2023-06-17 22:50:12 +08:00
    1. 可能只监听了 lo 网卡
    2. 可能防火墙( iptables/ufw )导致请求被拦截
    Yiskiee
        4
    Yiskiee  
    OP
       2023-06-17 22:56:51 +08:00
    @RobberPhex 尝试过使用 iptables -A INPUT -p tcp --dport 8888 -j ACCEPT
    但问题还是没有解决.
    如何判断只监听了 lo 网卡呢?
    choury
        5
    choury  
       2023-06-18 00:23:56 +08:00 via Android
    netstat -nlp
    Yiskiee
        6
    Yiskiee  
    OP
       2023-06-18 01:15:23 +08:00
    我使用 firewall-cmd --permanent --add-port=8888/tcp && firewall-cmd --reload 后成功在其他设备上访问到了 Debian 电脑上设置的网页.
    说明是防火墙阻止了请求, 可是该如何设置才能使想 LocalSend 这种应用软件在需要的时候允许请求呢?
    dode
        7
    dode  
       2023-06-18 08:36:14 +08:00
    这个问题在 fedora 上不存在吗
    @Yiskiee
    lrh3321
        8
    lrh3321  
       2023-06-18 08:37:14 +08:00
    LocalSend 应该是靠 UDP 广播 /组播来做发现的,传输估计是 TCP 的,看看作者有没有写清楚了
    lrh3321
        9
    lrh3321  
       2023-06-18 08:40:14 +08:00
    打开 LocalSend 看了下,配置里有 多播地址和端口号,应该防火墙放行就行了
    Yiskiee
        10
    Yiskiee  
    OP
       2023-06-18 10:00:33 +08:00
    @dode 没有遇到过
    Yiskiee
        11
    Yiskiee  
    OP
       2023-06-18 10:04:28 +08:00
    @lrh3321 确实可以这样设置, 我也用 firewall-cmd --permanent --add-port=53317/tcp && firewall-cmd --reload 设置成功了.
    可如果要专门为所有类似的传输软件都配置会很麻烦, 有没有一劳永逸的方法呢?
    lx0758
        12
    lx0758  
       2023-06-18 17:04:32 +08:00
    我没有装桌面环境, 一直以为 Debian 这么 Open, 不需要防火墙呢....
    lindas
        13
    lindas  
       2023-06-18 22:43:32 +08:00
    @Yiskiee 关闭防火墙?但感觉不安全
    f1ush
        14
    f1ush  
       2023-06-18 23:09:33 +08:00
    @Yiskiee #4 可以 `netstat -tnlp` 看一下端口监听的是什么地址(我猜是监听本地了
    Yiskiee
        15
    Yiskiee  
    OP
       2023-06-18 23:23:35 +08:00
    @f1ush 0.0.0.0
    aru
        16
    aru  
       2023-06-22 08:54:28 +08:00
    既然在局域网就关闭防火墙呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3357 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 00:50 · PVG 08:50 · LAX 16:50 · JFK 19:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.