0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ip addressを固定する際にnetplanで沼った話

Posted at

最初に概要

この記事はプログラミング初心者がモチベーションを保つために学んだことなどをひたすらに書いていくものです。

多分qiitaを見ている多くの人は知っていることかもしれませんが温かい目で見てくださると何よりです。

結論

いきなり結論です。以下のようにして僕の環境ではできました。

network:
  version:  2

  ethernets:
    eth0:
      dhcp4:  false
      dhcp6:  false
      accept-ra:  false
      link-local:  [ ]
      addresses:
        -  192.168.0.好きな数字/24
      nameservers:
        addresses:  [192.168.0.1]
      routes:
        -  to:  default
           via:  192.168.0.1
sudo netplan apply

ここで他の方が紹介しているのと少し変わっているのがaccept-ralink-localだと思います。


accept-ra とは?

  • 正式名称: accept-router-advertisements
  • 役割: IPv6 ネットワークでルーターから送られてくる「ルーターアドバタイズメント(RA)」を受け取るかどうかを指定します。
  • 使いどころ:
    • true:自動でルート情報などを受け取る(クライアント的な動き)。
    • false:自動設定を無視する(サーバーやルーターとして自立的に動かしたいとき)。

💡 dhcp6: false にしていても、accept-ra: true だと一部のIPv6設定を自動で拾ってしまうので注意。


link-local とは?

  • 意味: ネットワーク機器が自動で割り当てるローカル専用IPアドレスのこと。
  • 例:
    • IPv4:169.254.x.x
    • IPv6:fe80::/10
  • 用途:
    • DHCPがないときの最小限の通信手段。
    • ルーターや隣接機器との通信。
  • Netplanでの指定:
    link-local: [ ]
    

なぜ accept-ra: falselink-local: [ ] が必要だったのか?

理由としては僕の環境で普通の家庭用のIPv6対応ルーターを使っていたことでした。
そしてその原因になっていたのが、IPv6関連の自動設定でした。

accept-ra: false を設定した理由

ルーターがIPv6のルーターアドバタイズメント(RA)を送ってきて、
それを受け取ると、静的に設定したルートやDNSが上書きされることがありました。
そのため、RAの受信を無効にすることで、手動設定を優先させるようにしました。

link-local: [ ] を設定した理由

IPv6のリンクローカルアドレス(fe80:: など)が自動で付与されると、
それ経由で意図しないルーティングが行われることがありました。
これを明示的に無効にすることで、IPv6の影響を受けない安定した構成になりました。


家庭用ルーターを使っている環境では、これらの設定がないと意図しないIPv6の動作でネットワークが不安定になることがあるみたいです。

感想

ちなみにこんな感じで書いていますが判明するまでに丸1日かかってます。
もうnetplanは触りたくないです。

0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?