web-dev-qa-db-ja.com

1つのインターフェイスでDHCPクライアントを無効にする

2つのイーサネットインターフェイス(ethoとeth1)を備えたサーバーで問題が発生しました。これはlinux-ubuntu-serverを実行します。 eth1はdhcp要求を行わない必要があります。これは、リスニングインターフェイスのみである必要があるためです。明らかに、eth0を正常に実行する必要があります。では、eth1を介してdhcpclient ationを無効にするにはどうすればよいですか?

少し早いですがお礼を。

3
Lopoc

何かのようなもの:

auto lo eth0 eth1

iface lo inet loopback

iface eth1 inet static
        address 192.168.32.130
        netmask 255.255.255.0
        gateway 192.168.32.1

/etc/network/interfaces構成ファイルで、eth1に静的IPアドレスが割り当てられます。

5

正しい/etc/network/interfacesファイルがあっても、dhclientは静的インターフェースでIPアドレスを要求し続けることがあります。問題は、誤った情報を持つ古い/var/lib/dhcp/dhclient.*.leasesファイルの存在である可能性があります。 dhclientを強制終了し、それらのファイルを削除して、新たに開始します(DHCPインターフェイスでifdown/ifupを実行します)。

1
lvd

このインターフェイスに静的IPを追加したくない場合は、DHCPクライアントによって割り当てられたIPを削除する必要があるかもしれません。

このスクリプトを実行すると、eth0のIPが削除されます。

#!/bin/sh
localip=`ip addr list dev eth0 | grep "inet " | sed 's/\(^\s*inet\s\)\([0-9\.]*\)\([\s\/].*\)/\2/'`
if [[$ip != ""]]; then
Sudo ip addr del $localip dev eth0
fi

手動で実行するか、crontabに設定する必要があります。または、IPが割り当てられた後で呼び出してみますが、フックする方法がわかりません。

0
scegg