web-dev-qa-db-ja.com

静的に割り当てられたすべてのアドレスですが、dhcpcdは引き続き実行されますか?

Debian Wheezy(7.0)を実行しているVM(ESXi 5.1.0上))があります。

eth0には静的に割り当てられたアドレスがあります。 eth1 was DHCPが割り当てられたので、静的にします。

これが私の古い/etc/network/interfacesです:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback

# The primary network interface
allow-hotplug eth0 eth1
iface eth0 inet static
 address 10.2.1.77
 broadcast 10.2.1.255
 netmask 255.255.255.0
 pointopoint 10.2.1.1

iface eth1 inet dhcp

そして、これが私の新しい/etc/network/interfacesです:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo eth0 eth1
iface lo inet loopback

# The primary network interface
allow-hotplug eth0 eth1
iface eth0 inet static
 address 10.2.1.77
 broadcast 10.2.1.255
 netmask 255.255.255.0
 pointopoint 10.2.1.1

iface eth1 inet static
        address 10.1.0.254
        netmask 255.255.255.0
        gateway 10.1.0.1
        dns-nameservers 8.8.8.8

再起動すると、dhcpcdが古いDHCP割り当てアドレスのリースを更新しようとし、成功することがわかります。そして、/etc/resolv.confを上書きします。これはshould 8.8.8.8を含みますが、含まれていません。ただし、eth1には正しい(静的)アドレスがあります。

私はここで何が間違っているのですか? dhcpcdを完全に無効にしたくありません。近い将来、eth1をDHCPに戻すか、DHCPによって割り当てられた3番目のインターフェイスを追加する可能性があります。

1
craig65535

これは、dhcpcd5の制限が原因です。これにより、すべてのインターフェイスでDHCPが有効になります(すべてまたはまったく)。より柔軟なisc-dhcp-clientに切り替えることで、これを修正しました。

0
craig65535

実行(rootとして):

update-rc.d -f dhcpd remove

将来、再度有効にする場合は、

update-rc.d dhcpd defaults

注:rc.dから削除すると、すべてのインターフェイスで無効になります。これを復元すると、すべてのインターフェイスで有効になります。

2
Kruug

dhcpcdのmanページ は次のことを示しています。

denyinterfacesパターン

         When discovering interfaces, the interface name must not match
         pattern which is a space or comma separated list of patterns
         passed to fnmatch(3).

Dhcpcdがインターフェイスで動作するのを停止するには、/ etc/dhcpcd.confに行を追加して、インターフェイスをそのままにしておくように要求できます。

oPの場合、これは次のようになります。

denyinterfaces eth0

これにより、dhcpcdを有効にしたまま、その特定のインターフェイスでdhcpcdが混乱するのを防ぐことができます。これにより、インターフェース構成を/ etc/network/interfacesに保持することもできます。もう1つのオプションは、Arifferが提案したものを使用することです(/ etc/network/interfacesの代わりに/etc/dhcpcd.confを使用して構成を行います)。

2
Willyum2n

Dhcpcd(クライアントデーモン、ここではほとんどの人がDHCPおよびDHCPdと混同しています)を使用している場合は、/etc/dhcpcd.confの下部に次のテキストを追加します。

static
interface eth0
static ip_address=172.16.0.5/24
static routers=172.16.0.1
static domain_name_servers=8.8.8.8

もちろん、IP情報をネットワークの詳細に置き換えることを忘れないでください。

2
Ariffer

サービスを無効にすることができます。 https://serverfault.com/questions/32438/disable-a-service-from-starting-at-all-runlevels

推奨される方法は、デバイスの/etc/sysconfig/network-scripts/ifcfg-*ファイルを更新してdhcp行を削除する(またはfalseに変更する)ことです。

残念ながら、私は現在Linuxマシンの前にいないので、正確な構成を取得することはできません。

0
Colton