Gibabit Ethernetの増設

私のメモです。参考になればいいですが、間違っていたらごめんなさい。

戯れ言

--------------------------------------------------------

Thanks to logo of debian GNU/Linux




























サーバならDebian

家のLAN環境をGigabitにするため、Cube PCにGigabit Ethernetカードを増設することにしました。購入したのはI-O DATAのETG3-PCIです。Linuxドライバも添付しているようですが、最近のカーネルであれば認識するだろうと考えて、あまりその辺は気にせず購入しました。

ETG3-PCIの認識

最近は面倒なのでカーネルのカスタマイズをしていません。現在のカーネル(2.6.32-5-686 2013/02/05版)で、Ethernetカードを取り付けて起動してみると、ETG3-PCIはRTL8169sb//8110sbと無事認識しました(元のEthernetはRTL8101eです)。どちらもr8169モジュールで動作するようです。

Back to MENU

eth0とeth1の交換

さて、カードは認識したので後はeth0(元の100Base-Tカード)と新しいeth1(ETG3-PCI)を入れ替えれば作業終了です。この入れ替えは、/etc/udev/rules.dにあるxx-persistent-net.rulesを書き換えます(但し、xxはシステムによって変わる2つの数字)。このファイルは、最近のカーネルで使われているudevシステムの設定ファイルです。udevはデーモンとして常駐し、カーネルのサブシステムとして働きます。例えば、eth0へアクセスする命令がカーネルに飛ぶと、カーネルの前にudevがその命令をキャッチし、eth0とハードウェアの対応を見て適切な命令をカーネルに送るというように動作するようです。

/etc/udev/rules.d/xx-persistent-net.rulesファイルを見ると、Macアドレスとethの番号を対応させるようになっています。eth0とeth1を書き換えるだけで終了です(下のファイルは書き換え後です)。

# 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 0x10ec:0x8136 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1f:d0:3d:a2:69", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8169 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="34:76:c5:00:28:dc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

書き換えを終えたらシステムをシャットダウンし、LANの配線をETG3-PCIに挿してから再度起動するとETG3-PCIが使えるようになりました。

但し、udevを使っているので、dmesgでは相変わらず昔のEthernetコントローラがeth0となっていました(参考:dmesgファイル)。

ddclientのインストール

Gigabit EthernetをLANポートに持つPA-WR8370N-HPにブローバンドルータを買い変えたのですが、PA-WR8370N-HPDynDNSのIPアドレス更新に対応していません。そのため、DynDNSのIPアドレス更新を行うソフトddclientをインストールしました。以下のapt-getでインストールすると設定を聞かれますが、不足する項目があるため、適当に入力しておきます。

# apt-get install ddcient

ddclientのインストールを終えたら、DynDNSのUpdate Client Configuratorで設定ファイルを作成します。以下のような設定ファイルが作成されます。但し、メールの送信先をDynDNSに登録したメールアドレスからrootに変えています。

## ddclient configuration file
daemon=600
# check every 600 seconds
syslog=yes
# log update msgs to syslog
mail-failure=root # Mail failed updates to user
pid=/var/run/ddclient.pid
# record PID in file.
## Detect IP with our CheckIP server
use=web, web=checkip.dyndns.com/, web-skip='IP Address'
## DynDNS username and password here
login=fishers
password='パスワード'
## Default options
protocol=dyndns2
server=members.dyndns.org
## Dynamic DNS hosts
fishers.dyndns.info

このファイルをddclient.confとして/etcの下に保存します。apt-getでインストールした際に同名のファイルがあるので、上書きすればOKです。上記の「パスワード」はそのまま記述されますので、/etc/ddclient.confはroot以外読み書きできないよう設定する必要があります(上書きした場合、その状態になっています)。

# chown root /etc/ddclient.conf
# chmod 600 /etc/ddclient.conf

また、IPアドレスをチェックする際、外部に向けてアクセスしますので、iptablesのOUTPUT Chainでそれを許可する必要があります。

iptables -A OUTPUT -p tcp -o eth0 --dport 80 -j ACCEPT

Back to MENU