Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[linux-users: 108733] MACアドレスの変更方法について教えてください

2,867 views
Skip to first unread message

"鈴木孝征 (Suzuki Takamasa)"

unread,
Mar 13, 2011, 11:35:51 PM3/13/11
to
Linux users MLの皆さま

鈴木と申します。件名について教えてください。

これまで使っていたコンピュータが故障し、新しいハードウェアを調達し、
CentOS5.5をインストールいたしました。

これまで稼働中であったサービスにネットワークインターフェースのMACアドレ
スを確認して起動するものがありました。新しいコンピュータのMACアドレスは
これまでとは異なるためこのサービスを起動することができなくなりました。

そこでifconfig eth0 hw ether 00:xx:xx:xx:xx:xx として古いコンピュータの
MACアドレスを設定したところ、このサービスを起動することができるようにな
りました。

問題は上記の設定がコンピュータの再起動のたびに消えてしまうことです。MAC
アドレスの変更を起動時に行うようにする設定はありますでしょうか。

/etc/modprobe.confにはalias eth0 e1000とあります。このへんになにか記述し
て/etc/rc.d/rc3.d/S10networkの前に変更できると一番うれしいのですが。

よろしくお願いいたします。
_______________________________________________
linux-users mailing list
linux...@listserv.linux.or.jp
http://listserv.linux.or.jp/mailman/listinfo/linux-users

kawa...@wwing.net

unread,
Mar 14, 2011, 8:21:31 AM3/14/11
to
こんばんは。川崎と申します。

/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルの
HWADDR行を新しいMACに変更するか、この行をコメントアウトしてみてはいかがでしょうか?

お役に立てば何よりです。

引用 "鈴木孝征 (Suzuki Takamasa)" <taka...@thaliana.myhome.cx>:

Takeshi Kusune

unread,
Mar 15, 2011, 5:18:11 PM3/15/11
to
楠根です。

(2011/03/14 21:21), kawa...@wwing.net wrote:
> /etc/sysconfig/network-scripts/ifcfg-eth0 ファイルの
> HWADDR行を新しいMACに変更するか、この行をコメントアウトしてみてはいかがでしょうか?

鈴木さんの要望はeth0の立ち上げ前にMACアドレスを設定したいというものですが、
HWADDR行の設定は、操作対象インタフェースかどうかの判別に名前だけでなく
MACアドレスも使うためのもので、MACアドレスを設定するためのものではりません。

> 引用 "鈴木孝征 (Suzuki Takamasa)" <taka...@thaliana.myhome.cx>:

>> そこでifconfig eth0 hw ether 00:xx:xx:xx:xx:xx として古いコンピュータの
>> MACアドレスを設定したところ、このサービスを起動することができるようにな
>> りました。
>>
>> 問題は上記の設定がコンピュータの再起動のたびに消えてしまうことです。MAC
>> アドレスの変更を起動時に行うようにする設定はありますでしょうか。
>>
>> /etc/modprobe.confにはalias eth0 e1000とあります。このへんになにか記述し
>> て/etc/rc.d/rc3.d/S10networkの前に変更できると一番うれしいのですが。

/etc/modprobe.conf に、
install e1000 /sbin/modprobe --ignore-install e1000 $CMDLINE_OPTS; /sbin/ifconfig eth0 hw ether 00:xx:xx:xx:xx:xx
などのような行を追加すると動きませんかね?
--
Takeshi Kusune <kus...@sfc.wide.ad.jp>

tomari_keicho

unread,
Mar 16, 2011, 9:25:32 AM3/16/11
to
はじめまして。渡眞利と申します。

これに関連して教えて頂きたくお願い致します。

On 2011/03/16, at 6:18, Takeshi Kusune wrote:
> HWADDR行の設定は、操作対象インタフェース
> かどうかの判別に名前だけでなくMACアドレスも
> 使うためのもので、MACアドレスを設定するため
> のものではりません。

2003年頃、サーバ管理を担当していたときに
/etc/sysconfig/network-scripts/eth0
のHWADDRの行を変更する事でMACアドレスの
変更を行っていましたが、そのやり方ではまずかった
と言う事でしょうか?何か問題が発生する可能性が
ありましたらご教授願いたいのですが・・・。
宜しくお願い致しますm(_ _)m

____
システム・サポート イコライザー
渡眞利 恵長(とまり けいちょう)
tomari...@ybb.ne.jp

鈴木孝征

unread,
Mar 16, 2011, 10:06:08 AM3/16/11
to
皆様へ

ご返答ありがとうございます。お返事が遅くなりすみません。

川崎様から提案いただいたifcfg-eth0のHWADDRを変更する方法ですが、私の環境
ではうまくいきません。ifupのスクリプトなどを見ますと設定しようとしている
eth0とifcfg-eth0のHWADDRを比較して異なるとエラーを表示してNICが有効にな
りません。楠根様のおっしゃられる通りかと思います。

渡眞利様の環境ではHWADDRがMACアドレスを変更するために使われていたという
ことですかね。

結局のところrc3.dにS08macaddressなるファイルを追加し、中でifconfig eth0
hw ... とするようにいたしました。

楠根様から提案いただいたmodprobe.confに追加する方法は機能するかどうか試
していません。modprobe.confのinstallなる行で何が起きるのか理解できていな
いのでちょっと不安です。すみません。

皆様ありがとうございました。

tomari_keicho

unread,
Mar 16, 2011, 11:48:50 AM3/16/11
to
渡眞利です。

On 2011/03/16, at 23:06, 鈴木孝征 wrote:
> 渡眞利様の環境ではHWADDRが
> MACアドレスを変更するために
> 使われていたということですかね。

 はいその通りです。それとファイル名は
/etc/sysconfig/network-scripts/eth0
ではなく
/etc/sysconfig/network-scripts/ifcfg-eth0
だったようです。失礼しました。

 ちなみにネットワーク以外で起動時何かを
設定したい時は/etc/init.rc(だったかな?)に
コマンドを追加していたと思います。
 今回のご質問の件をファイルifcfg-eth0の
編集以外で解決するとすれば、単純にifconfig
での設定をinit.rcに追加するのではいけない
のでしょうか。

 後、ファイルeth0のHWADDR行で
MACアドレスを設定することについて問題点が
あるようでしたら、やはり知っておきたいと
思うのですが・・・。

____
システム・サポート イコライザー
渡眞利 恵長(とまり けいちょう)
tomari...@ybb.ne.jp

"鈴木孝征 (Suzuki Takamasa)"

unread,
Mar 16, 2011, 8:39:44 PM3/16/11
to
鈴木です。

>  ちなみにネットワーク以外で起動時何かを
> 設定したい時は/etc/init.rc(だったかな?)に
> コマンドを追加していたと思います。
>  今回のご質問の件をファイルifcfg-eth0の
> 編集以外で解決するとすれば、単純にifconfig
> での設定をinit.rcに追加するのではいけない
> のでしょうか。

/etc/rc.d/rc.local のことでしょうか。こちらが実行されるのはかなり最後の
ほう(ネットワークが起動し、多数のサービスが起動後)なので今回の問題には使
えません。

>  後、ファイルeth0のHWADDR行で
> MACアドレスを設定することについて問題点が
> あるようでしたら、やはり知っておきたいと
> 思うのですが・・・。

CentOSではHWADDRで指定されるMACアドレスはインターフェース名(eth0など)と
の対応付けのために使用されているので、それ以外の目的に使用しても意味がな
いかと思います。渡眞利様の環境でHWADDRの設定がMACアドレスの変更のために
あるのであればいいのではないでしょうか。

"鈴木孝征 (Suzuki Takamasa)"

unread,
Mar 16, 2011, 9:42:40 PM3/16/11
to
鈴木です。

Yasuhara, Toshitaka 様から下記の情報をいただきました。

> MAC Addrの変更方法ですが、ifcfg-*にMACADDR="MACアドレス”でIF起動時に
> 変更可能です。
>
> 以下のSolution1です。
>
> <http://www.articlealley.com/article_1337107_11.html>

これで目的のことが達成できました。どうもありがとうございました。

Takeshi Kusune

unread,
Mar 17, 2011, 12:11:02 AM3/17/11
to
楠根です。

(2011/03/17 10:42), "鈴木孝征 (Suzuki Takamasa)" wrote:
> Yasuhara, Toshitaka 様から下記の情報をいただきました。
>> MAC Addrの変更方法ですが、ifcfg-*にMACADDR="MACアドレス”でIF起動時に
>> 変更可能です。

なるほど。ifconfig 関連だけ調べてましたが、
ip link set dev ${DEVICE} address ${MACADDR}
というコマンドで設定してるんですね。

ないわけはないよなーと思いながら /etc/sysconfig/network-scripts 以下で
grep してたんですが、"MACADDR" による検索もしてなかったです。
grep 力がまだ足りなかったようです:) 勉強になりました。


あと、渡眞利さんの以下の記載ですが、

(2011/03/17 0:48), tomari_keicho wrote:
> ちなみにネットワーク以外で起動時何かを設定したい時は
> /etc/init.rc(だったかな?)にコマンドを追加していたと思います。

私の環境(CentOS 5.5)では
/etc/rc.d/rc.sysinit にあたるファイルのことでしょうか?

これに記載することで、確かに各種プロセスの起動前に設定は可能です。
ただ、他に問題のない方法がとれるならなるべく避けた方がいいかと思います。
理由は以下の三点です。


1. システムの起動時冒頭の一回しか起動しない

起動中に消えてしまうような設定の場合、再設定がなされません。
今回でいえば、eth0 に対応する module が unload された場合設定が消えます。
(管理された状況では意図しない形で起きることはほぼないと思いますが)


2. ロジックとデータは混在しない方がわかりやすい

/etc/sysconfig/network-scripts/ifcfg-* は network device ごとの設定、
/etc/modprobe.conf は module 起動時のパラメータ、がそれぞれコンパクトに
集まっていますが、rc.sysinit には各種システムの初期化動作が混在していて、
設定内容以外も色々記載されているので確認や修正の際にわかりにくいと思います。


3. rc.sysinit は更新される可能性がある

2 とも関連しますが、rc.sysinit には OS 自体で提供している初期化ロジックが
記載されているので、OS の更新時に内容が変更になることがあります。
この時に既に手が入っていると、そのファイルが更新されなかったり、
逆に手で行なった編集が消えてしまったり、ということになる可能性があります。
後者は最悪ですが、前者でも不具合解消の恩恵を受けられなかったりするので、
なるべく設定は設定ファイルでまとめた方がよいと思います。

なお、rc.sysinit ファイルは RPM 上は設定ファイル扱いなので、
手で変更を加えていた場合は RPM による更新時にも上書きされることはないはずで、
起きるとすれば前者の事象だと思います(CentOS 5.5 の場合)。
--
Takeshi Kusune <kus...@sfc.wide.ad.jp>

tomari_keicho

unread,
Mar 17, 2011, 7:17:58 AM3/17/11
to
渡眞利です。

On 2011/03/17, at 9:39, 鈴木孝征 (Suzuki Takamasa) wrote:
> /etc/rc.d/rc.local のことでしょうか。
確かにそうでした。
曖昧な記憶のままお話ししてすみません。

> 渡眞利様の環境でHWADDRの設定が
> MACアドレスの変更のためにあるので
> あればいいのではないでしょうか。

Fedoracore1以降、久しくRedhat系を
使用しておらず、勉強になりました。
どうもありがとうございました。

若輩者ですが今後とも宜しくお願い致しますm(_ _)m

____
システム・サポート イコライザー
渡眞利 恵長(とまり けいちょう)
tomari...@ybb.ne.jp

kawa...@wwing.net

unread,
Mar 17, 2011, 11:14:23 PM3/17/11
to
川崎です。こんにちは。

最初のご質問の意図を良く理解せずにHWADDRの変更というレスをしてしまいまい
失礼しました。

任意のmacの指定はMACADDRで設定できるんですね。udevやmodprobe.confで
対処しなければならないのかと思っていましたが、勉強になりました m(__)m

--
Tatsuo Kawasaki
kawasaki at wwing.net


Original Message: Takeshi Kusune <kus...@sfc.wide.ad.jp>:

0 new messages