複製されたLinuxシステムと/etc/udev/rules.d/70-persistent-net.rules


9

Ubuntuシステムをセットアップし、での定義eth0を含め、適切に構成しました/etc/network/interfaces。次に、そのシステムをイメージ化し、新しいシステムに複製しました。

初めてシステムを起動したときはすべて問題ありませんでしたが、数回再起動すると、ネットワーク構成のタイムアウトが発生しました。ログインしたところ、それeth0が利用できないことがわかりました。

私の最初の研究は、私が試してみましょうifdown -aifup -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、機能しているようですが、再起動してもアドレスが変更されないことは保証されますか?


このQの今後の訪問者:これはVMではなく、OPが新しいハードウェアに複製した物理システムです!
slm

回答:


7

CentOSで仮想マシン(VM)のクローンを作成したときに、まったく同じ問題が発生することがあります。この問題は、元のVMがイーサネットデバイスをセットアップするためにこのファイルにエントリを取得することに起因しますeth0

サンプル.rulesファイル

# 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"

編集#1

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ます!

参考文献


うーん。Macアドレスに関連付けられているflexライセンスでソフトウェアを実行しているため、これは私の場合には機能しません。アドレスが絶えず変化するため、ソフトウェアは役に立たない...
Zobal 2014年

@Zobal-私はFlexに精通しています。これはVMであるため、VMのMACを変更できます(VMソフトウェアでは、VirtualBox、KVMなど)。
slm

私の場合、それはVMではありません。ある物理システムを別の物理システムに複製しました。
Zobal 2014年

@Zobal-さて、あなたの唯一の選択肢は、新しいシステムのMACアドレスを他のシステムのMACと同じに変更することです。これらの2つのシステムは同じネットワーク上に存在できないことを認識してください。そうしないと、互いに競合します。また、Flexライセンスは通常MACを使用せず、次のコマンドを使用して識別可能な番号を使用しhostidます!
slm

flexライセンスは、ソフトウェアを特定のマシンに関連付けるために作成したライセンスで、この場合はMACを使用します。新しい開発:UBUNTUを(イメージではなく)ゼロから再インストールし、同じ動作を実現しています。これは実際には、ダーティシャットダウンでのみ表示されます(電源がヤンクされる)。何かご意見は?
Zobal 2014年

0

hostidは、サーバーのIPアドレスと同じくらい一意です。
あなたの例のホストIDはa8c0c801ですが、サーバーのIPアドレスは192.168.1.200ですか?
A8C0 C801-> C0A8 01C8
C0:192
A8:168
01:1
C8:200

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.