---
title: 3.12 IPv6クライアント設定
description: "## 3.12 IPv6クライアント設定 **対象機種**: AX30 / AX…"
url: "https://manual.amnimo.com/docs/utilization-dev/3-12-dev/"
updated: "2026-11-09"
category: デベロッパーズマニュアル / 第3章　エッジゲートウェイの活用
---

# 3.12 IPv6クライアント設定

## 3.12 IPv6クライアント設定

**対象機種**: AX30 / AX11 / AX21 / AG10 / AG20 / AR10 / AR20

本節ではアムニモのデバイス上で、amshやamnimo GUIとは別に、netplanによりIPv6通信を行う設定が可能です。4種類の方法によるIPアドレス取得について、それぞれのnetplan設定について説明します。またリンク状態同期IPv6制御スクリプトを利用し、IPv6を使用するインターフェイスのリンクアップ/ダウンに同期したIPv6の有効化/無効化の制御についても説明します。

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: エッジゲートウェイのlan0, lan1をブリッジインターフェイス（br0）にバインドしてIPv6通信用に使用し、残りのlan2, lan3はIPv4通信用に使用した場合を例に説明します。

### 3.12.1 IPv6の特徴と種類

IPv6は、128ビット長のアドレス空間を持つ次世代のインターネットプロトコルです。IPv4と異なり、アドレス枯渇の心配がなく、セキュリティや自動設定機能が強化されています。

以下の4種類の方法でIPv6アドレスの設定例で説明します。

| 設定方式 | 説明 | 備考 |
| --- | --- | --- |
| リンクローカルアドレス | 自動生成されるローカルネットワーク内専用のアドレスです。RA/DHCPは必要ありません。 | fe80::/10 で始まる。隣接機器との通信に使用。 |
| 固定IPアドレス | 管理者が手動で設定するアドレスです。RA/DHCPを使いません。 | サーバー用途や静的ルーティングに適する。管理が必要だが、安定した通信が可能。 |
| RA (Router Advertisement) | IPv6ルーターが定期的に送信する情報を元に、端末が自動でアドレス生成します。 **補足**: SLAAC(Stateless Address Autoconfiguration)と呼ばれ、端末が自身でIPアドレスを構成します。 | 軽量な自動構成に適し、DNS情報は別途設定が必要。 |
| DHCPv6 | DHCPv6サーバーがIPアドレスやDNS情報などを割り当てます。 この方式には2つのモードがあります。 ステートレスモード RAでIPを構成し、DHCPv6でDNSなどの情報のみ取得 ステートフルモード IPアドレスも含めてすべてDHCPv6で配布 | ステートレスはRAと併用、ステートフルはIP管理が必要な企業ネットワーク向け。 |

### 3.12.2 リンク状態同期IPv6制御スクリプト

IPv6を使用するインターフェイスのリンクアップ/ダウンに同期してIPv6の有効化/無効化が行われるようにスクリプトファイルを配置します。

スクリプトファイルはカーネルパラメータ “net.ipv6.conf.<IFNAME>.disable_ipv6”の0（IPv6有効）/1（IPv6無効）を切り替えます。

##### リンクアップ：/etc/amnimo/if-up.d/00-user-ipv6

```
#!/bin/sh

V6IF="br0"  # IPv6を使用するインターフェイスを指定

if [ "x${IFACE}" = "x${V6IF}" ]; then
    sysctl net.ipv6.conf.${V6IF}.disable_ipv6=0
fi
```

作成したファイルには次のアクセス権限を設定します。

```
$ sudo chmod +x /etc/amnimo/if-up.d/00-user-ipv6
```

##### リンクダウン：/etc/amnimo/if-down.d/00-user-ipv6

```
#!/bin/sh

V6IF="br0"  # IPv6を使用するインターフェイスを指定

if [ "x${IFACE}" = "x${V6IF}" ]; then
    sysctl net.ipv6.conf.${V6IF}.disable_ipv6=1
fi
```

作成したファイルには次のアクセス権限を設定します。

```
$ sudo chmod +x /etc/amnimo/if-down.d/00-user-ipv6
```

### 3.12.3 リンクローカルアドレス設定

> ![warning](https://manual.amnimo.com/wp-content/uploads/2026/11/warning.png) **注意**: リンクローカルアドレスは自動生成されるためエッジゲートウェイの再起動により再起動前と異なるアドレスが設定される可能性があることに注意してください。

#### netplan設定

netplan設定には、IPv6アドレスを設定するインターフェイスのみ設定を行い、amshやamnimo GUIではブリッジインターフェイスにバインドするインターフェイスの設定をnetplan設定に合わせて設定します。

netplanの設定ファイル（10-user-ipv6.yaml）を/etc/netplan配下に作成します。

##### 設定例：10-user-ipv6.yaml

```
network:
  version: 2
  renderer: networkd
  ethernets:  # IPv6を設定しないインターフェイス(lan2, lan3)については記述しない
    lan0:
      optional: true  # lan0の設定はamshで定義
    lan1:
      optional: true  # lan1の設定はamshで定義
  bridges:
    br0:
      interfaces: [lan0, lan1]
      routes:  # ゲートウェイを設定したい場合に記述する
        - to: "::/0"
          via: "fe80::1"
          interface: br0
      nameservers:  # リンク内のDNSを使用したい場合に設定
        addresses:
          - "fe80::2%br0"  # リンクローカルではインターフェイスの指定が必要
      dhcp4: false
      dhcp6: false
      accept-ra: false  # Router Advertisementを無効
      link-local: [ipv6]  # リンクローカルアドレスの自動生成を有効化
      mtu: 1500
      optional: false
```

作成したファイルには次のアクセス権限を設定します。

```
$ sudo chmod 600 /etc/netplan/10-user-ipv6.yaml
```

netplanで設定するインターフェイスはamshの設定と競合しないようにconfig.yamlから削除します（ここではbr0）。

```
amnimo(cfg)# no interface br0 ←netplanで設定したインターフェイスの設定を削除
amnimo(cfg)# config file save ←設定を保存
```

設定を反映します。

```
$ sudo netplan apply
$ sudo ip link set br0 down
$ sudo ip link set br0 up
```

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: 上記説明では、設定後に sudo netplan apply を実行していますが、これは設定後に即時反映させるため実行しています。アムニモ機器では、再起動後に netplan apply を実行しなくても IPv6 設定は有効になるように配慮されています。

### 3.12.4 固定IPアドレス設定

固定IPアドレス（ULA：ユニークローカルアドレス）にはRFC 4193の”3. Local IPv6 Unicast Addresses”に従って生成したアドレスを設定します。

ここでは例としてグローバルIDの生成にopensslコマンドのrandオプションを使用します。

```
$ openssl rand -hex 5
7e400adc92
```

ローカル IPv6 ユニキャストアドレス（fd00::/8）に生成した40ビット値を付与することでサブネットIDを決定し、ブリッジインターフェイス（br0）に任意のインターフェイスIDを割り当てます。

```
# ネットワークのプレフィックス
fd7e:400a:dc92::/48
# サブネットID
fd7e:400a:dc92:1::/64
# br0
fd7e:400a:dc92:1::10/64
```

ブリッジインターフェイス（br0）にバインドされたインターフェイス（この場合はlan0, lan1）に接続されたIPv6通信機器のサブネットIDの設定も同様に合わせます。

#### netplan設定

netplanの設定ファイル（10-user-ipv6.yaml）を/etc/netplan配下に作成します。

##### 設定例：10-user-ipv6.yaml

```
network:
  version: 2
  renderer: networkd
  ethernets:  # IPv6を設定しないインターフェイス(lan2, lan3)については記述しない
    lan0:
      optional: true  # lan0の設定はamshで定義
    lan1:
      optional: true  # lan1の設定はamshで定義
  bridges:
    br0:
      interfaces: [lan0, lan1]
      addresses:
        - "fd7e:400a:dc92:1::10/64"  # 生成したユニークローカルアドレスを設定
      routes:  # ゲートウェイを設定したい場合に記述する
        - to: default
          via: "fd7e:400a:dc92:1::1"
      nameservers:  # 内部DNSを使用したい場合に設定
        addresses:
          - "fd7e:400a:dc92:1::2"
      dhcp4: false
      dhcp6: false
      accept-ra: false  # Router Advertisementを無効
      mtu: 1500
      optional: false
```

作成したファイルには次のアクセス権限を設定します。

```
$ sudo chmod 600 /etc/netplan/10-user-ipv6.yaml
```

netplanで設定するインターフェイスはamshの設定と競合しないようにconfig.yamlから削除します（ここではbr0）。

```
amnimo(cfg)# no interface br0 ←netplanで設定したインターフェイスの設定を削除
amnimo(cfg)# config file save ←設定を保存
```

設定を反映します。

```
$ sudo netplan apply
$ sudo ip link set br0 down
$ sudo ip link set br0 up
```

### 3.12.5 RAアドレス設定

エッジゲートウェイをDHCPv6クライアントとして設定する方法について説明します。IPv6アドレスを割り当てるインターフェイスはRAを送信するIPv6ルーターに接続されている必要があります。

#### netplan設定

netplanの設定ファイル（10-user-ipv6.yaml）を/etc/netplan配下に作成します。

##### 設定例：10-user-ipv6.yaml

```
network:
  version: 2
  renderer: networkd
  ethernets:  # IPv6を設定しないインターフェイス(lan2, lan3)については記述しない
    lan0:
      optional: true  # lan0の設定はamshで定義
    lan1:
      optional: true  # lan1の設定はamshで定義
  bridges:
    br0:
      interfaces: [lan0, lan1]
      dhcp4: false
      dhcp6: false  # ステートフルモードのDHCPv6サーバーに接続の場合はtrue
      accept-ra: true  # Router Advertisementの受信を有効
      mtu: 1500
      optional: false
```

作成したファイルには次のアクセス権限を設定します。

```
$ sudo chmod 600 /etc/netplan/10-user-ipv6.yaml
```

netplanで設定するインターフェイスはamshの設定と競合しないようにconfig.yamlから削除します（ここではbr0）。

```
amnimo(cfg)# no interface br0 ←netplanで設定したインターフェイスの設定を削除
amnimo(cfg)# config file save ←設定を保存
```

設定を反映します。

```
$ sudo netplan apply
$ sudo ip link set br0 down
$ sudo ip link set br0 up
```

#### DNS設定

本エッジゲートウェイではamnimo-dns.service （Unbound）でIPv6名前解決を行います。

既存の設定を上書きするため/etc/unbound/unbound.conf.d/zz-user-ipv6.confを作成します。

> ![note](https://manual.amnimo.com/wp-content/uploads/2026/11/note.png) **補足**: 設定ファイルはファイル名の辞書順に評価されます。ファイル名を zz- で始めることでserver_default.confのdo-ip6: no設定を上書きします。

##### 設定例：zz-user-ipv6.conf

```
server:
    do-ip6: yes
```

#### resolv.conf設定

amnimo-dns.service （Unbound）が提供するIPv6名前解決を使用するため、/etc/resolv.confにIPv6ローカルホストを追加します（2 行目の `nameserver ::1` を追加します）。

##### 設定例：resolv.conf

```
nameserver 127.0.0.1
nameserver ::1
```

設定を反映します。

```
$ sudo systemctl restart amnimo-dns.service
```

### 3.12.6 フィルター設定について

アムニモデバイスでは、iptables（IPv4）とip6tables（IPv6）は共存して設定できます。amshやamnimo GUIによるIPv4のフィルター設定とは別にIPv6通信のフィルター設定を必要に応じて行ってください。
