ipコマンドの使い方

ネットワーク関連の設定をするifconfigコマンドが、CentOSでobsoleteになりました。

CentOS 7のminimalインストール直後の状態では、ifconfigが含まれていません。

ifconfigの代替として、iprouteパッケージに含まれるipコマンドを使用する事になります。

net-toolsパッケージをインストールすることでifconfigを使用し続けることはできますが、いずれifconfigを使用することができない環境が増えてくるものと思われます。

今のうちにipコマンドに慣れておくと良いでしょう。

Red Hatが公開しているチートシートも参考になります。PDFでダウンロードできます。
Red Hat Enterprise Linux の ip コマンドチートシート

IPアドレスの表示

ip addr
1: lo:  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
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.10/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 XXXX::XXXX:XXXX:XXXX:XXXX/64 scope link
       valid_lft forever preferred_lft forever

ネットワークデバイスの表示

ip link
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff

ネットワークデバイスに関する統計の表示

ip -s link
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    RX: bytes  packets  errors  dropped overrun mcast
    81784055   726405   0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    81784055   726405   0       0       0       0
2: eth0:  mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast
    14879508675 194399446 0       0       0       0
    TX: bytes  packets  errors  dropped carrier collsns
    29021979217 63591982 0       0       0       0

ルーティングテーブルの表示

デフォルトルートが192.168.0.1に設定されていることが分かります。

ip route
default via 192.168.0.1 dev eth0  proto static  metric 100
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.10  metric 100

ARPテーブルの表示

ip neigh
192.168.0.10 dev eth0 lladdr XX:XX:XX:XX:XX:XX STALE
192.168.0.1 dev eth0 lladdr XX:XX:XX:XX:XX:XX REACHABLE
192.168.0.2 dev eth0 lladdr XX:XX:XX:XX:XX:XX STALE

Linux arpコマンド

現在のarpの状況を表示するにはarpコマンドを利用する。

arp
--------------------------------
Address                  HWtype  HWaddress           Flags Mask            Iface
1.0.168.192.in-addr.arp  ether   00:80:6D:7A:01:5D   C                     eth0
192.168.0.14             ether   00:01:80:58:1B:AA   C                     eth0
arp
--------------------------------

デフォルトゲートウェイの設定 routeコマンド

リアルタイムでデフォルトゲートウェイを設定するには、routeコマンドを利用します。

現在の設定の確認

routeコマンドを引数無しで実行すると、現在のルーティングの設定が表示されます。

Destination (宛先) という項目にdefaultと書かれている行があります。その行のGatewayの値 192.168.100.1 が、現在設定されているデフォルトゲートウェイのIPアドレスです。

route
-------------------------------------------------
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   *               255.255.255.0   U     0      0        0 eth0
192.168.122.0   *               255.255.255.0   U     0      0        0 virbr0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.100.1   0.0.0.0         UG    0      0        0 eth0
-------------------------------------------------

デフォルトゲートウェイの削除

デフォルトゲートウェイを再設定するには一度現在の設定を削除する必要があります。実行した時点でネットワークがつながらなくなることがあるので、リモートログインしている際には注意してください。

route delete default

デフォルトゲートウェイの設定

デフォルトゲートウェイを192.168.100.254に設定します。

route add default gw 192.168.100.254

設定ファイルによるデフォルトゲートウェイの変更

設定ファイルを変更してネットワークをリスタートすることでデフォルトゲートウェイを変更することもできます。

vi /etc/sysconfig/network
--------------------------------
GATEWAY=192.168.100.254
--------------------------------

設定変更後すぐに設定を反映

/etc/rc.d/init.d/network restart