可以为特定的标签/子网设置
dhcp-ignore=#known
吗?
我有两个子网和两个DHCP范围...局域网(lan)和隔离区(dmz)。
对于隔离区,使用正常的DHCP。
对于局域网,DHCP只对/etc/ethers中的MAC地址生效。
提前感谢
可以为特定的标签/子网设置
dhcp-ignore=#known
吗?
我有两个子网和两个DHCP范围...局域网(lan)和隔离区(dmz)。
对于隔离区,使用正常的DHCP。
对于局域网,DHCP只对/etc/ethers中的MAC地址生效。
提前感谢
我正在寻找一个易于配置的 Linux dhcp 服务器,并且当我在命令行上启动它时就可以运行 - 或者更好地保持在前台并在我按 Ctrl+C 时退出。
我不想做的是将 Linux 主机设置为网络的完整 DHCP 服务器。仅用于为默认情况下不在网络上的 1 或 2 台主机提供快速 IP,当它们设置为 DHCP 并通过电缆直接连接到主机时。
我运行的是 Debian 12。
在 Devuan Chimaera Linux 上进行以下配置:
/etc/网络/接口
auto wlan0
iface wlan0 inet dhcp
pre-up /sbin/wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
post-down /usr/bin/killall -q wpa_supplicant
/etc/wpa_supplicant/wpa_supplicant.conf
network={
ssid="MySSID"
psk="redacted"
}
ctrl_interface=/run/wpa_supplicant
update_config=1
dhclient 仅在接口首次出现时运行。
如果我使用ifconfig wlan0 down
,IP 地址会在关闭时保留,并ifconfig wlan0 up
在不运行 dhclient 的情况下恢复接口。
不幸的是,我有一个自定义的 /etc/dhcp/dhclient-exit-hooks.d/wlan0-routes ,它添加了根据 dhclient 提供的默认路由计算得出的自定义路由。
当我关闭 wlan0 时,自定义路由会丢失,正如预期的那样。
当我启动 wlan0 时,dhclient 不会运行,因此不会重新添加自定义路由。
更新:
ifconfig wlan0 down
(导致此问题的原因)和 的行为似乎存在差异ifdown wlan0
。
root@demo:~# ifconfig wlan0 down
root@demo:~# ip addr show wlan0
9: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 00:0e:8e:4c:f6:a3 brd ff:ff:ff:ff:ff:ff
inet 192.168.98.196/24 brd 192.168.98.255 scope global dynamic wlan0
valid_lft 7130sec preferred_lft 7130sec
root@demo5:~# ifconfig wlan0 up
...
root@demo5:~# ifdown wlan0
root@demo5:~# ip addr show wlan0
9: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 00:0e:8e:4c:f6:a3 brd ff:ff:ff:ff:ff:ff
当我使用ifdown wlan0
而不是ifconfig wlan0 down
dhclient
调用时,当我打开界面时,一切都会按预期工作。
ifconfig wlan0 down
和 和有什么区别ifdown wlan0
?
我正在构建一个具有多个上游网络接口的服务器,每个接口从不同的路由器接收 IP 地址、默认路由和其他 DHCP 信息。
对于我的应用程序,我需要知道每个接口的网关,以便我可以通过适当的接口设置到特定主机和网络的路由。dhclient 设置的默认路由没有用,已被删除 - 但我想知道网关。
如何有效拦截DHCP响应信息?
更新:
添加:
# Debug how this is being called.
date >> /tmp/dhclient.log
echo "dhclient-script $@" >> /tmp/dhclient.log
env >> /tmp/dhclient.log
/sbin/dhclient-script 的开头向我展示了如何修改 dhclient-script。
安装后dhcpcd
,机器无法从 DHCP 获取 IPv4,但会按预期生成 IPv6 并获取 DHCPv6 选项(如 DNS、域等);中的配置/etc/networking/interfaces
是
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
在/etc/dhcpcd.conf
我有:
hostname
duid
persistent
vendorclassid
option interface_mtu
option host_name
option ntp_servers
option rapid_commit
require dhcp_server_identifier
slaac private
Alpine 的版本是3.18
, 的版本dhcpcd
是10.0.1
在从我的脚本启动 VM 之前,我需要弄清楚它将获得哪个 IP 地址。
所以我做了:
dhclient <interface>
这是有效的,因为dhclient
使用指定接口的 MAC 地址macvtap
,并从 DHCP 服务器返回我的 IP 地址。
这不是万无一失的解决方案,因为可能有些人家里的路由器并不总是为相同的 MAC 返回相同的 IP。但是我拥有的每台路由器都可以,所以如果它适用于 99% 的情况,那对我来说就足够了。
但问题是它还dhclient
更改了本地配置,因为它认为我想在主机上实际使用该地址。有一个-n
标志可以防止这种情况发生,但 Debian 或大多数其他发行版不支持它。
那么,仅询问 DHCP 服务器它计划为某个 MAC 地址提供哪个 IP 而无需实际修改主机上的任何设置的最佳方法是什么?
我已将我的 NixOS 设置为使用systemd-networkd
::
systemd.network.enable = true;
我的界面配置如下:
networking {
interfaces.enp5s0f0np0.useDHCP = true;
interfaces.enp5s0f1np1.macAddress = cfg.myMacAddress;
interfaces.enp5s0f1np1.ipv6.addresses = [ {
address = "fd00:cafe::1";
prefixLength = 64;
}];
};
现在DHCPv4
,我想修复clientIdentifier
(最终我的 DHCP 服务器需要地址MAC
和clientID
给固定 IP);为此我可以做这样的事情:
systemd.network.networks."40-enp5s0f1np1" = {
dhcpV4Config.ClientIdentifier = "duid";
dhcpV4Config.DUIDType = "vendor";
dhcpV4Config.IAID = <something>;
};
clientIdentifier
本质上是( duid
) 和DUIDType
( )的当前默认值vendor
。IAID
一旦我理解了它应该采用的格式,我就可以设置一个.
但是,我想弄清楚默认值IAID
是如何生成的(这样我就可以理解DUID
我在DHCPv4
请求中获得的默认值是如何形成的)。
我的想法是确保我的 NixOS 配置包含正确数量的细节。现在,我可以使用默认值DUID
,但我不知道它是否会在重启后持续存在……
ip -6 addr
打印大量实际地址:
inet6 <addr>/128 scope global dynamic noprefixroute
valid_lft 999612sec preferred_lft 394812sec
inet6 <addr>/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 1002639sec preferred_lft 397839sec
inet6 <addr>/64 scope link
valid_lft forever preferred_lft forever
到目前为止,我现在这global
意味着它已得到全球认可。但我有两个全局 - 这是我实际有效的 ipv6 地址?
在另一台主机上,我有三个:
/128 scope global dynamic noprefixroute
/64 scope global temporary dynamic
/64 scope global dynamic mngtmpaddr noprefixroute
我正在尝试为我的 RPi 设置一个固定的 IP,编辑/etc/dhcpcd.conf
.
scope link
正确的吗?我正在尝试按照以下教程在 CentOS 7 上的笔记本电脑上设置 PXE 服务器以连接到物理测试客户端: https ://www.linuxtechi.com/configure-pxe-installation-server-centos-7/#评论 35567
所有的配置文件和设置程序都来自这个网站。在“步骤:6 启动并启用 xinetd、dhcp 和 vsftpd 服务。”,命令:“systemctl start xinetd”和“systemctl enable xinetd”工作,但是当我运行命令:“systemctl start dhcpd.service”时,我收到以下错误消息:
Job for dhcpd.service failed because the control process exited with error code. See “systemctl status dhcpd.service” and “journalctl -xe” for details.
当我运行“systemctl status -l dhcpd.service”时,我收到以下错误消息:
systemctl status -l dhcpd.service
dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2022-07-05 11:18:07 EDT; 1min 12s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
Process: 11655 ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid (code=exited, status=1/FAILURE)
Main PID: 11655 (code=exited, status=1/FAILURE)
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: to which interface virbr0 is attached. **
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]:
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]:
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: No subnet declaration for enp0s20f0u13 (10.249.6.154).
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: ** Ignoring requests on enp0s20f0u13. If this is not what
Jul 05 11:18:07 localhost.localdomain dhcpd[11655]: you want, please write a subnet declaration
Jul 05 11:18:07 localhost.localdomain systemd[1]: dhcpd.service: main process exited, code=exited, status=1/FAILURE
Jul 05 11:18:07 localhost.localdomain systemd[1]: Failed to start DHCPv4 Server Daemon.
Jul 05 11:18:07 localhost.localdomain systemd[1]: Unit dhcpd.service entered failed state.
Jul 05 11:18:07 localhost.localdomain systemd[1]: dhcpd.service failed.
这里还有 Dhcpd.conf 文件:
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
# DHCP Server Configuration file.
ddns-update-style interim;
ignore client-updates;
authoritative;
allow booting;
allow bootp;
allow unknown-clients;
# internal subnet for my DHCP Server
subnet 172.168.1.0 netmask 255.255.255.0 {
range 172.168.1.21 172.168.1.151;
option domain-name-servers 172.168.1.11;
option domain-name "pxe.example.com";
option routers 172.168.1.11;
option broadcast-address 172.168.1.255;
default-lease-time 600;
max-lease-time 7200;
# IP of PXE Server
next-server 172.168.1.11;
filename "pxelinux.0";
}
我需要在我的 dhcpd.conf 文件中进行哪些更改以使命令“systemctl start dhcpd.service”正常工作,这样我才能完成 PXE 服务器教程?