ネットワークインターフェースを設定した際のコマンドなど
新しいNIC(ネットワークカード)を導入したのでそれに移行した際のメモ。
装着したNICが認識されている事を確認
ifconfig
ifconfig -a
でアクティブでないインターフェースも表示。
dmesg
dmesg(display message)でハードウェアのメッセージが表示できる。以下例。
$dmesg | grep eth2 IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready ixgbe 0000:03:00.0: registered PHC device on eth2 IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready ixgbe 0000:03:00.0 eth2: NIC Link is Up 10 Gbps, Flow Control: RX/TX IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
lspci
PCIデバイスを表示する。
$lspci | grep Ethernet
ネットワークインターフェースの設定
Ubuntu環境だと/etc/network/interfaces
ファイルをいじればいい。以下、元々のeth0-DHCP設定を変えて、静的IPにした時の設定。
# The primary network interface auto eth2 #iface eth0 inet dhcp iface eth2 inet static address 192.168.1.10 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.2
設定の反映
ネットワークインターフェースの起動・シャットダウン
$ifdown eth0 $ifup eth2
とかすればいけるんかと思ってたら、
ifdown
に対してはifdown: interface eth0 not configured
とか出たり、
ifup
に対してはIgnoring unknown interface eth2=eth2.
とか言われてどうしようもない。
ネットワークの再起動
$service networking restart stop: Unknown instance: networking stop/waiting
なぜか再起動できないのでパスを直接指定。
$/etc/init.d/networking restart
...
RTNETLINK answers: File exists
Failed to bring up eth2.
eth2に新しく設定したipがeth0が現在持っているipなので競合でもしてるのかなーと思い、直す方法を探してみる。探しあてたコマンド
$ip addr flush dev eth0
これがなんかうまくいって、eth0を解放できたみたい。
しかし、未だにifconfigにeth0が表示されるので、除去するために
$ifconfig down eth0
以上でネットワークインターフェースの移行終了。