以前IPv6のみ固定アドレスにして運用を行っていたのですが、IPv4のDHCPが割り当てられなくなり、IPv4アドレスを固定にしてみました。
IPv6とIPv4を任意のIPアドレスへ割り当てるyamlテンプレート。
IPv6-Address/IPv6-Netmask → 割り当てたい固定IPアドレス/ネットマスク
IPv6-Gateway → ルータのLAN側アドレス
cat /etc/netplan/99_config.yaml
network:
version: 2
renderer: networkd
ethernets:
ens3:
# dhcp4: true
addresses: [192.168.11.101/24]
gateway4: 192.168.11.1
nameservers:
addresses: [8.8.8.8]
# dhcp6: false
addresses:
- IPv6-Address/IPv6-Netmask
nameservers:
addresses:
- 2001:4860:4860::8888
- 2001:4860:4860::8844
routes:
- on-link: true
to: ::/0
via: IPv6-Gateway
Webのサンプルには、「gateway6」使っているものもありますが「routes」がおすすめのようです。
「gateway6」を利用すると、以下のようなメッセージが表示されます。
** (process:80354): WARNING **: 04:14:23.035: `gateway6` has been deprecated, use default routes instead.
See the 'Default routes' section of the documentation for more details.
動作テスト & 適用
「/etc/netplan/99_config.yaml」を編集後実際に設定を適用するのですが、sshなどで遠隔から接続している場合、設定が誤っていると、そのまま現地に直行することになります。
本番環境に適用前にテストコマンドを用いて、事前に検証できます。
# 設定ファイルの有効性をテストできます。
# 10秒以内にキー入力がなければ、もとの設定に戻ります。
sudo netplan try --timeout 10
# 設定ファイルに問題がなければ、以下のコマンドで本番環境に適用してください。
sudo netplan apply
参考にさせていただきました。ありがとうございます。