VyOSで主にスマホを対象としたIPv6シングルスタック試験環境を既存NW環境下に作る設定のメモ書き(RA編)

ベースとなるネタ

https://qiita.com/garupon/items/ebbc69ade26d79064b39

# はじめの駄文

- 目的
    - 既に作られているNW環境下にをIPv6シングルスタック（IPv6SS）なネットワークを作る
        - [IPv6のみのネットワーク](https://developer.apple.com/jp/support/ipv6/)試験環境の常設
        - [都度macでインターネット共有をやる](https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW16)のが面倒くさい
        - ベースネタみたく大元のルーターを置き換えるのが面倒くさい時用

## 環境とか

- とりあえずRAで/64が降ってくる環境用
- WAN側のIPv4は、本記事ではtransixを設定しているが、別にeth0にてDHCPで受け取ったりしてもいいはず
- DNS64は相変わらず外部サービスに頼る
    - [Google Public DNS64](https://developers.google.com/speed/public-dns/docs/dns64?hl=ja)
    - vyos内蔵のフォワーダに任せてもいいはず
        - ``` set service dns forwarding dns64-prefix 64:ff9b::/96 ``` を添えて

### HW

Ubuntu上のLXDにVMを作ってvyosをインストール

### NW

:::note alert
1契約でtransix多重接続を行ってもいいのか規約的に不明（IIJ回答も曖昧）なので怒られても知らん
:::

```
Interface    IP Address                                  MAC                VRF        MTU  S/L    Description
-----------  ------------------------------------------  -----------------  -------  -----  -----  -------------
eth0         24xx:xxxx:xxxx:xx01:xxxx:xxxx:xxxx:203e/64  00:16:3e:35:20:3e  default   1500  u/u
eth0.200     192.168.200.254/24                          00:16:3e:35:20:3e  default   1500  u/u
             2001:db8::1/64
lo           127.0.0.1/8                                 00:00:00:00:00:00  default  65536  u/u
             ::1/128
tun0         -                                           n/a                default   1460  u/u
```

- WAN
    - eth0
        - ベースネタのVLAN無しセグメントにぶら下げ
        - IPv6のみ設定
    - tun0
        - mfeed transix(DS-LITE)
        - 既存のIPv4ネットワークを通っていないことの担保のため多重接続
- LAN
    - eth0.200(VLAN200)
        - IPv6シングルスタック

### SW(VyOS)

#### sh ver

```
Version:          VyOS 1.5-stream-2025-Q1
Release train:    circinus
Release flavor:   generic

Built by:         VyOS Networks Iberia S.L.U.
Built on:         Thu 13 Feb 2025 18:06 UTC
Build UUID:       b38b28e0-a516-4f56-a596-5502ae094d3b
Build commit ID:  5128f5e45cdb73-dirty

Architecture:     x86_64
Boot via:         installed image
System type:      Unknown hypervisor guest

Hardware vendor:  QEMU
Hardware model:   Standard PC (Q35 + ICH9, 2009)
Hardware S/N:
Hardware UUID:    

Copyright:        VyOS maintainers and contributors
```

#### sh conf com

:::note warn
フィルタ設定とかDNS設定とか端折っているので注意
:::

``` 2001:db8::/64 ``` を配って、NAT66/NAT64を仕掛けるパターン
このセグメントを実NWで使うことは好ましくないだろうが、これ以外によさげなものが思いつかない。

```
set interfaces ethernet eth0 hw-id '00:16:3e:35:20:3e'
set interfaces ethernet eth0 ipv6 address autoconf
set interfaces ethernet eth0 vif 200 address '192.168.200.254/24'
set interfaces ethernet eth0 vif 200 address 'fe80::1/64'
set interfaces ethernet eth0 vif 200 address '2001:db8::1/64'
set interfaces ethernet eth0 vif 200 ipv6 address no-default-link-local
set interfaces loopback lo
set interfaces tunnel tun0 encapsulation 'ipip6'
set interfaces tunnel tun0 ip adjust-mss 'clamp-mss-to-pmtu'
set interfaces tunnel tun0 ipv6 address no-default-link-local
set interfaces tunnel tun0 mtu '1460'
set interfaces tunnel tun0 parameters ipv6 encaplimit 'none'
set interfaces tunnel tun0 remote 'xxxx:xxxx::feed:101'
set interfaces tunnel tun0 source-address '24xx:xxxx:xxxx:xx01:xxxx:xxxx:xxxx:203e'
set nat64 source rule 1 source prefix '64:ff9b::/96'
set nat64 source rule 1 translation pool 1 address '192.168.200.0/24'
set nat64 source rule 1 translation pool 1 port '1500-65000'
set nat66 source rule 1 outbound-interface name 'eth0'
set nat66 source rule 1 translation address 'masquerade'
set protocols static route 0.0.0.0/0 interface tun0
set service router-advert interface eth0.200 default-lifetime '3600'
set service router-advert interface eth0.200 name-server '2001:4860:4860::64'
set service router-advert interface eth0.200 name-server '2001:4860:4860::6464'
set service router-advert interface eth0.200 name-server-lifetime '3600'
set service router-advert interface eth0.200 nat64prefix 64:ff9b::/96
set service router-advert interface eth0.200 prefix ::/64 preferred-lifetime '3600'
set service router-advert interface eth0.200 prefix ::/64 valid-lifetime '3600'
set system config-management commit-revisions '100'
set system console device ttyS0 speed '115200'
set system host-name 'vyos'
set system login user vyos authentication encrypted-password '$6$rounds=656000$deforutonopasuwa-do'
set system login user vyos authentication plaintext-password ''
set system syslog global facility all level 'info'
set system syslog global facility local7 level 'debug'
```

### クライアント側

![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143797/f21fb0ca-b151-4014-8889-228af41c81c1.png)

![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143797/0ce4f79c-0d70-4bb1-bd96-7eb085fc9bd5.png)

![3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/143797/b33aecdc-61ef-492c-9c0f-0db86bfbaa9e.png)

# 終わりの駄文

この手の環境と相性の悪いブツがまだまだ多すぎてつらい