ifconfig up で SIOCSIFFLAGS: Cannot assign requested address エラー
CentOS 6 のサーバで、IPエイリアスを追加しようと、/etc/sysconfig/network-scripts/ifcfg-eth0:0 ファイルに記載して
ifconfig up
コマンドを使ったらエラーになってしまいました。
1 2 |
# ifconfig eth0:0 up SIOCSIFFLAGS: Cannot assign requested address |
以前はこの方法でもできたのですが、できなくなったようです。
試しに手作業で
1 |
# ifconfig eth0:0 192.168.200.20 netmask 255.255.255.0 up |
のようにしてもエラーが出ます。(あとで試したら出ないケースもあった)
シェルが日本語環境だと
1 |
SIOCSIFFLAGS: 要求アドレスに割り当てられません |
のように表示されることもあります。
RHEL/CentOS 6.4 以降では、/etc/sysconfig/network-scripts/ifcfg-eth0 に追記する形に変わったようで、それ以前の形式は CentOS6.6 では無効になったようです。
1 2 3 4 5 6 7 8 |
DEVICE="eth0" NM_CONTROLLED="yes" ONBOOT="yes" TYPE=Ethernet IPADDR=192.168.200.10 NETMASK=255.255.255.0 IPADDR2=192.168.200.20 NETMASK2=255.255.255.0 |
これで network をリロードすれば良さそうです。
1 2 3 4 5 6 7 8 |
# service network reload インターフェース eth0 を終了中: [ OK ] ループバックインターフェースを終了中 [ OK ] ループバックインターフェイスを呼び込み中 [ OK ] インターフェース eth0 を活性化中: Determining if ip address 192.168.200.20 is already in use for device eth0... [ OK ] |
さて、ネットワーク管理では今後 ifconfig ではなく、ip コマンドを使うことが推奨されています。
ip add
を使えば SIOCSIFFLAGS~のエラーは出ません。
1 |
# ip address add 192.168.200.20/24 dev eth0 |
これらの方法で追加した場合は ifconfig
コマンドでは IP エイリアスは表示されません。ip a
コマンドで状態を確認する必要があります。
1 2 3 4 5 6 7 8 |
# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:00:5e:00:53:14 brd ff:ff:ff:ff:ff:ff inet 192.168.200.10/24 brd 192.168.200.255 scope global eth0 inet 192.168.200.20/24 scope global secondary eth0 |
ITエンジニア募集中!
キュアコード株式会社はITエンジニアを募集しております。少人数の職場なので、上流・下流やサーバー・クライアント対応の垣根なく、あなたの強みを活かしながら いろいろなことにチャレンジ可能です。エンジニアとしての未経験の方、経験が少ない方も歓迎しています。
下記よりITエンジニア募集の採用情報をご覧いただけます。