web-dev-qa-db-ja.com

Ubuntu 14.04 LTSネットワークマネージャーが静的ネットワークインターフェイスを上書きする

私はこれを理解するのに非常に長い時間を費やし、共有したいと思いました。

簡単なタスク:サーバー上の4つのNICの2番目に静的IPアドレスを追加します。

開始するには、静的IPアドレスの割り当ての指示に従ってください: https://help.ubuntu.com/14.04/serverguide/network-configuration.html

interfacesファイル:

$ cat /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
iface lo inet loopback

# The primary network interface
auto em1
iface em1 inet dhcp


auto em2
iface em2 inet static
address 172.24.0.9
netmask 255.255.0.0

次に、指示に従ってSudo ifup em2を実行します。

最初は、動作しているように見えました。 ifconfigはインターフェイスを適切に示し、ネットワーク上のデバイスにpingを実行できました。 しかし、約1分ほど後に、割り当てられた静的IPアドレスは消滅しました。アドレスが失われ、マシンに到達できません。これは、インターフェイスを何度起動または停止しても何度も発生します。なぜこうなった?

2
vcardillo

問題はネットワークマネージャーでした。 NMは、/etc/network/interfacesファイル内の明示的なインターフェースを無視することになっています。ただし、サービスを再起動する必要があるようです:

$ Sudo service network-manager restart
$
$ nmcli dev status
DEVICE     TYPE              STATE        
p1p2       802-3-ethernet    unavailable  
p1p1       802-3-ethernet    unavailable  
em4        802-3-ethernet    unavailable  
em3        802-3-ethernet    unavailable  
em2        802-3-ethernet    unmanaged    
em1        802-3-ethernet    unmanaged 

そして現在、静的IPはNetwork Managerによって上書きされていません。 2番目のインターフェイスの「管理されていない」状態(または作業中のインターフェイス)は、私たちが探しているものです。

tl; dr:interfacesファイルにインターフェイスを追加した後、network-managerサービスを再起動します。

5
vcardillo

/etc/init/networking.confの開始前および終了後の2つの「if ... fi」ブロックを削除するだけで、「service networking restart」が再び機能します。

1
diyism