CentOS6.5において、networkサービスが起動中に、
Bringing up interface eth0: Determining if ip address 172.16.x.x is already in use for device eth0.
というエラーが吐かれ、ifconfigで確認しても、アドレスが割り当てられない事象が発生します。
初心者にとってはすんげぇめんどくさいので、メモをとっておきます。
IPアドレスが割り当てられない理由
今回、VMwareで仮想サーバを作成し、新規テンプレートを作成後、新規仮想マシンへデブロイしました。
その際、macアドレスが違い、arpがうまくいかなくなるという事象のようです。
テンプレートを作成する際になぜかifcfg-eth0のファイルないのARPCHECK=noが無くなっちゃうみたいです。
また、テンプレートを作成する前に元になる仮想マシンMACアドレスを事前にフィルターすることもおすすめします。
設定を修正する手順
デプロイ後の新仮想サーバはアドレスが同じなので、以下ファイルでアドレスを変更します。
MACアドレスはデプロイ前に事前にフィルターをしておきます。
また、”ARPCHECK=no”も事前に追記しておきましょう。
サーバー起動時にうまくいかないことがあります。
cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 ENGINE=Ethernet UUID=4b6d90ba-9d1c-4ce5-9bb7-7fb49e7a9e8a ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=none IPADDR=172.16.1.11 #アドレスがコピー元のアドレスと被るので変更する PREFIX=24 GATEWAY=172.16.1.251 DEFROUTE=yes IPV4_FAILURE_FATAL=yes IPV6INIT=yes NAME="System eth0" #HWADDR=00:50:56:89:35:7b #事前に網掛け IPV6_AUTOCONF=no IPV6_DEFROUTE=yes IPV6_PEERDNS=no IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=yes ARPCHECK=no #設定を入れておく
また、テンプレートで新しく作成された仮想マシンはMACアドレスがコピー元のMACアドレスを受け継いでいるので以下で修正をしておきます。
]$ ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:56:89:35:7B #新仮想マシンのMACアドレス inet addr:172.16.1.11 Bcast:172.16.1.255 Mask:255.255.255.0 inet6 addr: fe80::250:56ff:fe89:357b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2634167 errors:0 dropped:0 overruns:0 frame:0 TX packets:954004 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:158230652 (150.9 MiB) TX bytes:55845440 (53.2 MiB)
eth0のmacアドレスが、eth1と変わっている可能性がある為、以下のファイルの修正をします。
cat /etc/udev/rules.d/70-persistent-net.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. # PCI device 0x8086:0x100f (e1000) #SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:89:35:77", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" #ここを網掛け # PCI device 0x8086:0x100f (e1000) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:89:35:7b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" #eth1→eth0に変更
service network restartでは設定が反映いされない為、サーバー自体を再起動を実施します。
shutdown -r now
これで、設定が反映されます。
お疲れでやんした。
以上です。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す