/ etc/network/interfacesでdhcpを静的に変更します(以下を参照)。
# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1
次に、インターフェイスを再起動します。
$ Sudo ifdown eth0; Sudo ifup eth0
...
$ ifconfig
eth0 Link encap:Ethernet
inet addr:10.10.130.128 Bcast:10.10.255.255 Mask:255.255.0.0
したがって、新しいアドレスが有効になります。
しかし、DHCPはまだそこにありますか?
$ ps aux | grep dhc
root ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0
それは正常ですか?そうでない場合、静的IPでインターフェイスを再起動し、同時にDHCPを停止する方法は?
どうもありがとう。
Sudo ifdown eth0
次に、構成を編集しますnano /etc/network/interfaces
# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1
インターフェースをバックアップしますSudo ifup eth0
そうでない場合、dhclient
は正しくシャットダウンしません。
同じ問題がありました(Ubuntu 16.04)。ただし、これはクラウドインスタンスであり、インターフェイスを簡単にダウンダウンできませんでした。
簡単な答え:ファイルを削除しました/etc/network/interfaces.d/50-cloud-init.cfg
ifupはその特定のファイルによってトリガーされました。
長い回答:/etc/network/interfaces
を使用して静的IPアドレスを使用してインターフェイスを設定しましたが、dhclientがDHCPからIPを要求しており、dhclientがsystemdを介して開始されていることがdaemon.logでまだ見つかりました。具体的には、systemdはnetworking.serviceユニットを呼び出し、これはifupを呼び出し、interfacesファイルと50-cloud-init.cfgファイルの両方を読み取ります。いくつかの競合が生じますが、それでも機能的なネットワークです。
私にとっては、これはgnomeのNetworkManagerがまだ実行中で、デバイスを担当していると考えていたためです。 ps
がdhclientがNetworkManagerによって起動されたことを示したので、後知恵でこれは明白であるはずです。
システムを再起動すると、デバイスはNetworkManagerで「管理対象外」になり、構成を試行しなくなりました。 NetworkManagerを停止/再起動するだけで同じことを達成できたかもしれませんが、よくわかりません。