frmongo
V2EX  ›  问与答

Linux 挂在局域网里,没有接显示器,断电之后, IP 地址变了,如何获知 IP 地址?

  •  
  •   frmongo · May 24, 2020 · 7907 views
    This topic created in 2354 days ago, the information mentioned may be changed or developed.
    如题,断电一次,路由器也会重新开机,导致 linux 的 IP 地址变化了,写成固定的又怕冲突,现在我都是断电一次,接上显示器查一下,有点麻烦
    56 replies  •  2020-05-25 12:15:00 +08:00
    bshu
    bshu
    May 24, 2020
    1
    登录路由器,看看分配的 ip
    qistchan
    qistchan
    May 24, 2020
    2
    你可以用类似 ddns 的方式
    Illusionary
    Illusionary
    May 24, 2020❤️3
    3
    绑定 mac 地址是你唯一出路
    bequt
    bequt
    May 24, 2020
    4
    有一种工具叫 mac 扫描,或者局域网计算机名扫描。
    whileFalse
    whileFalse
    May 24, 2020
    5
    安排下 dhcp 的分配段就行了,给他设置一个在 dhcp 段之外的 ip
    jzmws
    jzmws
    May 24, 2020
    6
    上路由器 看 分配的地址
    Jat001
    Jat001
    May 24, 2020❤️2
    7
    mac 地址又不会变,windows: arp -a linux: arp-scan -l
    Osk
    Osk
    May 24, 2020 via Android
    8
    方法很多呀:
    把 ip 设置到路由器 dhcp 池外
    路由器 dhcp 方式略作修改,比如 openwrt 就不是从头开始依次分配 ip 的,似乎是根据客户端的 mac 等信息算出来分配什么 ip 的。
    路由器上 dhcp 服务器里绑定 ip 分配记录
    MeteorCat
    MeteorCat
    May 24, 2020 via Android
    9
    路由器把 IP 地址预留限定成指定 IP 就行了,再不济 Linux 把动态 IP 获取改成静态
    jworg
    jworg
    May 24, 2020
    10
    看你局域网设备多不,少的的话直接搜局域网扫描工具 Advanced IP Scanner,多的话,可以参见树莓派的 mdns,ping ××××.local 实现。
    Sanko
    Sanko
    May 24, 2020 via Android❤️1
    11
    nmap
    M3ng
    M3ng
    May 24, 2020 via iPhone
    12
    手机应用市场里一大堆局域网扫描软件,看开放端口应该也能猜出来。
    Kiriya
    Kiriya
    May 24, 2020
    13
    用 pinginfoview ping 整个网段,ping 成功就会显示主机名
    vocaloidchina
    vocaloidchina
    May 24, 2020
    14
    我记得路由器一般都有根据 mac 地址绑定 ip 地址的功能
    laycher
    laycher
    May 24, 2020
    15
    写个脚本,定时检查 IP 地址,发现变了就发个 post 请求,推到微信?
    imdong
    imdong
    May 24, 2020
    16
    DDNS 脚本设置为开机启动即可。

    有计算机名,有 mDNS 系统加持,只要计算机名不冲突,你可以 计算机名 就可以解析到对应的机器 IP 。
    hicdn
    hicdn
    May 24, 2020 via Android
    17
    在路由器上给机器分配固定 ip
    Tink
    Tink
    May 24, 2020 via iPhone
    18
    写个脚本啊
    JamesMackerel
    JamesMackerel
    May 24, 2020 via iPhone
    19
    avahi
    msg7086
    msg7086
    May 24, 2020
    20
    写成固定的为什么会冲突?自己分配了几个静态 IP 自己不知道吗?
    billlee
    billlee
    May 24, 2020❤️1
    21
    装 samba 可以 netbios 解析主机名,装 avahi 可以 mdns 查找主机名,有些路由器提供的 DNS 可以查询内网主机名
    niubee1
    niubee1
    May 24, 2020
    22
    家用路由器的 DHCP 配置呢可以有保留段,然后 Linux 的机器设置在保留段里的固定 IP
    fstab
    fstab
    May 24, 2020 via Android
    23
    dhcp 为 100-199,那么固定 ip 可以设置 2-99 呀,不冲突呀。
    widewing
    widewing
    May 24, 2020 via Android
    24
    不是可以通过主机名访问的吗?有些 Linux 可能需要打开设置
    Nadao
    Nadao
    May 24, 2020
    25
    查的话用 MAC 查,
    根本解决就静态 IP 或者 DHCP 上邦定。
    Harry1993
    Harry1993
    May 24, 2020
    26
    hostname
    Zalica
    Zalica
    May 24, 2020
    27
    我刚好之前也问过这个问题,有兴趣可以参考这里
    https://www.v2ex.com/t/666559
    systemcall
    systemcall
    May 24, 2020 via Android
    28
    最简单的办法就是那台设备设置为静态 ip,并且尽量不要设置到 DHCP 地址池的起点,避免路由器过于智障搞得上不了网
    Ggmusic
    Ggmusic
    May 24, 2020 via iPhone
    29
    mDNS
    swulling
    swulling
    May 24, 2020 via iPhone
    30
    Arp nmap
    BadAngel
    BadAngel
    May 24, 2020
    31
    DHCP 服务器 地址池列表不分配固定地址的 IP
    Mac 地址绑定固定 IP 解决 IP 冲突的问题

    仅获知 IP 可以上路由器查看子网 IP 列表,用 mac 地址区分是否是那台 linux
    iceheart
    iceheart
    May 24, 2020 via Android
    32
    最简单的办法:
    找公司网管给你 mac 地址绑定 ip
    Telegram
    Telegram
    May 24, 2020
    33
    linux 上写脚本,每次更改 IP 后主动向某个接口报告。
    或者你上路由器去看,给该主机分了什么 ip 。
    或者你直接去扫描网段在线主机,看 hostname 。

    或者就 arp -a,应该也能看到,根据 mac 地址找就行。
    miao1007
    miao1007
    May 24, 2020 via Android
    34
    用 VIP 方案
    Zien
    Zien
    May 24, 2020
    35
    1. 非要本定绑定的话,可以更改下路由器上的 DHCP 区间分配,把 IP 放在区间外
    2. 路由器绑定 mac 和 IP (前提是不随机 mac 地址)
    3. 端口扫描或者很多软件和设备都可以查看局域网的吧
    izoabr
    izoabr
    May 24, 2020
    36
    发现还没有人回到直接 ping 一下广播地址的方法:
    ping -b 192.168.1.255 (假定 1.255 是段内广播地址),然后能回应你的都会回应你,你看看哪个 TTL 是 64 的,普通 Windows 好像是 128 的 TTL 。如果回来好多,你就把 64 的挨个试一下呗。

    这样你可以临时找回来这个机器的 IP,说回来还是要在 dhcpd 上绑定一下。
    dingdangnao
    dingdangnao
    May 24, 2020
    37
    写个脚本 获取 IP 给你自己发邮件或者 telegram 机器人 或者 自己的微信公众号 或者测试号 或者 Server 酱 什么的
    back0893
    back0893
    May 24, 2020
    38
    emm 脚本定时发送自己 ip?
    Xusually
    Xusually
    May 24, 2020
    39
    arp -a 先检查一遍,或者你 ping 一下 hostname
    我家里的 lan 的 dhcp ip 池是从 100 开始的,100 以前的可以用来设置固定 ip
    turi
    turi
    May 24, 2020
    40
    mac 地址不变的,现在路由器基本上 ip 和 mac 都会显示吧,再不行那就将 mac 和 ip 绑定吧
    kuaner
    kuaner
    May 24, 2020
    41
    hostname
    flowercoder
    flowercoder
    May 24, 2020
    42
    知道网段的话,把自己的机器并进去用 arp -a 就好了,如果不知道网段连显示器是最好的办法,次之是连上管理口然后用可视化界面,如果你在换 ip 之前安装了 noname 或许还有一线不连显示器的方法吧
    lenjeans
    lenjeans
    May 24, 2020
    43
    第一次记下 mac
    下一次 arp -a
    so898
    so898
    May 25, 2020
    44
    以前部署服务器的时候玩过一个操作,就是机器启动之后访问一个固定设备上报自身信息,里面包含地址
    wwbfred
    wwbfred
    May 25, 2020
    45
    DDNS.有网关控制权写网关,没有随便写到一个自己的域里.TTL 设置成 0.
    vicence
    vicence
    May 25, 2020
    46
    IP 与 MAC 绑定
    nuk
    nuk
    May 25, 2020
    47
    把 dhcp host 注册到 dns 域,访问直接输入主机名字就行,最简单了
    woshijidan
    woshijidan
    May 25, 2020 via Android
    48
    ip 和 mac 绑定不就好了
    lovelive1024
    lovelive1024
    May 25, 2020
    49
    绑定 ip
    tankren
    tankren
    May 25, 2020
    50
    路由器里面固定 MAC 的 IP 不就好了。
    JimmyTinsley
    JimmyTinsley
    May 25, 2020
    51
    回复中提供了成吨的方法
    ctOS1H
    ctOS1H
    May 25, 2020
    52
    nmap
    LiYanHong
    LiYanHong
    May 25, 2020
    53
    局域网我从来都是用主机名,为什么要记 ip 地址,变来变去也不所谓啊
    makizcy
    makizcy
    May 25, 2020
    54
    设置为静态 IP 呀
    julyclyde
    julyclyde
    May 25, 2020
    55
    安装 avahi mDNS 吧
    wnpllrzodiac
    wnpllrzodiac
    May 25, 2020 via Android
    56
    我写了个脚本,定时上报接口。然后查询就可以了。路由器不一定有权限访问到。php 接口挺简单
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3921 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 131ms · UTC 04:05 · PVG 12:05 · LAX 20:05 · JFK 23:05
    ♥ Do have faith in what you're doing.