ネットワーク設定(Ubuntu) このエントリーをはてなブックマークに追加

提供:Asterisk Works Wiki
移動: 案内, 検索

このページではUbuntuのネットワーク設定についてまとめる。

ネットワークの設定は[システム]-[システム設定]-[ネットワーク]で設定ツールが起動するのでGUIで設定できる。

設定ツールので設定した内容は[接続]タブで設定した内容は次のファイルに記録される。

/etc/network/interfaces

このページではifconfigを使ったテンポラリな設定ではなく、また、GUIツールに頼らないネットワークの設定を行う方法を扱う。

目次

基本的な設定

Ubuntuではネットワークの設定は /etc/network/interfacesを編集して行う。
interfacesには1行に一つづつ設定を行う。 最初に設定項目名を書き、スペースを空けてその設定値を記述する。 iface loはローカルループバックアドレスのことで、必ず設定しておく。

eth0をdhcpで設定する場合の設定例は次の通り

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

eth0に固定アドレスを設定する場合の設定例は次の通り。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.211
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
設定項目 説明
auto
iface


DHCPで設定される以外のDNSサーバを設定したい

DHCPでIPアドレスを取得していると、だいたいDNSサーバのアドレスもオプションとして設定される。 しかし、DHCPで設定されるDNSサーバ以外のサーバが設定できない(GUIで設定してもDHCPの設定で上書きされる)。 DHCPサーバで設定される以外のDNSを設定する場合は次のファイルを編集する。

/etc/dhcp3/dhclient.conf

上記ファイルの中で次の行のコメントアウトを外し、DNSサーバのアドレスを設定する。 例はDNSサーバ192.168.1.20と192.168.1.25の2つを設定している。複数設定する場合はカンマ区切りで記述する。

なお、prependで設定するとここで設定した値がDHCPサーバからの値より優先して使われる。DHCPサーバの値を優先したい場合はprependの代わりにappendを使って設定する。

#prepend domain-name-servers 127.0.0.1;
   ↓
prepend domain-name-servers 192.168.1.20,192.168.1.25;

設定語は次のコマンドでネットワークを再起動する。

sudo /etc/init.d/networking restart

設定後は設定ツールのGUIにも表示される。

DHCPサーバからアドレスを受けたときの情報を確認する

次のファイルにリースされたときに受け取った情報が記録されている。

/var/lib/dhcp3/dhclient.eth0.leases

内容は次の様な感じ。リースタイムや現在のリース期限等が確認できる

lease {
 interface "eth0";
 fixed-address 192.168.1.22;
 option subnet-mask 255.255.255.0;
 option routers 192.168.1.1;
 option dhcp-lease-time 172800;
 option dhcp-message-type 5;
 option domain-name-servers 192.168.1.1,61.122.112.123;
 option dhcp-server-identifier 192.168.1.1;
 renew 1 2010/04/05 17:54:04;
 rebind 2 2010/04/06 17:46:01;
 expire 2 2010/04/06 23:46:01;
}

NICのup、down時に処理を行う

NICのup、down時に処理を行いたいときにはup、down項目を設定する。

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.211
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
up "/root/custom-net-config"
up echo "eth0 start"
down echo "eth0 stop"

Duplex と speedを固定する

接続先とのオートネゴを使わずにDuplexとspeedを固定するには次の行を追加する。

結局、NICのUP前にethertoolで設定しますと言うこと。

pre-up /usr/sbin/ethtool -s eth0 speed 100 duplex full autoneg off


参考:
設定ファイルinterfacesについて

NIC名称に思った通りの値がつかない

NICを交換したり、仮想イメージを移動させたりした場合、NICの名称(eth0とかeth1など)が思ったとおりにつかない場合がある。 それを修正するには次のファイルを設定する

/etc/udev/rules.d/70-persistent-net.rules

このファイルの中身は次のようになっている。

SUBSYSTEM=="net"から始まる行で設定されており、MACアドレスとNIC名称の対が定義されているので希望通りに設定する。


# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="54:52:00:5c:5a:3c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:14:51:2e", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# net device ()
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:a7:8c:5a", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x10ec:0x8139 (8139cp)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="52:54:00:8a:ea:03", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"
個人用ツール
名前空間
変種
操作
案内
主なカテゴリ
ツールボックス