OpenWrt インターネット接続設定 全自動 MAP-e OCNバーチャルコネクト V6プラス IPv6オプション DS-LITE Transix Xpass v6コネクト ひかりone  マルチセッション対応 (ニチバン対策) NURO光

:warning:Japanese notation
# こちらに統合しました
https://qiita.com/site_u/items/c6a50aa6dea965b5a774

![config.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/ebcf1227-8809-3fad-ba47-5e44a04ccac6.png)

# はじめに
::: note
### 初心者対応構成
- スクリプトでの自動設定
- UCIとLuCi及びWinSCPにて比較しながら作業がおススメ
:::

::: note
### [PowerShell](https://learn.microsoft.com/ja-jp/powershell/scripting/what-is-windows-powershell?view=powershell-7.4)で[SSHアクセス](https://openwrt.org/docs/guide-quick-start/sshadministration)

- [PowerShellの開始](https://learn.microsoft.com/ja-jp/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7.4) (キー入力)：`Win`+`x` > `a` > `はい`
※Windows7以降標準搭載

```sh
ssh root@192.168.1.1
```

<details><summary>ssh root@192.168.1.1のショートカット作成（デスクトップ）</summary>

```powershell:powershell
$DESKTOP = ([Environment]::GetFolderPath("Desktop") + "\192.168.1.1.lnk")
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$DESKTOP")
$Shortcut.TargetPath = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
$Shortcut.Arguments = '-windowstyle hidden -ExecutionPolicy RemoteSigned "Start-Process ssh root@192.168.1.1"'
$Shortcut.IconLocation = "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,0"
$Shortcut.WorkingDirectory = "."
$Shortcut.Save()

```

- `強制的に貼り付け`
- `yes`

---

</details>

<details><summary>SSHログイン出来ない場合:exclamation:</summary>

known_hostsクリア
- `C:\Users\yourusername\.ssh\known_hosts` ※Windows隠しファイル
```powershell:powershell
Clear-Content .ssh\known_hosts -Force

```
---

</details>

<details><summary>OpenSSHのインストールが無い場合:exclamation:</summary>

※Windows 10 Fall Creators Update(1709)以降標準搭載
- 機能の確認
```powershell:powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

```
- 機能のインストール
```powershell:powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

```
---

</details>

:::

:::note
### 対応接続方式
MAP-e
必要パッケージ: map Version: 7 size: 6kB / bash Version: 5.2.15-1 size: 375kB
- 対応回線業者：[NTT Com](https://www.ntt.com/index.html)
  - [OCNバーチャルコネクト](https://www.ntt.com/business/services/network/internet-connect/ocn-business/option/v-access-ipoe.html)
    - [OCN インターネット](https://service.ocn.ne.jp/hikari/ocn-internet/)
      - [OCN 光、OCN for ドコモ光](https://service.ocn.ne.jp/hikari/docomo/)
    - [ahamo光](https://www.docomo.ne.jp/internet/ahamo_hikari/)
    - [ぷらら光](https://www.plala.or.jp/p-hikari/)
    - [hi-ho光](https://hi-ho.jp/course/hikari/hi-hohikari/)
- 対応回線業者：[JPIX](https://www.jpix.ad.jp/)
  - [V6プラス](https://www.jpne.co.jp/service/v6plus/) ※ [Wikipedia参照](https://ja.wikipedia.org/wiki/V6%E3%83%97%E3%83%A9%E3%82%B9#%E7%89%B9%E5%BE%B4)
    - Tigers-net.com (アイテック阪急阪神)
    - MAGMA光 (インターネットMAGMA)
    - @ nifty (ニフティ)
    - GMOとくとくBB (GMOとくとくBB)
    - 21Company (21Company)
    - アピオン (アピオン)
    - HAL (ウイル)
    - 晴れの国ネット (シックス)
    - JANIS (長野県協同電算)
    - KISNET (創風システム)
    - Gaming+ (ゲーミングプラス) (ネットフォレスト)
    - DMM光 (DMM.com)
    - So-net (So-net)
    - オープンサーキット (オープンサーキット)
    - タムネット (tam.ne.jp)
  - [IPv6オプション（BIGLOBE）](https://support.biglobe.ne.jp/ipv6/option.html)
  - [NURO光 (MAP-e)](https://www.nuro.jp/)

DL-LITE
必要パッケージ: ds-lite Version: 8 size: 1kB
- 対応回線業者：[Transix](https://www.mfeed.ad.jp/transix/overview.html)
  - IIJひかり
  - インターリンクZOOT NATIVE
  - excite MEC光
  - BB.excite光Fit
  - enひかり
- 対応回線業者：[Xpass(クロスパス)](https://www.arteria-net.com/business/service/internet/line/flets/)
  - 楽天ひかり
  - GameWith光
  - enひかり
  - BB.exciteコネクト
  - Tigers-net
- 対応回線業者：[v6 コネクト](https://v6connect.net/)
  - ASAHIネット光

PPPoE
- 対応回線業者：ひかりone系、他
  - [コミュファ光](https://www.commufa.jp/)

:::

::: note
### 前提条件
- 対応機器 : [光回線終端装置 (ONU)](https://ja.wikipedia.org/wiki/%E5%85%89%E5%9B%9E%E7%B7%9A%E7%B5%82%E7%AB%AF%E8%A3%85%E7%BD%AE) 
- ※ [ホームゲートウェイ (HGW) 多分OK](https://ja.wikipedia.org/wiki/%E3%83%9B%E3%83%BC%E3%83%A0%E3%82%B2%E3%83%BC%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A4) 
- 対応ファームウェア : 22.03 以降 ※19.07 多分OK
- 構成状態 : ネットワークインターフェース初期値前提
- スクリプト : [internet-config.sh](https://github.com/site-u2023/config-software/blob/main/internet-config.sh)
- 動作確認 : 23.05.0-rc3 @ WXR-5950AX12 / 23.05.0-rc1 @ WSR-6000AX8
- 関連サイト: [OpenWrt 22.03 23.05 FW4 マルチセッション対応 (ニチバン対策) 全自動構成 スクリプト設置版 @bash](https://qiita.com/site_u/items/8c850f7dbbe3d2af90f6))

:::

# 選択型インターネット接続自動設定
::: note
### 全自動構成
![スクリーンショット 2024-12-07 030753.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3412833/73fd17c5-70e1-8226-ed96-b5ff52fb20d1.jpeg)


階層
※それぞれ設定とその復元が対になっている
- OCNバーチャルコネクト・V6プラス・IPv6オプション
  - マルチセッション対応のみ （ニチバン対策）
- NURO光 MAP-e
- トランジックス
- クロスパス
- v6 コネクト
- PPPoE
  - IPv4接続
  - IPv4及びIPv6接続
- 終了

### 実行
- [internet-config.sh](https://github.com/site-u2023/config-software/blob/main/internet-config.sh)
  - [map-e.sh](https://github.com/site-u2023/config-software/blob/main/map-e.sh)
  - [map-e-nuro.sh](https://github.com/site-u2023/config-software/blob/main/map-e-nuro.sh)
  - [ds-lite.sh](https://github.com/site-u2023/config-software/blob/main/ds-lite.sh)
※要ONU直結
```sh:SSH: /etc/config-software/internet-config.sh
mkdir -p /etc/config-software; wget --no-check-certificate -O /etc/config-software/internet-config.sh https://raw.githubusercontent.com/site-u2023/config-software/main/internet-config.sh; sh /etc/config-software/internet-config.sh
```
<details><summary>:exclamation:MAP-eなど未設定でIPv4不通の場合</summary>

※https://github.com/ はIPv6利用で接続可
  - 設定用クライアントをLAN1に接続
```sh:SSH
# IPv6利用設定
uci add network device
uci set network.@device[-1].name='lan1'
uci set network.@device[-1].mtu='1500'
uci set network.@device[-1].ipv6='1'
uci set network.@device[-1].mtu6='1500'
#
uci commit network
/etc/init.d/network reload

```
---

</details>

※強制終了：`Ctrl`+`c`

### 動作確認
- [あなたの IPv6 接続性をテストしましょう。](https://test-ipv6.com/index.html.ja_JP)
- [ニチバンベンチ](https://www.nichiban.co.jp/)

:::

# リムーブ
:::note warn
### リムーブ
- internet-config.sh
```sh:SSH: 
# internet-config.sh
rm /etc/config-software/internet-config.sh

```
:::

# 使い方提案
::: note
### [luci-app-commands](https://openwrt.org/packages/pkgdata/luci-app-commands)

### 使い方提案
OCN、V6プラス & IPv6オプション
- [OCNバーチャルコネクト + ニチバン対策 全自動構成@bash](https://qiita.com/site_u/items/298a6c2c4d6797e38cd0)
- [V6プラス & IPv6オプション + ニチバン対策 全自動構成@bash](https://qiita.com/site_u/items/24bc0823986784cfb96c)


```sh
PROVIDER="map-e-ocn.sh" # OCNバーチャルコネクト
# PROVIDER="map-e-v6plus.sh" # V6プラス & IPv6オプション

opkg update
opkg install bash
opkg install map
opkg install luci-i18n-commands-ja
# config-softwire
mkdir -p /etc/config-software; wget --no-check-certificate -O /etc/config-software/${PROVIDER} https://raw.githubusercontent.com/site-u2023/config-software/main/${PROVIDER}
# map-e
cp /lib/netifd/proto/map.sh /lib/netifd/proto/map.sh.bak
wget --no-check-certificate -O /lib/netifd/proto/map.sh https://raw.githubusercontent.com/site-u2023/map-e/main/map.sh.new
uci add luci command
uci set luci.@command[-1].name='MAP-e自動設定'
uci set luci.@command[-1].command='bash /etc/config-software/map-e.sh 2> /dev/null; reboot'
uci commit luci
sed -i -e "s/map-e.sh/${PROVIDER}/g" /etc/config/luci

```

[カスタムコマンド/ダッシュボード (192.168.1.1)](http://192.168.1.1/cgi-bin/luci/admin/system/commands/dashboard)
- `実行`

:::

# プロビジョニング
::: note
### 備忘録
お勉強中
[IPv6マイグレーション技術の国内標準プロビジョニング方式 【第1.1版】](https://github.com/v6pc/v6mig-prov/blob/1.1/spec.md)

```sh
dig 4over6.info TXT +short "v=v6mig-1 url=https://hb46pp.provisioning.v6ix.info/api/hb46pp/v1/config t=a"
```

```sh
dig hb46pp.provisioning.v6ix.info aaaa +short
```

```sh
curl -vk 'https://hb46pp.provisioning.v6ix.info/api/hb46pp/v1/config'
```

OCNバーチャルコネクト
```sh
https://rule.map.ocn.ad.jp/?ipv6Prefix=<address>&ipv6PrefixLength=<prefixLength>&code=<API Key>
```
:::

# あとがき
分かるインターネット回線接続方法をセレクター形式で一つにまとめてみた
本当は完全自動判別が望ましいが、今後の課題だ

NTT（OCNなど）の10Gも動作すると思われ（検証環境無し）

# 関連サイト
- [OCNバーチャルコネクト + ニチバン対策 全自動構成@bash](https://qiita.com/site_u/items/298a6c2c4d6797e38cd0)
- [V6プラス & IPv6オプション + ニチバン対策 全自動構成@bash](https://qiita.com/site_u/items/24bc0823986784cfb96c)
- [ニチバン対策 (のみ) 全自動構成 MAP書換版](https://qiita.com/site_u/items/50dbc6ae1e3c29c50726)
- [ニチバン対策 (のみ) 全自動構成 スクリプト設置版 @bash](https://qiita.com/site_u/items/8c850f7dbbe3d2af90f6)
- [DS-LITE 各VNE事業者別 全自動構成](https://qiita.com/site_u/items/b6d5097f5e3a0f91c95d)
- [PPPoE auひかり系 等](https://qiita.com/site_u/items/b33180aea25530fcc791)
- [コミファ光](https://qiita.com/site_u/items/e7793ba6b18699beaf66)
- [Dumb アクセスポイント ブリッジ](https://qiita.com/site_u/items/0463c782be0acd6d23d3)
- [OpenWRTでV6プラス(MAP-E)とPPPoEを併用する](https://cgbeginner.net/openwrt-v6plus-pppoe/)
# 参考サイト
- [標準入力を受け付けながら処理を分岐するシェルの書き方](https://qiita.com/takiguchi-yu/items/328cdbc63a93a0010937)
- [シェルで使える色一覧を確認するスクリプト](https://qiita.com/exy81/items/d58a0c6cdea46ffb36b9)