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

debian 系统下,有没有简单的办法检测指定网卡配置是 dhcp/static/manual?

  •  
  •   skinny · 2021-10-24 10:43:16 +08:00 · 3052 次点击
    这是一个创建于 1126 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想到的是通过查找网卡配置文件 /etc/network/interfaces 的内容来判定,但是网卡配置可能写到了 /etc/network/interfaces.d 下的某个文件,而且配置文件内容的一行要是被拆成了奇形怪状的好几行怎么办?虽然多写几句 bash script 也能搞定,但是想问问有没有别的办法。

    那个 ifquery 命令我试过,没有用,按 help 输出和 manpage 操作,要么输出为空,要么根本不能正常解析它自己的选项,连示例都不能运行。

    9 条回复    2021-10-24 16:14:23 +08:00
    Ayahuasec
        1
    Ayahuasec  
       2021-10-24 10:56:47 +08:00
    dhcp 和 static/manual 好像可以通过 ip addr 里每个网卡的 ip 的那一行看有没有 dynamic 来确定
    不过我也不知道怎么把 manual 和 static 区别开来
    Remember
        2
    Remember  
       2021-10-24 12:17:31 +08:00
    ps -auxf , check if isc-dhcp process exist.
    skinny
        3
    skinny  
    OP
       2021-10-24 12:23:52 +08:00   ❤️ 1
    @Ayahuasec 有的 VPS 环境即便是 dhcp 也没有 dynamic……
    skinny
        4
    skinny  
    OP
       2021-10-24 12:39:41 +08:00
    @Remember 嗯,查 dhcp 客户端进程信息也是一个检查是不是 dhcp 的办法
    zyq2280539
        5
    zyq2280539  
       2021-10-24 13:36:21 +08:00
    debian 下不知道,我知道 ubuntu 下做这些很容易
    ruidoBlanco
        6
    ruidoBlanco  
       2021-10-24 14:35:30 +08:00
    一句话的事儿。

    awk '/iface eth0/' /etc/network/{interfaces,interfaces.d/*}
    Arnie97
        7
    Arnie97  
       2021-10-24 14:45:42 +08:00   ❤️ 1
    这个问题的前提是系统管理员一定用 ifupdown 体系设置的网络么…

    作为只用 systemd networkd 并把 /etc/network 整个删了的 Debian 用户,我建议用一楼说的判定逻辑:

    $ ip a s eth0 dynamic
    liuxu
        8
    liuxu  
       2021-10-24 16:03:23 +08:00
    $ journalctl -u NetworkManager --no-tail |grep dhclient
    liuxu
        9
    liuxu  
       2021-10-24 16:14:23 +08:00
    @liuxu 不过有的 vps 没有用 NetworkManager.service
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1316 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:00 · PVG 08:00 · LAX 16:00 · JFK 19:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.