LoginSignup
2
0

More than 1 year has passed since last update.

Raspberry pi ubuntu ip固定をする

Posted at

ubuntuOSのRaspberry piでIpを固定するには?

ipアドレスの固定にかなり手間取ってしまったので、記録しておきます。
あっているかどうか怪しいので、他のページや参考文献も参考にしてみてください。
この記事が原因のトラブルに関して力になることはできても、責任はとれないので悪しからず。

環境

computer : Raspberry pi4 4GB
os : ubuntu21.10

参考文献

↑公式ドキュメント。

↑公式ドキュメントの和訳
この二つをそのまま見てしまったほうが、分かりやすいかもしれない。

設定方法

ラズベリーパイのネットワーク設定を変更するためには/etc/netplan/50-cloud-init.yamlを編集します。

50-cloud-init.yaml
# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        enp3s0:
          dhcp4: true
          dhcp6: true
          addresses:
             - 固定ip
          optional: true
    wifis:
      wlan0:
        dhcp4: false
        dhcp6: true
        addresses:
          - 固定ip
        optional: true
        access-points:
          "SSID":
            password: "パスワード"
        nameservers:
          search: []
          addresses: [DNSサーバーip]
        routes:
          - to: default
            via: ルーターip
    version: 2

解説

部分ごとに解説していきます。
ルーター、DNSサーバーのipアドレス(後述)の調べ方は、ご自身でgoogle等で検索してみてください。

  • Wi-Fi設定

access-points:の部分が該当します。
SSIDにWi-FiのSSIDを、パスワードにWi-Fiのパスワードを指定してください。

  • ip固定

dhcp: falseとすることでルーターから自動でipアドレスを割り振る「dhcp」機能をオフにすることができます。
そうしたら、addresses:の後の固定ipに設定したいipアドレスを指定してください。
指定するときには、000.000.000.xxx/24のようにサブネットマスクを指定する必要があります。
000・・・の部分がネットワークを示し、xxxの数値で機器を特定します。ipアドレスは8byteの二進数で構成されていて、それを1byteごとに「.」で区切って表記します。1byteで0~255を表せるので、「.」で区切られた区間の中は最大で三桁の数字になるわけです。/24は前から24bit、つまり、3byte分がネットワークを示すよということを示す「サブネットマスク」になります。そこより後ろは、機器を特定する部分になるので、基本的には好きに指定することができます。しかし、他の機器が使っていたりするとネットワークにうまく接続できないので、ipアドレスを固定する前の値をそのまま使用するのも手です。

  • DNSサーバー

DNSサーバーとは、webブラウザなどからgoogleなどのサーバーに接続する際、「google.co.jp」のようなURLをipアドレスへと変換してくれるサーバーです。
nameservers:の部分が該当します。
DNSサーバーipにDNSサーバーのipアドレスを指定してください。

  • route

ネットにつなげるときの通り道を示します。
routes:の部分が該当します。
ルーターipにルーターのipアドレスを指定してください。

設定の適用

一通り設定できたら、コマンドプロンプトでsudo netplan applyとコマンドを打って設定を適用します。
自分の場合、Cannot find unique matching interface for eth0: {'driver': 'bcmgenet smsc95xx lan78xx'}と表示されましたが、無視して問題なさそうです。

トラブルシューティング

ipアドレスを固定しようとしたらネットにつながらなくなった!というときは、焦らずに原因を究明しましょう。

pingコマンド

ping 相手のip/URL
例 : ping 8.8.8.8
とコマンドプロンプトに打ち込むことで、相手と接続できるか確かめることができます。
放っておくと永遠とpingを打ち続けるので、接続できたようであればctrl+cで止めます。

補足
pingは接続を確認するだけでなく、通信の速度を調べたり繰り返し打つことで相手と自分との接続の確実性を検証したりすることができます。

  1. 自分自身にping
    Raspberry piに設定したipアドレスにpingを打ちます。
    これがうまくいかないときは、ip固定がうまくいっていない可能性が高いです。
  2. ルーターにping
    これがうまくいかないときは、ルーターのアドレスを間違えていたり、Wi-Fiの設定をミスしていたりしていないか確かめてください。
  3. 8.8.8.8にping
    これがうまくいかないときは、ルーターがインターネットに正しく接続されているか確かめてみてください。
  4. 何かしらのURLにping
    例えば、google.co.jpに対してpingを打ってみてください。
    これがうまくいかないときには、DNSサーバーのipアドレスを間違えていないか確かめてみてください。

以上の4つで、どこに問題があるのかを確かめてみてください。
トラブルが起きた時こそ、焦らず落ち着いて対応しましょう。

あとがき

分からないこと、ご指摘等ありましたら、コメントしてみてください。対応できるかどうかわかりませんが、、、
楽しいプログラミングも準備段階でつまづくと辛いので、抱え込まずに誰かに質問してみてください。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0