ネットワークの設定を行う
Debian(Ubuntu) でのネットワーク設定について以下に解説してみます。
以降の解説の各コマンドイメージでは、sudo を特に記述していません。
Ubuntuなどでは、デフォルトで sudo を使うようになっていますので、必要に応じて sudo を加味してご参照ください。
DHCPサーバを使うには
IPアドレスの設定で、DHCPサーバを使うようにするには、IPアドレスを変更する時と同じように
・/etc/network/interfaces
を編集します。
...
allow-hotplug eth0
iface eth0 inet dhcp
...
|
allow-hotplug eth0 は、カーネルがインターフェースからのホットプラグイベントを認知した際にインターフェース eth0 デバイスを 起動するという宣言です。
iface eth0 inet dhcp は、eth0 デバイスが inetのdhcpサーバーを使うことを宣言しています。
ここでは、デフォルトで設定されるallow-hotplug を使っていますが、auto でもOKです。
編集を終えたら、ネットワークの再起動 ( network restart [ or reload ] ) で変更したIPアドレスの情報を反映します。
( ここでもネットワークインターフェイスだけの再起動でもOKです。 )
$ service networking restart
...
$ ifdown eth0 && ifup eth0
...
|
最後に正しく変更されたか確認しておきましょう。
$ ifconfig -v eth0|grep inet
inet addr:192.168.0.111 Bcast:192.168.0.255 Mask:255.255.255.0
...
$ cat /etc/resolv.conf
...
search localdomain
nameserver 192.168.0.1
|
固定IPアドレスを変更するには
IPアドレスの設定で、固定IPアドレスを設定するには、DHCPサーバを使うときとに編集したファイルと同じ
・/etc/network/interfaces
を編集します。
...
auto eth0
iface eth0 inet static
address 192.168.0.111
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
...
|
auto eth0 は、eth0 デバイスをシステム起動時に自動起動するという宣言です。
iface eth0 inet static は、eth0 デバイスが inetの固定IPアドレスを使うことを宣言しています。
address に、実際のIPアドレスを指定します。
network に、ネットワークアドレスを指定します。
netmask に、サブネットマスクを指定します。
broadcast に、ブロードキャストを指定します。
gateway に、ゲートウェイを指定します。
編集を終えたら、ネットワークの再起動 ( network restart [ or reload ] ) で変更したIPアドレスの情報を反映します。
$ service networking restart
...
$ ifdown eth0 && ifup eth0
...
|
ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。
(
Ubuntu 14では、上記の networking restart で、エラーが出力されてしまうので、同様に以下の方法で行います。)
$ ifdown eth0
$ ifup eth0
...
|
最後に正しく変更されたか確認しておきましょう。
$ ifconfig -v eth0|grep inet
inetアドレス:192.168.0.111 ブロードキャスト:192.168.0.255 マスク:255.255.255.0
|
DHCP を利用していた場合、DHCP Clientが動作している可能性があります。
もし、そのまま、DHCP Clientが動作していると自動的に再度DHCPサーバーからIPアドレスを取得し、IPアドレスを変更してしまうことがあります。
まず、以下のように動作しているか確認し、動作している場合は、プロセスを終了し、かつ、DHCP Clientパッケージをアンインストールしましょう。
$ ps aux|grep dhc
root 1288 0.0 0.0 2328 844 ? Ss Apr29 0:00 dhclient -v -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0
root 18144 0.0 0.0 2988 828 pts/1 S+ 05:05 0:00 grep dhc
|
上記の場合、
dhclientがしっかり動作していますね。この場合、プロセスをkillし、パッケージを削除しておきます。
$ kill 1288
$ ps aux|grep dhc
root 18170 0.0 0.0 2988 832 pts/1 S+ 05:08 0:00 grep dhc
$ dpkg -l | grep dhc
ii isc-dhcp-client 4.1.1-P1-15+squeeze3 ISC DHCP client
ii isc-dhcp-common 4.1.1-P1-15+squeeze3 common files used by all the isc-dhcp* packages
$ apt-get remove isc-dhcp-client
...
|
ゲートウェイを変更するには
ゲートウェイの変更には、IPアドレスを変更する時と同じように
・/etc/network/interfaces
を編集します。
...
auto eth0
iface eth0 inet static
address 192.168.0.111
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1
...
|
gateway に変更するゲートウェイのIPアドレスを指定します。
編集を終えたら、ネットワークの再起動 ( network restart [ or reload ] ) で変更したIPアドレスの情報を反映します。
$ /etc/init.d/network restart
...
|
ネットワークの再起動でなく、ネットワークインターフェイスだけの再起動でもOKです。
$ ifdown eth0
$ ifup eth0
...
|
最後に正しく変更されたか ping コマンドを発行して確認しておきましょう。
$ ping www.yahoo.co.jp
PING www.g.yahoo.co.jp (xxx.xxx.xxx.xxx) 56(84) bytes of data.
64 bytes from f8.top.vip.ogk.yahoo.co.jp (xxx.xxx.xxx.xxx): icmp_seq=1 ttl=48 time=15.9 ms
64 bytes from f8.top.vip.ogk.yahoo.co.jp (xxx.xxx.xxx.xxx): icmp_seq=2 ttl=48 time=15.8 ms
64 bytes from f8.top.vip.ogk.yahoo.co.jp (xxx.xxx.xxx.xxx): icmp_seq=3 ttl=48 time=15.8 ms
...
|
ネームサーバーを変更するには
使用するネームサーバーを変更するには、
・/etc/resolv.conf
を編集します。
使用するネームサーバーを固定にしたい場合、DHCPサーバーを利用している時は注意が必要です。
DHCPサーバーをしようしている場合、デフォルトでは、DHCPサーバーから送られてくるネームサーバーを使用するように設定されます。
それを回避するためには、/etc/sysconfig/network-scripts/
ifcfg-eth0 の
PEERDNSを
noに設定しておきましょう。
( 参照 :
DHCPサーバを使うには )
...
domain exmaple.com
nameserver 8.8.8.8
nameserver 8.8.4.4
...
|
nameserver に変更、追加したいネームサーバーを設定します。
編集を終えたら、保存するだけでOKです。
変更内容が正しく反映されたか確認するには、pingコマンドを発行して名前解決できるか確認します。
$ ping www.yahoo.co.jp
PING www.g.yahoo.co.jp (xxx.xxx.xxx.xxx) 56(84) bytes of data.
64 bytes from f8.top.vip.ogk.yahoo.co.jp (xxx.xxx.xxx.xxx): icmp_seq=1 ttl=48 time=15.9 ms
64 bytes from f8.top.vip.ogk.yahoo.co.jp (xxx.xxx.xxx.xxx): icmp_seq=2 ttl=48 time=15.8 ms
64 bytes from f8.top.vip.ogk.yahoo.co.jp (xxx.xxx.xxx.xxx): icmp_seq=3 ttl=48 time=15.8 ms
...
|
上記のように pingが通ればOKです。
Ubuntu 12では、デフォルトで
resolvconfがインストールされるので、この/etc/
resolv.confは、
OS起動時に自動作成(自動更新)されます。
そのため、
Ubuntu 12では、/etc/
resolv.confを書き換えてはいけません(書き換えても上書きされるので意味がありません)。
Ubuntu 12では、/etc/resolvconf/resolv.conf.d/
base を上記の/etc/
resolv.confと同じように編集します。
...
domain exmaple.com
nameserver 8.8.8.8
nameserver 8.8.4.4
...
|
この値を反映するために
resolvconfを実行してあげます。
$ resolvconf -u
|
これでOKです。
ドメイン名を変更するには
ドメイン名を変更するには、
・/etc/resolv.conf
を編集します。
ドメイン名を変更した場合、ホスト名も変更になりますから、以降の ホスト名を変更するには も実施します。
...
domain exmaple.com
nameserver 8.8.8.8
nameserver 8.8.4.4
...
|
domain に変更したいドメイン名を設定します。
編集を終えたら、保存するだけでOKです。
変更内容が正しく反映されたか確認するには、ドメイン名を省略しpingコマンドを発行すると確認できます。
$ ping www
PING www.exmaple.com (xxx.xxx.xxx.xxx) 56(84) bytes of data.
64 bytes from www.exmaple.com (xxx.xxx.xxx.xxx): icmp_seq=1 ttl=48 time=15.9 ms
64 bytes from www.exmaple.com (xxx.xxx.xxx.xxx): icmp_seq=2 ttl=48 time=15.8 ms
64 bytes from www.exmaple.com (xxx.xxx.xxx.xxx): icmp_seq=3 ttl=48 time=15.8 ms
...
|
上記のように www と指定しただけで、ドメイン名を補間してくれます。
/etc/
resolv.conf には、複数のドメイン名を指定することもできます。
その場合、
domain キーでなく
search キーを使います。
以下は、
search キーの設定例です。ドメインとドメインの間は、半角ブランクを挿入します。
...
search exmaple111.com exmaple222.com
nameserver 8.8.8.8
nameserver 8.8.4.4
...
|
ホスト名を変更するには
ホスト名を変更するには、
・/etc/hostname
・/etc/hosts
を編集します。
ドメイン名も変更した場合は、ドメイン名を変更するには も実施します。
network (/etc/hostname)の編集
hosts (/etc/hosts)の編集
...
127.0.0.1 localhost
127.0.1.1 hoge.example.com hoge
111.122.133.144 hoge.example.com hoge
...
|
編集を終えたら、保存します。この情報を反映するには、リブートが必要です。
$ reboot
...
|
ホスト名の変更は、リブートして設定できたかどうか確認した方が良いでしょう。でも、セッティングの途中だったり、タイミング的にリブートできないときもあります。
そんなときは、メモリ上のホスト名をコマンドで変更します。
$ hostname hoge.example.com
|
これでOKです。
※
hostnameコマンドでは、メモリ上のホスト名のみ変更することに注意しましょう。
一応、一通りのネットワーク関連の設定についてまとめてみました。
CentOS(Scientific Linux)とは、ほとんど同じような設定内容ですが、微妙にファイル名が異なっていたりします。
やっぱり、このあたりを少なくとも同じLinuxで統一して欲しいものですね。
コメントを投稿 :