こちらに統合しました
BASH版
- 軽量なbash版に移行しました
※ 375kB + α
はじめに
PowerShellでSSHアクセス
-
PowerShellの開始 (キー入力):
Win
+x
>a
>はい
※Windows7以降標準搭載
ssh root@192.168.1.1
ssh root@192.168.1.1のショートカット作成(デスクトップ)
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
SSHログイン出来ない場合
known_hostsクリア
-
C:\Users\yourusername\.ssh\known_hosts
※Windows隠しファイル
powershell
Clear-Content .ssh\known_hosts -Force
OpenSSHのインストール
※Windows 10 Fall Creators Update(1709)以降標準搭載
- 機能の確認
powershell
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
- 機能のインストール
powershell
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
対応回線
対応回線業者:NTT Com
- OCNバーチャルコネクト
- 対応機器 : 光回線終端装置 (ONU) ※ ホームゲートウェイ (HGW) 非対応
- 対応認証 : IPoE接続 ※ PPPoE接続非対応
- 対応ファームウェア : 22.03 以降 ※FW4 (firewall4)
- 構成状態 : ネットワークインターフェース初期値前提
- スクリプト : map-e / web-config-software
- パッケージ : map
- 動作確認 : 23.05.0-rc2 @ WXR-5950AX12
- 設定詳細 : 参考サイト
構成 (ニチバン対策含む) ※ 要ONU直結
インストール
# package
opkg update
opkg install map
reboot
OPTION値確認
# web-config-software
wget --no-check-certificate -O /www/map-e.html https://raw.githubusercontent.com/site-u2023/config-softwire/main/map-e.html
# scripts
. /lib/functions/network.sh
network_flush_cache
network_find_wan6 NET_IF6
network_get_ipaddr6 NET_ADDR6 "${NET_IF6}"
sed -i -e "s/IPv6ADDRESS/${NET_ADDR6}/g" /www/map-e.html
- 以下を開く
web-config-software -
計算
をクリック ※ 値は入力済み - 以下の値を確認
- option_ipaddr
- option_ip4prefixlen
- option_ip6prefix
- option_ip6prefixlen
- option_ealen
- option_psidlen
- option_offset
設定値入力
- 以下にconfig-softwireで確認したoption値を入力
# option値
option_ipaddr= # 例 : option_ipaddr=2001:370:a115::3
option_ip4prefixlen=
option_ip6prefix=
option_ip6prefixlen=
option_ealen=
option_psidlen=
option_offset=
設定
# map.sh.new
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
# scripts
. /lib/functions/network.sh
network_flush_cache
network_find_wan6 NET_IF6
network_get_device NET_L2D6 "${NET_IF6}"
network_get_ipaddr6 NET_ADDR6 "${NET_IF6}"
CE_CE=`echo $NET_ADDR6 | cut -d':' -f1,2,3,4`
# DHCP LAN
uci set dhcp.lan=dhcp
uci set dhcp.lan.dhcpv6='server'
uci set dhcp.lan.ra='relay'
uci set dhcp.lan.ndp='relay'
uci set dhcp.lan.force='1'
# WAN
uci set network.wan.auto='0'
# DHCP WAN6
uci set dhcp.wan6=dhcp
uci set dhcp.wan6.interface='wan6'
uci set dhcp.wan6.ignore='1'
uci set dhcp.wan6.master='1'
uci set dhcp.wan6.ra='relay'
uci set dhcp.wan6.dhcpv6='relay'
uci set dhcp.wan6.ndp='relay'
# WAN6RA
WAN6RA='wan6ra'
uci set network.${WAN6RA}=interface
uci set network.${WAN6RA}.proto='static'
uci set network.${WAN6RA}.device=${NET_L2D6}
uci set network.${WAN6RA}.ip6gw=${CE_CE}::1
uci set network.${WAN6RA}.ip6prefix=${CE_CE}::/56
uci add_list network.${WAN6RA}.ip6addr=${CE_CE}::1001
# WANMAP
WANMAP='wanmap'
uci set network.${WANMAP}=interface
uci set network.${WANMAP}.proto='map'
uci set network.${WANMAP}.maptype='map-e'
uci set network.${WANMAP}.peeraddr=${option_peeraddr}
uci set network.${WANMAP}.ipaddr=${option_ipaddr}
uci set network.${WANMAP}.ip4prefixlen=${option_ip4prefixlen}
uci set network.${WANMAP}.ip6prefix=${option_ip6prefix}
uci set network.${WANMAP}.ip6prefixlen=${option_ip6prefixlen}
uci set network.${WANMAP}.ealen=${option_ealen}
uci set network.${WANMAP}.psidlen=${option_psidlen}
uci set network.${WANMAP}.offset=${option_offset}
uci set network.${WANMAP}.legacymap='1'
uci set network.${WANMAP}.mtu='1460'
# FW
ZOON_NO='1'
uci del_list firewall.@zone[${ZOON_NO}].network='wan'
uci add_list firewall.@zone[${ZOON_NO}].network=${WANMAP}
uci add_list firewall.@zone[${ZOON_NO}].network=${WAN6RA}
uci commit
# map
sed -i -e "s/ip4prefixlen=32/ip4prefixlen=${option_ip4prefixlen}/g" /lib/netifd/proto/map.sh
reboot
疎通確認
- OCNバーチャルコネクト
- 他
ポート動作確認
リムーブ
IPv6
チューニング及びベンチマーク
あとがき
-
バーチャルコネクト未設定状態でもopkgのDLは可能
-
クライアントにWARPをインストールすればV4も拾う※CloudflareのIP
-
こんなんもあります、皆さん凄いですね
-
firewall.zoon[*] ゾーン番号がうまく自動で拾えないな