OpenWrt 21.01 22.03 23.05 FW4 V6プラス & IPv6オプション + ニチバン対策 全自動構成@bash

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

# はじめに
::: 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

```
---
OpenSSHのインストール
※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 note
### 対応回線
**回線直結全自動構成**
- 対応回線業者：[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)
- 対応機器 : [光回線終端装置 (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) 非対応](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)
- 対応認証 : IPoE接続 ※ PPPoE接続非対応
- 対応ファームウェア : [22.03 以降 ※FW4 (firewall4)](https://openwrt.org/docs/guide-user/firewall/misc/nftables#nftables_in_openwrt_2203_and_later)
- 構成状態  : ネットワークインターフェース初期値前提
- スクリプト : [config-software](https://github.com/site-u2023/config-software/blob/main/README.md) / [map-e](https://github.com/site-u2023/map-e/blob/main/README.md)
- パッケージ : [map](https://openwrt.org/packages/pkgdata/map) / [bash](https://openwrt.org/packages/pkgdata/bash) 5.2.15-1 375kB
- 動作確認 : [5chの民](https://mao.5ch.net/test/read.cgi/network/1661212984/) @ WAX206
- 設定詳細 : [参考サイト](https://qiita.com/site_u/items/24bc0823986784cfb96c#%E5%8F%82%E8%80%83%E3%82%B5%E3%82%A4%E3%83%88%E6%84%9F%E8%AC%9Drelaxed)
:::
::: note
### 他回線
- [OCNバーチャルコネクト + ニチバン対策 全自動構成](https://qiita.com/site_u/items/298a6c2c4d6797e38cd0)
- [DS-LITE 各VNE事業者別 全自動構成](https://qiita.com/site_u/items/b6d5097f5e3a0f91c95d)
- [PPPoE auひかり系 等](https://qiita.com/site_u/items/b33180aea25530fcc791)
:::


# VPプラス & IPv6オプション 全自動構成 (ニチバン対策含む)
::: note
### 全自動構成 (ワンコピペ)
**※要ONU直結**
- [map-e-v6plus.sh](https://github.com/site-u2023/config-software/blob/main/map-e-v6plus.sh)
- [map.sh.new](https://github.com/site-u2023/map-e/blob/main/map.sh.new)
```bash
# 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
# package
opkg update
opkg install bash
opkg install map
# onfig-software
wget --no-check-certificate -O /usr/sbin/map-e-v6plus.sh https://raw.githubusercontent.com/site-u2023/config-software/main/map-e-v6plus.sh
# 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
# script run
bash map-e-v6plus.sh 2> /dev/null

reboot

```

### 疎通確認
- コネクションが確立するまで5秒以上待つ
  - [JPIX](https://www.jpne.co.jp/technical/tools/ipv6_test/)
  - [IPv4/IPv6接続判定ページ](http://kiriwake.jpne.co.jp/)
  - [@nifty](https://support.nifty.com/support/conn/index.htm)
  - [TCOM](http://v6v4.net/)

### ポート動作確認
- [ニチバンベンチ](https://www.nichiban.co.jp/)
- [LuCi ファイアーウォール](http://192.168.1.1/cgi-bin/luci/admin/status/nftables)
カウンター確認
### 利用可能ポート確認
- map-wanmap.rules
```ruby
cat /tmp/map-wanmap.rules | awk '/PORTSETS/'

```
:::

# リムーブ
:::note warn
### リムーブ
- bash
- map-e-v6plus.sh
```bash
# bash
opkg remove bash
# map-e-v6plus.sh
rm /usr/sbin/map-e-v6plus.sh

```

### レストア
- network
- map.sh
```bash
# network
cp /etc/config/network.old /etc/config/network
rm /etc/config/network.old
# map.sh
cp /lib/netifd/proto/map.sh.old /lib/netifd/proto/map.sh
rm /lib/netifd/proto/map.sh.old
# restart
/etc/init.d/network restart

```
:::

# [IPv6](https://qiita.com/site_u/items/1a684806a6eb36541fa5)
::: note
### [ルーターアドバタイズメントとDHCPv6](https://qiita.com/site_u/items/1a684806a6eb36541fa5#%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%A2%E3%83%89%E3%83%90%E3%82%BF%E3%82%A4%E3%82%BA%E3%83%A1%E3%83%B3%E3%83%88%E3%81%A8dhcpv6)

### [IPv6 の追加機能](https://qiita.com/site_u/items/1a684806a6eb36541fa5#ipv6-%E3%81%AE%E8%BF%BD%E5%8A%A0%E6%A9%9F%E8%83%BD)

:::
# [チューニング及びベンチマーク](https://qiita.com/site_u/items/599124e2904d1374c2c9)
::: note
### [SQMチューニング](https://qiita.com/site_u/items/599124e2904d1374c2c9#sqm%E3%83%81%E3%83%A5%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0)
:::

# あとがき
- バーチャルコネクト未設定状態でもopkgのDLは可能

# 参考サイト(感謝:relaxed:)
- [Openwrt 22.03.3でv6プラスのDTI(JPNE)の場合の接続方法](https://zenn.dev/bbyes/articles/ebf759fd1596af#%E5%B7%B7%E3%81%AB%E3%81%82%E3%82%8B%E6%9C%80%E8%BF%91%E3%81%AEipoe%E3%81%A8%E3%81%84%E3%81%86%E3%81%8Bv6%E3%83%97%E3%83%A9%E3%82%B9%E3%81%AF%E4%BD%95%E3%81%8Cdti(jpne)%E3%81%A0%E3%81%A8%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%89%E3%81%AA%E3%81%84%E3%81%AE%E3%81%8B)
- [MAP-E： DHCPv6-PDにて取得したPREFIXからbashスクリプトにて各種パラメータを自動計算](https://benedicam-te.blogspot.com/2020/06/map-e-dhcpv6-pdprefixbash.html)
- [openwrt-jp-ipoe](https://github.com/fakemanhk/openwrt-jp-ipoe#advanced-custom-configuration)