rabbit51

it's since Nov.30 2005
May.29 2014, transferred from broach

OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#3

2022-09-01 11:00:00 | WZR-HP-G300NH

「2404:1a8::/32」IPv6ネットワークセグメントには、NTT東の「サービス情報サイト」サーバー「http://flets-east.jp/」が存在する。インターネットから接続出来ない。VPN接続時にsplit tunnelingするようにsubnetを設定していた。
アップデート後「OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#2」で/etc/ipsec.confの「leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56,2404:1a8::/32」だと起動しないが「leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56」で起動する」と記載したが、起動するがVPN接続出来ない状態。何故起動せず、何故起動できるようになったか不明(誤認識?)。。。。


(1)詳細な不具合状態
/etc/ipsec.conf
# ipsec.conf - strongSwan IPsec configuration file
# basic configuration
config setup
# Add connections here.
conn %default
	keyexchange=ikev2
	ike=aes256-sha256-modp1024
	esp=aes256
	auto=add
	left=%any
	leftauth=pubkey
	leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56,2404:1a8::/32
	leftsendcert=always
	leftcert=srv-pub.pem
	leftid=@vpn.v6.AAAAAAAA.mydns.jp
	right=%any
	rightsourceip=192.168.13.0/24,2409:10:XXXX:YY20::13:0/120
	rightdns=192.168.12.1,2409:10:XXXX:YY20::12:1

conn eap-id-passwd
	rightauth=eap-mschapv2
	eap_identity=%any

接続結果
Status of IKE charon daemon (strongSwan 5.9.2, Linux 5.4.188, mips)
leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56,2404:1a8::/32
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続出来ず
leftsubnet=192.168.0.0/20,2404:1a8::/32
IPv6セグメントを一つにしてみた
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続出来ず
leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56,2404:1a8:ff43::/48
IPv6セグメントの範囲を狭めてみた(無指定は「/32」)
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続出来ず
leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続
leftsubnet=192.168.0.0/20,2409:10:XXXX:YY20::/60
接続ポイントのIPv6アドレスが含まれるIPv6セグメント
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続
leftsubnet=192.168.0.0/20,2409:10:XXXX:YY40::/60
接続ポイントのIPv6アドレスが含まれないIPv6セグメント
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続出来ず
leftsubnet=0.0.0.0/0,::/0
全てのパケットをVPN経由で送受信する
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続

(2)接続出来ない時のログ
Wed Aug 24 14:16:39 2022 daemon.info : 14[KNL] error installing route with policy 2404:1a8::/32 === 2409:10:XXXX:YY20::13:1/128 out
Wed Aug 24 14:16:39 2022 daemon.info : 14[IKE] unable to install IPsec policies (SPD) in kernel
Wed Aug 24 14:16:39 2022 daemon.info : 14[IKE] failed to establish CHILD_SA, keeping IKE_SA
Wed Aug 24 14:16:39 2022 daemon.info : 14[ENC] generating IKE_AUTH response 5 [ AUTH CPRP(ADDR ADDR6 DOMAIN DOMAIN DNS DNS6) N(AUTH_LFT) N(MOBIKE_SUP) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_4_ADDR) N(ADD_6_ADDR) N(TS_UNACCEPT) ]


(3)Debian10サーバのstrongswan
Status of IKE charon daemon (strongSwan 5.7.2, Linux 4.19.0-20-amd64, x86_64)
leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56,2404:1a8::/32
macOS Mojave(10.14.6)およびWindows10(21H2 19044.1889)共に接続

debian10とopenwrtでplugin moduleの差(非強調文字は共通)
$ ssh root@debian10.matsuura ipsec statusall | grep 'Status of IKE' 
Status of IKE charon daemon (strongSwan 5.7.2, Linux 4.19.0-20-amd64, x86_64):

$ ssh root@debian10.familyname ipsec statusall | grep 'loaded plugins'
  loaded plugins: charon aesni aes rc2 sha2 sha1 md5 mgf1 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl fips-prf gmp agent xcbc hmac gcm attr kernel-netlink resolve socket-default connmark farp stroke updown eap-identity eap-aka eap-md5 eap-gtc eap-mschapv2 eap-radius eap-tls eap-ttls eap-tnc xauth-generic xauth-eap xauth-pam tnc-tnccs dhcp lookip error-notify certexpire led addrblock unity counters
$ ssh root@openwrt.matsuura ipsec statusall | grep 'Status of IKE'
Status of IKE charon daemon (strongSwan 5.9.2, Linux 5.4.188, mips):

$ ssh root@openwrt.familyname ipsec statusall | grep 'loaded plugins'
  loaded plugins: charon test-vectors ldap pkcs11 aes des blowfish rc2 sha2 sha1 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem openssl gcrypt af-alg fips-prf gmp curve25519 agent xcbc cmac hmac ctr ccm gcm curl mysql sqlite attr kernel-libipsec kernel-netlink resolve socket-default connmark forecast farp stroke vici smp updown eap-identity eap-md5 eap-mschapv2 eap-radius eap-tls xauth-generic xauth-eap dhcp whitelist led duplicheck addrblock unity


(4)原因を探る
OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#2」でトラブルシューティングに従い「strongswan-mod-kernel-libipsec」「mod-tun」をインストールした。「kernel-libipsec Plugin」によれば、「the OS kernel’s IPsec stack」が機能しない時の代替え策で標準では無いと記載。OpenWrt 19.07.04までは標準のstrongswanで動作していた。

[strongSwan] 02[KNL] error installing route with policy after upgrading strongswan 5.1.3->5.3.5」によれば「kernel-libipsec Plugin」を使う事による事象が推察される。「Route-based VPN」によれば、全てのトラフィックをVPN経由にすれば、対象のパケットをVPN経由で通信出来るが、Split tunnelingにならない。

Linuxのカーネルが4.14 -> 5.4となった事が原因と推測できる。

OpenWrtの19.07.10に戻してみようとパッケージを探したが

パッケージが見つからず、確認できない。

(5)対策
firmware versionを戻せないので、全てのパケットをVPN経由にする事で対応する。
leftsubnet=0.0.0.0/0,::/0

split tunnelingにならないが、VPN先(自宅環境)からインターネット接続されるので問題は無い。

OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3)
OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#1
OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#2
 
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#2

2022-06-27 09:00:00 | WZR-HP-G300NH
OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3)」実施後、「OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#1」の不具合が発生した。さらにStrongSwanによるIKEv2 VPNが起動しない。
「/etc/ipsec.conf」が初期化されVPN設定情報が無くなっていた。設定のバックアップファイルを読み込もうとしたが、エラーになってしまう。レビジョンが異なると読み込めないのか?「/etc/ipsec.conf」strongswan設定関連ファイルを手作業でコピーと復元で復旧する。
ログによると「SPI」の交換まで動作するが起動しない。「Troubleshooting」によれば、「kmod-tun」「strongswan-mod-kernel-libipsec」のパッケージがインストールされていないのが原因のように記載されている。「strongswan-full」パッケージをインストールしているが確認してみると二つのパッケージがインストールされていなかった。
インストール後strongswanの起動ができるようになった。
しかしVPN接続できるが、VPNが機能しない。
現在の設定は、「Buffalo OpenWrt化WZR-HP-G300NHでIKEv2 VPN over ぷららIPv6 IPoE接続」となっている。
strongswanのバージョンは、5.6.3-1から5.9.2-1となっている。
/etc/ipsec.confの「leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56,2404:1a8::/32」だと起動しないが「leftsubnet=192.168.0.0/20,2409:10:XXXX:YY00::/56」で起動する。
詳細を調査中。


OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3)
OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#1
 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#1

2022-06-06 17:00:00 | WZR-HP-G300NH
OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3)」実施後、
Smart UPS 500(NEC designed by APC)をOpenWrt化WZR-HP-G300NHで管理」で設定した「APC UPS Network Monitor」の表示がおかしくなった。
OpenWrtとDebian10の二つのhttpサーバーでOpenWrtとDebian10上のapcupsdをモニターしている。それぞれ、自身(localhost)への接続は問題ないが相互への接続がエラーになる。

(1)調査結果
「apcaccess」で確認
localhostに対して接続可能。
OpenWrtからDebian10への接続不可。
Debian10からOpenWrtへの接続不可。

OpenWrtのfirewallを停止(Debian10はfirewall設定無し)
localhostに対して接続可能。
OpenWrtからDebian10への接続不可。
Debian10からOpenWrtへの接続不可。

route table(policy routingを含む)の確認
OpenWrtおよびDebian10共にpolicy routingの設定無し。
OpenWrtからDebian10へのIPv4/IPv6 ping応答無し。
Debian10からOpenWrtへのIPv4/IPv6 ping応答無し。

Debian10-vaioのapcaccessで確認
Debian10-vaioからOpenwrtへの接続可。
Debian10-vaioからDebian10への接続可。

wiresharkでpingを確認
OpenWrtからDebian10へのping: echo request/reply共に発生
Debian10からOpenWrtへのping: echo requestだけ発生
結果からOpenWrtのetherパケット受信に問題がありそう。

再起動
変化無し。

(2)原因特定
調査結果からOpenWrtのEthernetインターフェース周りの不具合が考えられる。「ip address」「ip neighbor」で調査中に不具合と思われる設定を発見。

LANとWAN/WAN6のMACアドレスが同じになっている。19.07.4では、LANのMACアドレス「00:1D:73:XX:YY:E8」、WAN/WAN6のMACアドレス「00:1D:73:XX:YY:E9」であった。

buffaloルータ時代からMACアドレスの変更をした事が無い。OpenWrtに変更(Buffalo WZR-HP-G300NHにOpenWrtを入れ「ぷらら」のIPv6 IPoEでTransix DS-Liteを使う)後もMACアドレスを変更していない。「OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3)」でファームウェア選択を間違えてインストールした事が原因と思える。epromの何処にeth0/eth1のMACアドレスが保存記載されているか不明。

(3)対策
「ネットワーク」「インターフェース」の「デバイス」タブを選択しeth1のMACアドレスを確認する

「00:1D:73:XX:YY:E8」と設定されている。

eth1の「設定」を選択し、MACアドレスを修正する

「00:1D:73:XX:YY:E8」から「00:1D:73:XX:YY:E9」へ変更し保存。

変更後のMACアドレスが太字で表示。「保存&適用」を実行。


「保存&適用」でMACアドレスが反映されSLAACのIPv6アドレスも修正される


(4)結果
APC UPS Network Monitorの表示も復帰



 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3)

2022-06-01 16:00:00 | WZR-HP-G300NH
OpenWrt化WZR-HP-G300NHのアップデート(V19.07.4)」の実施から20ヶ月弱経過した。OpenWrt 21.02.3(20. April 2022)がリリースされていたので更新した。WZR-HP-G300NH用のファームウェア選択画面への誘導が判りやすくなっている。Model名を入力していくと2つのファームウェアが候補として表示された。

手持ちのWZR-HP-G300NHがrtl8366rbなのかrtl8366sなのか判断がつかずRB版をインストールした。

アップデートが終了。「DAIAG」LEDが点滅して起動開始。「SECURITY」LEDが点滅したまま応答が無くなる。どちらのチップが使われているか本体を開けて確認しようとしたが「半田付けされたシールドケース」内に配置されているようで確認できなかった。起動しないのでシリアルポート接続を覚悟して再度起動を試みた。
「SECURITY」LEDも点滅せず「WIRELESS」LEDが点灯した。
起動したようだがネットワーク接続ができない。「WAN」ポートも「LAN」ポートも接続できず。これでは、s版ファームのアップデートも不可能。WZR-HP-G300NHのInternal Architectureによれば、「WAN」ポートのeth1は、rtl8366スイッチが介在していないのでtftpでファームアップが可能かもしれない。

「WIRELESS」LEDが点灯しているのでWiFi接続を試みてみた。接続成功!
rtl8366s対応のファームウェアをアップロードして起動。

WZR-HP-G300NH 
OpenWrt 19.07.4


OpenWrt 21.02.3


---------
不具合発生#1: OpenWrt化WZR-HP-G300NHのアップデート(V21.02.3) その後#1

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

OpenWrt化WZR-HP-G300NHのアップデート(V19.07.4)

2020-10-19 13:00:00 | WZR-HP-G300NH
APC Smart-UPS 500(SMT500J)をOpenWrtで管理設定したので、しばらく実行していなかったシステムアップデートを行った。システムアップデートの後、導入したパッケージも再インストールが必要なので少し手間が掛かる。


(1)システムのアップデート
OpenWrt 19.07.4 update@10 September, 2020
WZR-HP-G300NHの「Firmware OpenWrt Upgrade URL」からダウンロードしてインストール。

インストールの前に「システム」「バックアップ/ファームウェア更新」「操作」タブのバックアップで設定ファイルのバックアップを取得

(2)パッケージの再インストール
今までにインストール済みパッケージ
「luci-i18n-base-ja」(日本語パッケージ)
「luci-ssl」(SSLパッケージ)
「ds-lite」(DS-Liteパッケージ)
「luci-app-ddns」(DDNSクライアントパッケージ)
「luci-i18n-ddns-ja」(DDNS用日本語パッケージ)
「luci-i18n-firewall」(Firewall用日本語パッケージ)
「strongswan-full」(IKEv2 VPN用)
「openssl-util」(証明書類の設定確認など)
今回導入したパッケージ
「apcupsd」
「apcupsd-cgi」
「kmod-usb-serial」
「kmod-usb-serial-ftdi」
「kmod-usb-serial-pl2303」
「msmtp」
「msmtp-mta」

パッケージが多いのでGUIからだとめんどくさい。sshでコンソールログインして下記コマンドで一括インストール
----------
opkg install luci-i18n-base-ja luci-ssl ds-lite luci-app-ddns luci-i18n-ddns-ja luci-i18n-firewall strongswan-full openssl-util apcupsd apcupsd-cgi kmod-usb-serial kmod-usb-serial-ftdi kmod-usb-serial-pl2303 msmtp msmtp-mta
----------

(3)アップデート後の確認

・uhttpdのサーバ証明書/etc/uhttpd.crtと/etc/uhttpd.keyが上書きされ消失
・msmtpの/etc/aliasesファイルが消された(バックアップもされていなかった)
・「/root」フォルダに配置したDDNS用の固定IPv6アドレスを設定するスクリプト「get-vpn-ip6.sh」が消失


「システム」「バックアップ/ファームウェア更新」「設定」タブで「/etc/aliases」と「/root/get-vpn-ip6.sh
」を指定して保存。
「現在のバックアップファイルのリストを表示する」「リストを開く...」でバックアップする設定ファイルを確認
証明書ファイル「uhttpd.crt/uhttpd.key」は、このバージョンでは含まれている。
「操作」タブで「バックアップアーカイブを作成」で保存。

(4)SoftwaereのUpdatesを実施
これも対象が多いとGUIでは、面倒。
sshでコンソールログインして
opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
で一括アップデートを実施した。

(5)msmtpのバージョン
最新の「msmtp-1.8.12」がインストールされていた。
しかし「msmtpd」が存在しなかった。独立したパッケージも無かった。
msmtp-1.8.12.tar.xz」には、「msmtpd」が存在しているが?だ。

APC Smart-UPS 500(SMT500J)用の「apcupsd」がlocalhost:25のsmtpサーバを想定しているのに対応出来そうにない。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする