ひっきぃのメモ帳

趣味で作るプラモデル製作の過程と作品、日々の資格取得へ向けての活動、Apple中心のIT関連ネタを書いています。

ルーターマシンのマザーボードを交換した時の備忘録

自宅のネットワーク環境は勉強も兼ねて組み立てPCをルータに仕立てて運用しています。
ルータ機能の他には

  • DHCPサーバ
  • ファイアウォール
    • 以前にDoS攻撃の踏み台にされたこともあるので、最近はガチガチなセキュリティ。
  • SNMP+MRTGで日々の通信量などのログ取得
  • Webサーバ
  • DBサーバ
    • Apache+MySQLを使って、学生の模試やアンケートの結果を集めています。

これらの機能を1台に集約しています。
OSはVineLinux


先週の話。このPCが再起動を繰り返し再起不能の状態になっていました。
少し前から兆候はあったのですが放置していた結果です。
そのうち、最初の画面ですら表示されない状況に。


さて、困りました。ハードウェアトラブルであるのは間違いがありませんが、ある程度予想で原因を追及しなければなりません。
最終的には CPU か マザーボードのどちらかだろうと判断しました。
マザーボード BIOSTAR の G41-M7。LGA775Celeronで動かしています。


まずはCPUと予想。近くにお店もないのでAmazonを覗くと中古のCeleron。全く同じCPUが売りに出ていたのでまずはそれを購入して交換。
350円でしたが送料を合わせると980円


残念ながら結果は全く変わらず。原因はCPUではなかったようです。
となると原因はマザーボード。これは面倒なことになってきた。
新しいマザーボードになったらDDR3のメモリも買わなければならないのかも。OS再インストールして設定も一からやり直しかも。
と思いながら探すと同じ型のマザーボードがまだ売っているではありませんか。
これなら最小限の労力で現状復帰できそう。
早速購入しました。フェイスインターネットショップで6790円+送料


到着後開封すると、同じ型番だけどバージョンが上がっているようで少し違いがあるようです。
FDDコネクタが廃止されていたのが一番大きなところでしょうか。

早速交換して起動チェック。無事起動できました。
あとは蓋を閉じて設置して終わり...


と思いきや、オンボードのネットワークが認識していないようです。
ルータにしているので、PCINICカードを刺していますが、こちらは通常通り接続できる様子。
ここからが本題。

仮説1)
基板のバージョンも上がっているみたいだし、ネットワークのチップが変わった対応できなくなったのだろうか。

>lspci -v
で出てくる情報では

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 05)
	Subsystem: Biostar Microtech Int'l Corp Device 230c
	Flags: bus master, fast devsel, latency 0, IRQ 17
	I/O ports at d800 [size=256]
	Memory at fdfff000 (64-bit, prefetchable) [size=4K]
	Memory at fdff8000 (64-bit, prefetchable) [size=16K]
	Capabilities: 
	Kernel driver in use: r8169
	Kernel modules: r8169

r8169という以前と変わらないドライバをちゃんとと使えるように見えます。


仮説2)
設定に何か不具合がある。

/etc/sysconfig/network-scripts/ifcfg-eth0
の内容

# Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:30:67:3A:69:D1
ONBOOT=no
TYPE=Ethernet
NM_CONTROLLED=no
USERCTL=no
PEERDNS=yes
IPV6INIT=no

HWADDRってMACアドレスの事だから、ここを変えないとダメなのかもしれない。
BIOS画面から内蔵NICのMACアドレスを知る事ができたので、ここを変更して再起動。


結果変わらず。


方々調べたところ、このページを見つけました
http://www.linuxmaster.jp/linux_blog/2011/09/vmwaredevice-eth0-does-not-seem-to-be-present-delaying-initialization.html

MACアドレスを覚えているところが別な所にもあるのか。
/etc/udev/rules.d/70-persistent-net.rules

# Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rule written by anaconda)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0d:0b:9c:4a:3a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rule written by anaconda)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:67:3a:69:d1", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x10ec:0x8136 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:97:5a:44:64:99", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

2番目にあるのが以前のeth0の設定。下にあるのがいつのまにか出来ていた新しい設定、eth2になっている。このあたりが矛盾しているから繋がらないのかということで、2番目のeth0のMACアドレスの部分を新しいMACアドレスに書き換え、eth2の設定は要らないので削除したところ無事接続できるようになりました。


ここまでたどり着くのに一日ががりでした。疲れた。