>> HOME >> Linux Tips MENU >> Linux Tips : IP アドレスを変更する方法
Linux インストール時に IP アドレスを設定したものの、事情が変わって IP アドレスを変更する場合も出てくると思いますので、その方法をここに記述しておきます。

1. コマンドで変更
2. 永続的なネットワークの設定
1 ) /etc/sysconfig/network-scripts/ 以下のファイルを編集
2 ) 設定の反映
1. コマンドで変更
Linux で IP アドレスを変更するには次のようにします。
以下は IP=192.168.1.11 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 の例です。
[root@linux ~]# ifconfig eth0 inet 192.168.1.11 netmask 255.255.255.0 up 
変更を確認するには次のようにします。
# 全てのインターフェースを確認する場合
[root@linux ~]# ifconfig -a 
eth0      Link encap:Ethernet  HWaddr 01:E0:46:63:8A:DB
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd51::2c0:18ff:be63:9ebc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4078 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3642 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:371416 (362.7 KiB)  TX bytes:531140 (518.6 KiB)
          Interrupt:5 Base address:0x4000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1306 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1306 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:121212 (118.3 KiB)  TX bytes:121212 (118.3 KiB)

sit0      Link encap:IPv6-in-IPv4
          NOARP  MTU:1480  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

# インターフェースを指定する場合
[root@linux ~]# ifconfig eth0 
eth0      Link encap:Ethernet  HWaddr 01:E0:46:63:8A:DB
          inet addr:192.168.1.12  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fd51::2c0:18ff:be63:9ebc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4098 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3658 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:373167 (364.4 KiB)  TX bytes:535012 (522.4 KiB)
          Interrupt:5 Base address:0x4000
ただし、コマンドで設定しただけでは再起動後に設定が破棄されてしまいます。
永続的に設定する場合には /etc/sysconfig/network-scripts/ 以下のファイルを編集します。
2. 永続的なネットワークの設定
1 ) /etc/sysconfig/network-scripts/ 以下のファイルを編集
永続的に設定する場合には /etc/sysconfig/network-scripts/ 以下のファイルを編集します。
ここで設定できる項目はいくつかあります。
DEVICEネットワークインタフェイス(デバイス名)を指定
BOOTPROTOブート時などにIPアドレス情報を取得するためのプロトコルを指定。IPを指定する場合は'none'、DHCPを使用する場合は'dhcp'を指定
BROADCASTブロードキャストをIPアドレスで指定
IPADDRDEVICEで指定したネットワークインタフェイスに設定するIPアドレス
NETMASKサブネットマスクを指定
NETWORK直接接続するネットワークを示す、ネットワークIPアドレスを指定。
ONBOOTブート時にこのインタフェイスを有効にするか指定。有効にする場合は'yes'、無向にする場合は'no'
GATEWAYこのインタフェイスのGATEWAYを指定。設定しない場合は、この行は不用
TYPEこのインタフェイスのタイプ(種類)を指定。イーサネットは'Ethernet'、モデムは'Modem'
USERCTL一般ユーザーがこのインタフェイスを制御できるか指定。rootのみの場合は'no'、一般ユーザも含める場合は'yes'

それでは実際に eth0 の設定例を示します。
まず設定ファイルですが /etc/sysconfig/network-scripts 以下の ifcfg-インターフェース名 で設定します。
ここでは eth0 ですから /etc/sysconfig/network-scripts/ifcfg-eth0 になります。
# 固定IP=192.168.1.11 NETMASK=255.255.255.0 GATEWAY=192.168.1.1の場合
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

DEVICE='eth0'
BOOTPROTO='none'
BROADCAST='192.168.1.255'
IPADDR='192.168.1.11'
NETMASK='255.255.255.0'
NETWORK='192.168.1.0'
ONBOOT='yes'
GATEWAY='192.168.1.1'
TYPE='Ethernet'
USERCTL='no'

# DHCPを使用した場合
[root@linux ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

DEVICE='eth0'
BOOTPROTO='dhcp'
ONBOOT='yes'
TYPE='Ethernet'
2 ) 設定の反映
設定内容を反映するため、以下のコマンドを発行します。
[root@linux ~]# service network restart 
インターフェース eth0 を終了中:                            [  OK  ]
ループバックインターフェースを終了中                       [  OK  ]
ループバックインターフェイスを呼び込み中                   [  OK  ]
インターフェース eth0 を活性化中:                          [  OK  ]