Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
Yiskiee
V2EX  ›  Linux

Debian12 端口在局域网无法访问

  •  
  •   Yiskiee · Jun 17, 2023 · 5157 views
    This topic created in 1240 days ago, the information mentioned may be changed or developed.

    最近从 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 就完全没有遇到过.

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