Mad*_*rin 17 networking linux dhcp ip-address
我有一个Linux服务器应该只使用静态IP(Rasperry丕使用Raspbian作为OS)。
但是我注意到它也从 DHCP 服务器获得了 IP(DHCP 给出的 IP 是192.168.111.2)。根据网络设置,服务器应该只使用静态 IP ( 192.168.111.100)。
内容/etc/network/interfaces:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.111.100
netmask 255.255.255.0
gateway 192.168.111.1
dns-nameservers ip1 ip2
Run Code Online (Sandbox Code Playgroud)
尽管使用静态配置,我也可以使用 DHCP 提供的 IP 通过 SSH 连接到设备。此外,似乎ntpd使用了错误的 IP 以及正确的 IP。
Netstat 的输出:
udp 0 0 192.168.111.2:123 0.0.0.0:* 2774/ntpd
udp 0 0 192.168.111.100:123 0.0.0.0:* 2774/ntpd
Run Code Online (Sandbox Code Playgroud)
根据未使用ifconfig的IP 192.168.111.2:
eth0 Link encap:Ethernet HWaddr b8:27:eb:be:18:1c
inet addr:192.168.111.100 Bcast:192.168.111.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:138099 errors:0 dropped:0 overruns:0 frame:0
TX packets:81146 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:95954711 (91.5 MiB) TX bytes:27076870 (25.8 MiB)
Run Code Online (Sandbox Code Playgroud)
ps -ef | grep dhcp 显示我有一个 DHCP 守护进程正在运行:
root 2000 1 0 Oct07 ? 00:00:06 /sbin/dhcpcd
Run Code Online (Sandbox Code Playgroud)
如何禁用DHCP守护进程并确保我的服务器仅使用静态?
Gia*_*968 14
这种情况听起来很奇怪,因为如果在/etc/network/interfaces. 也就是说,在官方 Raspberry Pi 站点上的讨论集中在用户“rpdom”在日期为“2015 年 5 月 28 日星期四上午 6:21”的帖子中说明的问题:
这发生在最新的更新中。这是由于新的 dhcp 客户端忽略了接口文件的作用并另外做自己的事情......对我来说似乎很疯狂。我会看看如何重新配置 dhcp 客户端(无法记住它是哪个或如何做,我仍然使用对我有用的旧客户端),禁用它或删除它(如果可能)。
更深入的线程用户“KLL”在他们的回复中建议以下其他帖子,日期为“2015 年 8 月 10 日星期一下午 12:59”。根据“knute”:
在升级过程中的某个地方,
/etc/network/interfaces使用“手动”字样而不是 dhcp 或静态来修改我的 文件,最终我得到了两个 IP 地址,我的静态地址和一个 dhcp 地址。我终于有时间玩它,并发现它的dhcpcd5工作方式与以前不同。要仅获取您的静态地址,请不要修改/etc/network/interfaces. 如果您更改了“手册”一词,请将其放回原处,而是/etc/dhcpcd.conf按照文档中的示例所示进行修改 。
所以这个想法是dhcpcd5在其中一次升级中的行为发生了变化。解决此问题的建议是删除任何更改/etc/network/interfaces并调整设置/etc/dhcpcd.conf以获取静态 IP 地址;示例配置如下:
static <value>
Configures a static <value>. If you set ip_address then dhcpcd
will not attempt to obtain a lease and just use the value for the
address with an infinite lease time.
Here is an example which configures a static address, routes and
dns.
interface eth0
static ip_address=192.168.0.10/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
Run Code Online (Sandbox Code Playgroud)
关于 内容的更多信息dhcpcd.conf可以在官方手册页上找到。
也就是说,另一个想法是保留您的设置,/etc/network/interfaces然后编辑/etc/dhcpcd.conf添加行denyinterfaces eth0以告诉 DHCP 守护程序完全忽略eth0. 任何一种解决方案都应该有效,但根据您的整体网络需求/要求,一种解决方案可能是更可取的解决方案。
小智 9
对我有用的是使用原始问题中的 /etc/network/interfaces 并简单地删除 dhcp 客户端:
apt-get remove dhcpcd5 isc-dhcp-client isc-dhcp-common
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65643 次 |
| 最近记录: |