# IPv6無効化 (シンVPS, Ubuntu24.04) ## Netplan設定 ### 初期状態の設定を無効にする 初期状態で存在するNetplan設定ファイルを確認 ```bash $ ll /etc/netpla ``` cloud-initが生成する `50-cloud-init.yaml` だけが存在 内容を確認 ```bash $ cat /etc/netplan/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: version: 2 ethernets: ens3: dhcp4: false match: macaddress: xx:xx:xx:xx:xx:xx mtu: 1500 set-name: ens3 addresses: [xxx.xx.xx.xxx/24] gateway4: xxx.xx.xx.1 nameservers: addresses: [8.8.8.8,1.1.1.1] ``` コメント通りに、cloud-initによるネットワーク設定を無効にする設定ファイルを作成 ```bash $ vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg network: {config: disabled} ``` ### 設定ファイルを新たに作成する IPv6の無効化には `accept-ra: false` と `link-local: []` が必要 初期状態の設定をコピペしつつNetplanに怒られない書き方に調整 ```bash $ vi /etc/netplan/99-custom.yaml network: version: 2 ethernets: ens3: match: macaddress: xx:xx:xx:xx:xx:xx addresses: - xxx.xx.xx.xxx/24 nameservers: addresses: - 8.8.8.8 - 1.1.1.1 dhcp4: false accept-ra: false set-name: ens3 mtu: 1500 routes: - to: default via: xxx.xx.xx.1 link-local: [] ``` パーミッションを変更した後、設定を適用 ```bash $ chmod 600 /etc/netplan/99-custom.yaml $ chmod 600 /etc/netplan/50-cloud-init.yaml.backup $ netplan apply ``` ## カーネルパラメータ設定 IPv6を無効化するパラメータを `/etc/sysctl.conf` に追記 ```bash $ vi /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 ``` 適用して再起動 ```bash $ sysctl -p $ reboot ``` その後 `$ ip a` でIPアドレス情報を出力して、内容に `inter6` といった記述がなければOK