Ubuntuシステムをセットアップし、eth0
を/etc/network/interfaces
に定義するなど、適切に構成しました。次に、そのシステムをイメージ化し、新しいシステムに複製しました。
最初にシステムを起動したときはすべて問題ありませんでしたが、数回再起動すると、ネットワーク構成のタイムアウトが発生しました。ログインしたところ、eth0
が利用できないことがわかりました。
最初の調査では、ifdown -a
とifup -a
を試してみましたが、何回か行ったところ明らかな効果はありませんでした。
調査の結果、私は/etc/udev/rules.d/70-persistent-net.rules
を指摘されました。そこで、新しいシステムのMACアドレスがeth1を作成したことがわかりました。いい考えですが、私がしたかったことではありません。
今起動したところ、/etc/udev/rules.d/70-persistent-net.rules
に6つの異なるHWアドレスに対する6つのエントリがあることがわかりました。これは、インターフェイスが1つしかないために不思議です。
私の質問は次のとおりです。ifup -a
を使用すると、作成する新しいMACアドレスがどういうわけか作成されましたか?そうでない場合、これがどのように発生したかについて何か考えはありますか?現在のハードウェアアドレスに/etc/udev/rules.d/70-persistent-net.rules
という名前を付けるようにeth0
を変更しましたが、正常に機能しているようですが、再起動時にアドレスが再び変更されないことは保証されますか?
CentOSで仮想マシン(VM)のクローンを作成したときに、まったく同じ問題が発生することがあります。この問題は、元のVMエントリを取得して、イーサネットデバイスeth0
をセットアップするためにこのファイルに入力したものです。
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:dd", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
最初のVMのクローンを作成すると、問題が醜くなります。KVM for one)などの一部の仮想化テクノロジーでは、新しいMACアドレスが作成されます。この新しいMACアドレスは、複製されたVMは/lib/udev/write_net_rules
によって起動され、新しいイーサネットデバイスとして表示されるため、2番目のエントリが上記のファイルに追加されます。
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
通常、このファイル70-persistent-net.rules
をエディターで開き、行を統合して新しいMACアドレスをeth0
デバイスに割り当てて再起動します。
...
# net device () (custom name provided by external tool)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:ff:ff:de", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
OPは次の新しい情報で質問を追跡しました。
アイテム#1:うーん。 Macアドレスに関連付けられているflexライセンスでソフトウェアを実行しているため、これは私の場合には機能しません。絶えず変化するアドレスは、そのソフトウェアを役に立たなくします。
@Zobal-私はFlexに精通しています。 VMなので、VMのMACを変更できます(VMソフトウェア-VirtualBox、KVMなど))。
注:Flexは Flexera によって提供されるライセンス技術です。以前は、GlobeTrotter Softwareと呼ばれていました。このテクノロジーにより、ソフトウェアを物理ホストに関連付けるか、中央サーバーから「トークン」としてライセンスを管理して、クライアントが一定期間トークンをチェックアウトできるようにすることができます。通常、ライセンスはホストに関連付けられており、このホストは通常、hostid
コマンドを使用して検索できる一意の番号で識別されます。
例えば:
$ hostid
a8c0c801
アイテム#2:私の場合、それはVMではありません。ある物理システムを別の物理システムに複製しました。
私が応答したところ:さて、あなたの唯一の選択肢は、新しいシステムのMACアドレスを他のシステムのMACと同じに変更することです。これらの2つのシステムは同じネットワーク上に存在できないことを認識してください。そうしないと、それらは互いに競合します。また、Flexライセンスは通常MACを使用せず、hostid
!コマンドを使用して識別可能な番号を使用します。
hostidはサーバーのIPアドレスと同じくらいユニークです。
例のホストIDはa8c0c801ですが、サーバーのIPアドレスは192.168.1.200ですか?
A8C0 C801-> C0A8 01C8
C0:192
A8:168
01:1
C8:200