web-dev-qa-db-ja.com

サーバーをDHCPから静的IPに切り替える

Ubuntu 10.04サーバーのインストールを実行していますが、最近DHCPから静的IPに切り替える必要がありました。 /etc/network/interfacesファイルを編集して切り替えました

iface eth0 inet dhcp

iface eth0 inet static  
address 192.168.1.167  
netmask 255.255.255.240  
network 192.168.1.160  
broadcast 192.168.1.175  
gateway 192.168.1.161

IPが少しおかしいことに気付くでしょう。これは、サーバーが特定のサーバーの分離専用の特別なサブネット上にあるためです。また、resolv.confファイルを編集して、適切なDNSサーバー(すべての地獄が壊れた場合に備えてGoogleの1つを含む)を含めました。

問題は、一見ランダムに見えるマシンが外の世界と話す能力を失うことです。マシンはまだ稼働していますが、ネットワークがまったくないように動作します。問題の一部は、このサブネットに対してDHCPが実行されておらず(存在しない)、dhclientがまだ実行されているように見えるため、何らかの競合が発生し(何もわからない)、ネットワークが停止することです。ただし、dhcp3-clientパッケージを削除することはできません。これにより、ubuntu-minimalパッケージも削除されるため、問題が発生します。

だから、アイデアはありますか? dhclientを呼び出している可能性があり、実行を停止するにはどうすればよいですか?

14
Enekk

マシンを再起動していない場合、その動作は正常です。 dhcpから静的IPへの変更は次のとおりです。

  • Sudo ifdown eth0
  • 構成を変更する
  • Sudo ifup eth0

理由は、構成を変更した後にifdownを実行すると、静的インターフェイスを停止しているように動作し、構成を台無しにしてしまうdhclientプロセスを強制終了しないためです。その場合は、dhclientプロセスを強制終了します。

Sudo killall dhclient

すべてうまくいくはずです。

14
jneves

jneves で述べたように、おそらくDHCPクライアントが物事を台無しにしています。

Sudo ifdown eth0- edit -Sudo ifup eth0の代わりに、ファイルの編集後に/etc/init.d/networking restartを実行するだけで済みます。また、リモートで実行できるという利点もあります...

(askubuntuに十分なポイントがありません。jnevesの答えにコメントすることはできませんので、これをコメントと見なしてください...)

編集:完全に忘れました;上記のコマンドはいつでも接続を切断しないので、SSHセッションは実際に設定の再ロードを生き延びます。それは、マシンに接続されている間にネットワーク設定を変更できるのは非常に素晴らしいことです...

2
Morten Siebuhr