标签: dhcp

为 DHCP 上的主机维护 `/etc/hosts`

在我的本地 DHCP 网络上,我需要远程访问不同的 PC。问题是他们的IP的变化。有时我将我的笔记本电脑和上网本插入其他人的 DHCP 网络。

我目前的解决方案是/etc/hosts每次目标 IP 更改时更新文件。

我的/etc/hosts文件看起来像这样:

# <ip-address>   <hostname.domain.org>    <hostname>
127.0.0.1        localhost.localdomain    localhost laptop    
192.168.1.14     desktop.localdomain      desktop
192.168.1.12     netbook.localdomain      netbook
Run Code Online (Sandbox Code Playgroud)

有没有办法绕过所有手动管理?

例如,我的计算机可以在 LAN 上广播它们的 IP,或者类似的东西吗?Windows 会做类似的事情,它允许您使用“\\COMPUTER_NAME”引用网络上的计算机

dhcp hosts

7
推荐指数
1
解决办法
1万
查看次数

应该用于在命令行中连接到 wifi 的所有命令

我想从 gnome 切换到 awesome,我想在命令行中连接我的 wifi 网络(而不是使用 gnome 工具)。

所以,我在互联网上搜索并找到了大致相同的方法:

ifconfig wlan0 up
iwconfig wlan0 essid "MyNetwork" key THEHEXAKEY
dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

当我独自运行 awesome 并执行这些命令时,我会被困在第三个。看起来 DHCP 无法解析(命令继续无休止地运行)。

但是当我在 Xephyr 中运行 awesome 并执行相同的命令时,dhclient wlan0效果很好。

所以我想 Gnome 做了一些我不做但我找不到的事情。

有人可以帮助我吗?

command-line networking wifi dhcp

7
推荐指数
2
解决办法
8901
查看次数

如何设置 dhclient 调试信息?

在 FreeBSD 计算机上

  • 是否有可用于调试 DHCP 问题的 DHCP 客户端日志?
  • 我可以设置调试参数以从dhclient.
更新 #1

我在这篇文章中找到了一个用于在 Linux 上调试 DHCP 的便利工具, 但那是在 Linux 上(dhcping、dhcpdump),而且我的 FreeBSD 上没有这些工具,我将无法安装它们。

更新 #2
$ tcpdump -lenx -i eth0 -s 1500 port bootps
Run Code Online (Sandbox Code Playgroud)

freebsd dhcp

7
推荐指数
2
解决办法
2万
查看次数

如何让 NetworkManager 保持相同的 IP?

我的笔记本电脑上 DHCP 提供的 IP 会定期更改。它运行 CentOS 6.5 并使用 NetworkManager。

我的桌面,在同一网络上运行 Sabayon,没有这个问题。

如何让 NetworkManager 续订现有的 DHCP 租约而不是获得新租约?

dhcp networkmanager

7
推荐指数
2
解决办法
4258
查看次数

将 DNS 后缀附加到 /etc/resolv.conf

是否有可能,以及如何配置 CentOS 6.6 以便 /etc/resolv.conf 将通过 DHCP 获取其配置,但还会在搜索行中添加其他域名?

如果我还可以向该文件添加域行,则加分。

哦,我不使用 NetworkManager。

到目前为止,所有搜索都显示了禁用 DHCP 修改 /etc/resolv.conf 的说明,并手动设置它,但我认为这违背了 DHCP 的目的。

dhcp centos

7
推荐指数
1
解决办法
5万
查看次数

文件 /etc/resolv.conf 在每次重新启动时删除,为什么或什么?

我遇到了 DHCP(我在其他类似主题中读到的)/etc/resolv.conf在每次启动时清除文件的问题。我不知道如何解决这个问题,因为我已经找到了职位(12和其他一些人)是基于Debian的发行版或其他而不是Fedora的。

ifcfg-enp0s31f6肯定是 DHCP的输出:

cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 
HWADDR=C8:5B:76:1A:8E:55
TYPE=Ethernet
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s31f6
UUID=0af812a3-ac8e-32a0-887d-10884872d6c7
ONBOOT=yes
IPV6_PEERDNS=no
IPV6_PEERROUTES=no
BOOTPROTO=dhcp
PEERDNS=yes
PEERROUTES=yes
Run Code Online (Sandbox Code Playgroud)

另一方面,我不知道网络管理器是否在做其他事情。

更新:NetworkManager.conf 的内容(因为没用,我已经删除了评论)

$ cat /etc/NetworkManager/NetworkManager.conf 
[main]
#plugins=ifcfg-rh,ibft
dns=none

[logging]
#domains=ALL
Run Code Online (Sandbox Code Playgroud)

我能得到一些帮助吗?在每次重新启动时一次又一次地设置文件很烦人。

更新 2

一个月后,我仍然遇到同样的问题,文件被“某物”删除。

以下是我为进行新测试而遵循的步骤:

  • 重启电脑
  • PC重新启动后打开终端并尝试ping谷歌服务器当然没有成功:

    $ ping google.com
    ping: google.com: Name or service not known
    
    Run Code Online (Sandbox Code Playgroud)
  • 检查网络配置似乎一切正常:

    $ cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 
    NAME=enp0s31f6
    ONBOOT=yes
    HWADDR=C8:5B:76:1A:8E:55
    MACADDR=C8:5B:76:1A:8E:55
    UUID=0af812a3-ac8e-32a0-887d-10884872d6c7
    BOOTPROTO=static
    PEERDNS=no
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    DNS3=192.168.1.10
    NM_CONTROLLED=yes
    IPADDR=192.168.1.66
    NETMASK=255.255.255.0 …
    Run Code Online (Sandbox Code Playgroud)

networking fedora dhcp networkmanager resolv.conf

7
推荐指数
1
解决办法
4万
查看次数

在 network.service 之前在第一次启动时设置主机名

我有一个 firstboot.service,它根据主以太网适配器的 MAC 从库存操作系统映像创建一个唯一的主机名。它在引导期间按预期运行,但使用 DHCP 注册的主机名仍然是内核设置的默认主机名。因此,在设备启动后,我可以 ping 它,defaultname.mynet.lan但是当我登录并调用hostname它时,它会foo-XXXX按预期显示。

如下所示,该服务已注册为在network.target. 正如您可能猜到的那样,我正在使用systemd-networkdsystemd-resolved用于网络。

  • 我是否必须做其他事情才能将主机名传播到正在运行的进程?
  • 我可以在引导过程中更早地设置主机名吗?如果可以,我应该使用什么目标?

首次启动服务

[Unit]
ConditionPathExists=|!/etc/hostname
Before=network.target
After=local-fs.target
After=sys-subsystem-net-devices-eth0.device

[Service]
Type=oneshot
ExecStart=/bin/bash -c "/usr/local/sbin/firstboot.sh"
RemainAfterExit=yes

[Install]
WantedBy=network.target
Run Code Online (Sandbox Code Playgroud)

首次启动文件

HOST_PREFIX=${HOST_PREFIX:-"foo"}
NET_DEVICE=${NET_DEVICE:="eth0"}
LAST_MAC4=$(sed -rn "s/^.*([0-9A-F:]{5})$/\1/gi;s/://p" /sys/class/net/${NET_DEVICE}/address)
NEW_HOSTNAME=${HOST_PREFIX}-${LAST_MAC4:-0000}

echo $NEW_HOSTNAME > /etc/hostname
/bin/hostname -F /etc/hostname
Run Code Online (Sandbox Code Playgroud)

dhcp debian hostname systemd

7
推荐指数
1
解决办法
4618
查看次数

Dhclient 不更新 /etc/resolv.conf

在 Linux Mint 上,当我查看/etc/resolv.conf文件时,第一条评论指出该/etc/resolv.conf文件是由resolvconf(8).

~ $ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
Run Code Online (Sandbox Code Playgroud)

解释一下resolvconf(8)手册页:

resolvconf 程序由 dhclient 等 DHCP 客户端运行

我跑dhclient wlan0

~ $ dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

Dhclient 应该使resolvconf程序更新/etc/resolv.conf。该/var/lib/dhcp/dhclient.leases文件验证我是否能够租用名称服务器的 IP 地址 (192.168.0.6)。

~ $ cat /var/lib/dhcp/dhclient.leases 
lease {
  interface "wlan0";
  . . .
  option domain-name-servers 192.168.0.6;
  . . .
}
Run Code Online (Sandbox Code Playgroud)

但是,该/etc/resolv.conf文件不会更新。该/etc/resolv.conf文件的名称服务器为 127.0.1.1。

~ $ cat /etc/resolv.conf …
Run Code Online (Sandbox Code Playgroud)

dhcp resolv.conf dhclient

7
推荐指数
1
解决办法
2万
查看次数

如何阻止 dhclient 在 Debian 上更新 resolvconf?

无论我通过 DHCP 获得什么,我都想使用某些 DNS 服务器。我正在尝试配置 dhclient 以忽略这些,但我似乎无法让它工作。

根据本文的建议,我supersede domain-name-servers 8.8.8.8, 8.8.4.4;在我的/etc/dhcp/dhclient.conf文件中添加了节。我还尝试了来自 superuser.com 的这些答案,domain-name-serversdomain-searchrequest指令中删除了值。这两者,单独应用以及一起应用,似乎都没有效果。运行sudo dhclient -r然后sudo dhclient,我仍然在以下条目中找到以下条目/etc/resolvconf/run/interfaces/enp2s0.dhclient

domain lan
nameserver 192.168.1.1
Run Code Online (Sandbox Code Playgroud)

哪个提示resolvconf放入nameserver 192.168.1.1我的/etc/resolv.conf文件。

我仔细检查了我是否没有遗漏任何分号或类似的语法元素。我怎样才能让我的配置工作?我不想删除 resolvconf,因为它在我使用企业 VPN 时管理我的名称服务器中的更改并且它做得很好。看起来 dhclient 是这里的违规方。

/etc/dhcp/dhclient.conf为了清楚起见,这是我目前删除的默认评论:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
        domain-name, host-name,
        dhcp6.name-servers, dhcp6.domain-search, …
Run Code Online (Sandbox Code Playgroud)

dns dhcp debian resolvconf dhclient

6
推荐指数
1
解决办法
5828
查看次数

我可以在不禁用 IPv6 的情况下停止填充系统日志的 IPv6“路由器广告”吗?

我的系统日志如下所示:

Apr  1 19:05:25 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:07:35 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:10:26 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:13:10 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:15:13 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:17:01 raspberrypi CRON[8809]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Apr  1 19:18:05 raspberrypi dhcpcd[699]: eth0: Router Advertisement from fe80::c23e:fff:fe63:5170
Apr  1 19:20:41 raspberrypi dhcpcd[699]: …
Run Code Online (Sandbox Code Playgroud)

dhcp syslog raspbian

6
推荐指数
1
解决办法
8737
查看次数