Aspire V3-571 と Amazon Lightsail かつ ds-lite(IPv4 over IPv6ルータ) の構築 – JPNEのIPv6 編 – 一応出来たでいいのかなぁ。。。(1)

2022年8月20日

今まで raspberry Pi 4 と VPSサーバ で ds-lite(IPv4 over IPv6ルータ) の構築 してきました。
そろそろ別の仮想サーバを変えてみようと思い、クラウド型の仮想サーバ “Amazon Lightsail " で ds-lite構築 をしてみました。
3ヶ月間の無料期間※1 があるのですが、別の機能では従量制なので、ビクビクしつつ気をつけながらやりました。
raspberry Pi 4 は壊れてしまったので、今まで使っていた “Aspire V3-571(ノートPC)" を “CentOS" をインストールしました。
※1 2022-08-13 現在の無料キャンペーンです。

【お願い】
Aspire V3-571 と Amazon Lightsail で ds-lite(IPv4 over IPv6ルータ) の構築が一応出来た状態です。。
ですが、解らない部分・理解が出来ていない部分もあります。
今回、実験結果を掲載しますが、現在使用している自分のPCの環境,インターネット環境からds-liteの接続した場合になります。
また、クラウドサーバなので従量制になります。一定の期間・利用量を使用すると大きな利用料金が発生しますの本当に注意が必要です。以下のやり方について、PC,その他のトラブルについては責任を負いかねます。自己責任でお願い致します。

1. 開発環境

・フレッツ 光ネクスト ファミリー・ハイスピードタイプ/ファミリータイプ 下り:200M/上り:100M
・ipv4:au one net「フレッツ光」コース (KDDI株式会社) 【普通のインターネット使う場合はこちらを使っています】
・au one net サービス名:IPv6:「フレッツ光」コース (日本ネットワークイネイブラー株式会社: JPNE)
・Amazon Lightsail(5 USD/月) OS: CentOS7 リージョン: 東京、ゾーン D (ap-northeast-1d) パブリックIP(IPv4) かつ パブリック IPv6
・Aspire V3-571(ノートPC) OS: CentOS7.9
※raspberry Pi 4 が壊れたので代替機にしました。
・MTU値(IPv4):1460
—————————————————————————————–
・"Raspberry Pi 4 と さくらのVPS かつ ds-lite(IPv4 over IPv6ルータ) 接続" 以下のリンク先から部分的に利用しています。
◎Raspberry Pi 4 と さくらのVPS かつ ds-lite(IPv4 over IPv6ルータ) の構築 – JPNEのIPv6 編 – 一応出来たでいいのかなぁ。。。(1)
◎Raspberry Pi 4 と さくらのVPS かつ ds-lite(IPv4 over IPv6ルータ) の構築 – JPNEのIPv6 編 – 一応出来たでいいのかなぁ。。。(2)-現状報告-

2. 前提条件

・"フレッツ・v6オプション" の手続きが完了している。
・Aspire V3-571(ノートPC): CentOS7がインストールが完了している。
・Aspire V3-571(ノートPC): OSのアップデートが完了している。
・Aspire V3-571(ノートPC): SSH・端末から操作が出来ることを前提とする。
・Amazon Lightsail: 利用方法が出来る方を前提とする。
・Amazon Lightsail: インスタンス作成が完了している。
・Amazon Lightsail: OSのアップデートが完了している。
・Amazon Lightsail: SSH(初期設定)を利用をすることを前提とする。
・Amazon Lightsail: ネットワーキングを利用することを前提とする。

3. 設定方法

3.1 【Aspire V3-571(ノートPC) インターフェースの設定】

※インターネット回線について※
【ONU】⇔【HUB】⇔(eth0)【Aspire V3-571(ノートPC)】(enp1s0u1)⇔【HUB】⇔【PC端末・ゲーム機など】
という接続になります。
Aspire V3-571(ノートPC) に “LAN接続が2つ" 必要になります。
・ONU側を “eth0"
・PC端末・ゲーム機側を “enp1s0u1" (USB-LANを使用します)

3.1.1 NetworkManager をインストールする。

V3-571@centos:~ $ sudo yum install NetworkManager 

3.1.2 nmtui を使い、各インターフェースの設定をする

V3-571@centos:~ $ sudo nmtui

[図1 eth0]

[図2 enp1s0u1]

3.1.3 設定後、再起動する。

V3-571@centos:~ $ sudo reboot

※操作方法を少し省いています。

3.2 【Aspire V3-571(ノートPC) DHCPサーバの設定】

3.2.1 DHCP をインストールする。

V3-571@centos:~ $ sudo yum install dhcp 

3.2.2 dhcpd.conf のファイルを編集する。

V3-571@centos:~ $ sudo vim /etc/dhcp/dhcpd.conf

[dhcpd.conf]

default-lease-time 600;
max-lease-time 7200;

authoritative;

subnet 192.168.88.248 netmask 255.255.255.248 {
 option routers 192.168.88.254;
 option subnet-mask 255.255.255.248;
 option domain-name-servers 8.8.8.8,8.8.4.4;
 range 192.168.88.249 192.168.88.253;
}

※細かい設定したい場合は、個々でお願い致します。

3.2.3 dhcpのサービスファイルを設定する

V3-571@centos:~ $ sudo cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
V3-571@centos:~ $ sudo vim /etc/systemd/system/dhcpd.service

[dhcpd.service]

[Unit]
Description=DHCPv4 Server Daemon
Documentation=man:dhcpd(8) man:dhcpd.conf(5)
Wants=network-online.target
After=network-online.target
After=time-sync.target

[Service]
Type=notify
ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid enp1s0u1

[Install]
WantedBy=multi-user.target

3.2.4 dhcpのサービスファイルの設定が完了後、リロードを行う。

V3-571@centos:~ $ sudo systemctl --system daemon-reload
V3-571@centos:~ $ sudo systemctl restart dhcpd

以上で “インターフェース設定" と “DHCPサーバ構築" が完了します

3.3 【Amazon Lightsail Web設定】

3.3.1 “Amazon Lightsail" ホーム画面 → “インスタンス" → “【作成したインスターン名】" → “ネットワーキング" をクリックする。

3.3.2 “IPv6 ネットワーキング" より “IPv6 ネットワーキングが有効になっています" ことを確認をする。無効の場合は “有効" にする。
※インスタンス(仮想サーバ) “IPv6アドレス" が解ります。

3.3.3 “IPv6 ファイアウォール" より “ルールを追加" → “アプリケーション:すべてのプロトコル" → “IPv6 アドレスに制限する" にチェックを入れる → “Aspire V3-571(ノートPC)が取得したIPv6アドレス" を入力する → “作成" をクリックする。
※Aspire V3-571(ノートPC) “eth0" の “IPv6のアドレス" を確認する場合※
V3-571@centos:~ $ ifconfig eth0
または
V3-571@centos:~ $ ip addr show eth0
で確認をして下さい。

3.4 【Aspire V3-571(ノートPC) ファイアーウォールの設定】

3.4.1 firewalld をインストールする。

V3-571@centos:~ $ sudo yum install firewalld

3.4.2 firewalld を起動させる

V3-571@centos:~ $ sudo systemctl start firewall

3.4.3 Amazon Lightsail 仮想サーバ の “IPv6アドレス" 通信・"masquerade" が出来るように設定する。

V3-571@centos:~ $ sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv6" source address="【Amazon Lightsail 仮想サーバ の "IPv6アドレス"】" accept"
V3-571@centos:~ $ sudo firewall-cmd --permanent --zone=public --add-masquerade
V3-571@centos:~ $ sudo firewall-cmd --permanent --zone=trusted --change-interface=enp1s0u1
V3-571@centos:~ $ sudo firewall-cmd --permanent --zone=trusted --add-masquerade 
V3-571@centos:~ $ sudo firewall-cmd --reload

※3.3 【Amazon Lightsail Web設定】より確認が出来ます。

3.5 【"Amazon Lightsail側" 専用トンネル・ゲートウェイの設定】

aws@centos:~ $ sudo modprobe ip6_tunnel
aws@centos:~ $ sudo ip -6 tunnel add ip6tnl mode ipip6 remote 【Aspire V3-571(ノートPC) IPv6アドレス】 local 【Amazon Lightsail IPv6アドレス】 dev eth0 encaplimit none
aws@centos:~ $ sudo ip link set dev ip6tnl up

3.6 【"Amazon Lightsail側" カーネルパラメーターの設定】

aws@centos:~ $ sudo sysctl -w net.ipv4.ip_forward=1
aws@centos:~ $ sudo sysctl -w net.ipv4.conf.all.forwarding=1
aws@centos:~ $ sudo sysctl -w net.ipv4.conf.eth0.rp_filter=0
aws@centos:~ $ sudo sysctl -w net.ipv4.conf.ip6tnl.rp_filter=0
aws@centos:~ $ sudo sysctl -w net.nf_conntrack_max=65535
aws@centos:~ $ sysctl -p

3.7 【"Amazon Lightsail側" ファイアーウォールの設定】

aws@centos:~ $ sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv6" source address="【Aspire V3-571(ノートPC) IPv6アドレス】" accept"
aws@centos:~ $ sudo firewall-cmd --permanent --zone=trusted --change-interface=ip6tnl
aws@centos:~ $ sudo firewall-cmd --permanent --zone=public --add-masquerade
aws@centos:~ $ sudo firewall-cmd --permanent --zone=trusted --add-masquerade
aws@centos:~ $ sudo firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth0 -j MASQUERADE
aws@centos:~ $ sudo firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ip6tnl -o eth0 -j ACCEPT
aws@centos:~ $ sudo firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i eth0 -o ip6tnl -m state --state RELATED,ESTABLISHED -j ACCEPT
aws@centos:~ $ sudo firewall-cmd --reload

3.8 【"Amazon Lightsail側" Routingの設定】

3.8.1 さくらのVPS 側のプライベートネットワークのルート側でのルーティング設定

aws@centos:~ $ sudo route add -net 192.168.0.0/16 dev ip6tnl

※この設定ですが・・・理解できていない部分で。。。一応設定をしています。

3.8.2 “Aspire V3-571(ノートPC)側" のipv4アドレスの通信が出来るように設定します

aws@centos:~ $ sudo ip route add 192.168.88.248/29 mtu lock 1460 dev ip6tnl

3.9【"Aspire V3-571(ノートPC)" 専用トンネル・ゲートウェイの設定】

V3-571@centos:~ $ sudo modprobe ip6_tunnel
V3-571@centos:~ $ sudo ip -6 tunnel add ip6tnl1 mode ipip6 remote 【Amazon Lightsail IPv6アドレス】 local 【Aspire V3-571(ノートPC) IPv6アドレス】 dev eth0 encaplimit none
V3-571@centos:~ $ sudo ip link set dev ip6tnl1 up
V3-571@centos:~ $ sudo route add default dev ip6tnl1

3.10【"Aspire V3-571(ノートPC)" カーネルパラメーターの設定】

V3-571@centos:~ $ sudo sysctl -w net.ipv4.ip_forward=1
V3-571@centos:~ $ sudo sysctl -w net.ipv6.conf.ip6tnl1.accept_ra = 0
V3-571@centos:~ $ sudo sysctl -p

3.11【"Aspire V3-571(ノートPC)" ファイアーウォールの設定】

V3-571@centos:~ $ sudo firewall-cmd --permanent --zone=trusted --change-interface=ip6tnl1
V3-571@centos:~ $ sudo firewall-cmd --reload

3.12【"Aspire V3-571(ノートPC)" USB-LANインターフェース MTU “1460" に設定する】

V3-571@centos:~ $ sudo ip route replace 192.168.88.248/29 mtu lock 1460 dev enp1s0u1

4. 実験結果

[図3 speedtest i3D.net]

[図4 speedtest TSUKUBA]

[図5 speedtest i3D.net 端末]

[図6 テスト動画]

[図7 ping www.google.co.jp 端末]

[図8 ping www.yahoo.co.jp 端末]

[図9 ping6 www.google.co.jp 端末]

[図10 ping6 www.ocn.ne.jp 端末]

【参考文献】
にーまるろく あーるしー どっと ねっと さん – さくらのVPSでIPv4 over IPv6ルーターの構築(暫定版)
Tomocha Potter さん – さくらのVPS で IPv4 over IPv6ルータの構築
@vipper36 さん -IPoEでmtuを1500に出来ないときの解決法 (付・IPv6トンネルのmtuを1460にする方法)-
maruko2 Note. さん -DHCPサーバの設定-
SEの道標 さん -Linuxのインタフェースのエラーカウンタの状態確認と原因 〜dropped, overrun, frame, carrier等~-

【使用サービス情報】
AWS さん -Amazon Lightsail-
au さん -プロバイダ au one net-
日本ネットワークイネイブラー株式会社 -JPNE- さん ipv6アドレス取得先のため

【商標情報】
NTTグループ さん
マイクロソフト さん -windows-