LinuxのUbuntuでIPアドレスを設定する方法について紹介します。DHCPから自動でIPアドレスを割り振ってもらう方法や、固定で好きなIPアドレスを設定する方法をまとめました。
UbuntuでIPアドレスを変更する前に
IPアドレスの設定の仕方はUbuntuでもWindowsでも概念は一緒ですので、WindowsでIPの設定をしていた方ならわかりやすいと思います。単純に設定する場所が違うだけです。
やり方だけ知りたい!という方はこちら
現在の設定を確認する方法
まずはどんなネットワークデバイスがあるのか確認します。
$ ip address | grep ^[0-9]:
私の環境ではこのような感じでした。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
3: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
5: vetha5b4b50@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
個人パソコンならだいたいeth0だと思います。これがこの後設定で使うネットワークデバイスの名前になりますので覚えておいてください。
・・・なんで4がないんでしょうか・・・(謎)
IPアドレス変更時の注意点
IPアドレスはネットワーク上で自分を識別する重要な設定ですので、間違えるとまわりに迷惑がかかりますので気をつける必要があります。
IPアドレスは大きく分けて2種類の設定方法があります。
- DHCPサーバにから割り当ててもらう
- 自分でIPを設定する
動的なIP割り当て(DHCPからIPをもらう)時の注意事項
…タイトルは作ってみたものの、特に注意点はありませんね。
静的なIP割り当て(自分で好きなIPをセット)時の注意事項
こちらは注意点があります。
グローバルIPアドレスを使わない
インターネットに出てよいIPアドレスとローカルエリアネットワーク(LAN)内でしか使えないIPアドレスがあり、範囲が決まっています。ローカルでセットする場合は、通常ローカルIPアドレス群を使います。
一般家庭ならルーターのネットワーク内で指定しますので、ルーターのIPアドレスを確認してからセットしてください。例えば、ルーターが192.168.12.1だった場合は、192.168.12.2~192.168.12.254の範囲内で好きなものが使えます。
ローカルIPアドレスについてもっと詳しく知りたい!という方は、こちらをどうぞ
既に使われているIPを使わない
既に使われているIPアドレスを使うと競合して切断されてしまいますので使われていないIPアドレスを使うようにしてください。pingコマンドを使って確認することができます。
例えば、調査対象のIPを192.168.12.10とした場合、このようにpingしてみます。おっと、これは応答がありましたので、誰かが使っています。
$ ping -c 4 192.168.12.10
PING 192.168.12.10 (192.168.12.10) 56(84) bytes of data.
64 bytes from 192.168.12.10: icmp_seq=1 ttl=128 time=3.55 ms
64 bytes from 192.168.12.10: icmp_seq=2 ttl=128 time=7.28 ms
64 bytes from 192.168.12.10: icmp_seq=3 ttl=128 time=2.34 ms
64 bytes from 192.168.12.10: icmp_seq=4 ttl=128 time=4.66 ms
--- 192.168.12.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 2.347/4.461/7.280/1.822 ms
次に調査対象のIPを192.168.12.11にして試してみます。
すると、Destination Host Unreachableで最後が4 packets transmitted, 0 receivedなので届いていませんね。これは使われていないことになります。
$ ping -c 4 192.168.12.11
PING 192.168.12.11 (192.168.12.11) 56(84) bytes of data.
From 192.168.12.70 icmp_seq=1 Destination Host Unreachable
From 192.168.12.70 icmp_seq=2 Destination Host Unreachable
From 192.168.12.70 icmp_seq=3 Destination Host Unreachable
From 192.168.12.70 icmp_seq=4 Destination Host Unreachable
--- 192.168.12.11 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3058ms
pipe 4
組織内ではネットワーク管理者の指示に従う
会社などの組織内ではみんなが自由に設定するとめちゃくちゃになってしまいます。必ずネットワーク管理者などのインフラを管理している部署や人がいますので、そこのルールに従ってください。一般的には大きな組織では勝手に設定してはいけないケースが多いですので気をつけてください。
IPアドレス変更手順
IPアドレスの設定箇所
Windows10の場合
ちなみにWindowsの場合は、お馴染みのこの画面で設定できますが、Ubuntuの場合はちょっと面倒ですので、この後説明します。
Ubuntuの場合
IPアドレスの設定は、このファイルで行います。
/etc/network/interfaces
デフォルトのファイルの中身を確認してみましょう。特にIPアドレスの指定とかないですね。この場合は、DHCPサーバからIPアドレスを割り当ててもらい、それを使うことでネットワークと接続します。
$ vi /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
バックアップは、編集する前のファイルをコピーしておくとよいです。
$ cp -p コピー元ファイル バックアップファイル.org
私はバックアップしたファイルには、.org や .bak を後ろに付けるように決めています。これ決めておかないと後でみた時にどれが本物かわからなくなってしまいます。
動的なIP割り当て(DHCPからIPをもらう)
ファイルの内容はこれでOKです。ネットワーク上にDHCPサーバがあれば、そこからもらってきて勝手にセットします。
auto lo
iface lo inet loopback
静的なIP割り当て(自分で好きなIPをセット)
手動でセットする場合は、こんな感じで指定します。
192.168.12.10の部分はセットしたいIPを指定します。
/24はCIDR表記でサブネットマスクを指定しています。一般家庭なら/24 (255.255.255.0)でよいと思います。
手動でセットする場合は、ゲートウェイとDNSサーバを指定します。一般家庭ならルーターのIPを指定すればよいです。
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.12.10/24
gateway 192.168.12.1
dns-nameservers 192.168.12.1
設定変更を反映
設定ファイルは変更しただけでは有効になりません。有効にするには対応するサービスを再起動して変更した設定ファイルを読み込み直す必要があります。
IPアドレス変更については、いくつかのサービスを上げ下げする必要があって面倒なので、素直にOSごと再起動してしまうのが手っ取り早くて確実です。
$ sudo reboot
再起動したら、IPアドレスを確認してみてください。変わっていると思います。
$ ip address
コメント
デスクトップ版Ubuntuの場合は、/etc/network/interfacesを直接いじらなくても
設定→ネットワーク→有線→歯車マーク→IPv4
からIPアドレスを入力するだけでOKです
masakaさん
コメントありがとうございます。
CUI使っていた頃の習慣で、デスクトップ起動してもほとんどターミナルで作業してしまっていたのですが、そこで設定できるのですね。
そちらの方が楽そうです。