楽天モバイル回線でForticlientによるSSL-VPNを行うと98%で止まるがエラーもない件の対処


楽天モバイル回線でForticlientによるSSL-VPNを行うと、下記の98%の状態で止まり、しばらく待つとエラーメッセージもなく未接続状態に戻ってしまう。

楽天モバイル回線以外でやってみると正常に接続できる。

2022/02/01追記: 今日からNTTドコモでIPv6シングルスタック化が始まったらしい。もしかして、類似の現象がドコモでテザリングした際に発生する可能性がある。

ちなみに他の回線でも発生する場合はデバイスマネージャのネットワークアダプタにある「WAN Miniport (IP)」をアンインストールし、Windows再起動することで再作成させることで治ることが多いようだ。

楽天モバイルの場合の事例についてぐぐるとIPv6を無効化するといける、という話があるので、そこらへんにヒントがあるな、と調べて見た。

調査方法は SSL-VPN接続先として指定するホスト名の名前解決を調べて見る

C:\> nslookup vpn.domain.local
サーバー: Unknown
Address: 192.168.43.1

権限のない回答:
名前: vpn.domain.local
Address: 64:ff9b::xxxx:xxxx
      xxx.xxx.xxx.xxx
C:\>

IPv6アドレスは設定されていないはずなのにIPv6アドレスの応答があるとは何事???

Google DNSで名前解決を調べて見ると、こちらは想定通りのIPv4アドレスのみの応答となる。

C:\> nslookup vpn.domain.local 8.8.8.8
サーバー: dns.google
Address: 8.8.8.8

権限のない回答:
名前: vpn.domain.local
Address: xxx.xxx.xxx.xxx
C:\>

この設定していないはずのIPv6アドレス「64:ff9b::xxxx:xxxx」が何者なのか調べたところ、NAT64用に予約されているアドレス帯であることが判明。

JPNIC ニュースレターNo.64「NAT64/DNS64

楽天モバイル網ではIPv6ベースで通信を行うため、IPv4のみの接続先についてIPv6に変換したアドレスを用意している、ということになるようだ。

ただ、FortiClientの実装上それでは都合が悪いようだ。

FortiClientのSSL-VPN接続先のサーバ指定を、サーバ名表記から、IPv4アドレス表記に変更し、「無効なサーバ証明書を非表示」に設定することで接続が完了することを確認した。

「無効なサーバ証明書を非表示」に設定する理由は、SSL証明書はホスト名に対して発行されており、IPアドレスに対しては発行されていないためです。(以前はIPアドレスに対しても発行できたが、現在は禁止されている)


2021/10/15追記

BIGLOBEがInfra Study 2nd #3「いまさら聞けないIPv6ネットワーク」というイベントで「DNSの振り分けでNAT64/DNS64の不具合を回避 ~固定回線でIPv4 over IPv6接続するための工夫~」という発表を行った。

BIGLOBEでは固定回線でもNAT64/DNS64を導入しているのですが、IPv6アドレスに変換されると困るサービスなどは、DNS64の名前解決を行わないようにDNSサーバ側で細工をしている、とのこと。

OpenWRT(GL.iNet GL-MV1000)でBIGLOBEのIPoE(MAP-E)に接続した


2021/05/20追記

1年運用しましたが、結局のところGL.iNet純正firmwareはモバイルルーターとして使う分にはいいが、常設ルーターとして使うには不適切な作りでした。

また、openWRTの機能だけを使おうとしても、firmware 3.102でかなり不適切な状況にされてしまいました。

このため、素のopenWRTで使うしかなくなったのですがopenWRTの「GL.iNet GL-MV1000 (Brume)」ではopenWRT 19.07.7でサポートしたように書いてありますが https://downloads.openwrt.org/releases/19.07.7/targets/mvebu/cortexa53/ にはなく snapshotディレクトリだしと不安感しか感じないので選択肢から外れました

結局のところNanoPi R2SにopenWRTをいれて使っています。

詳細は「NanoPi R2S+openWRT 21.02.0RCでBIGLOBEのMAP-E接続」を参照のこと。


いままでずっと自宅の回線がNTT東 Bフレッツマンションタイプだと思っていて、実際BIGLOBE側の契約管理画面でもそう表示されていたんだけど、NTT東でBフレッツマンションタイプは自動的にフレッツ光ネクストマンションタイプに移行させられていたということが判明。

そんなわけで「Biglobe IPv6接続(IPoE方式)」が使える様になったみたいなのでチャレンジ。

既にIPv6オプションは設定済みだったのでIPv6網への接続は完了している。BIGLOBE側の契約追加は必要なさそうなので、OpenWRT側の設定を実施。

まず、先行事例として参考になった記述は下記2つ。

OpenWrtでv6プラス (MAP-E) での IPv6 / IPv4 接続と、IPv4 PPPoEでのサーバー公開を両立する
OpenWrtでv6プラス(MAP-E)接続する手順

また、BIGLOBEで使われる DMR サーバのIPv6アドレスについては「biglobeのIPv4 over IPv6でハマった話 (RTX830)」に書かれている「https://api.enabler.ne.jp/6a4a89a8639b7546793041643f5da608/get_rules?callback=v6plus」で取得出来るJSONデータ内の「dmr」の値を参照した。(2404:9200:225:100::64だった)

まぁ、So-net事例と同じ値でしたけどね。

/lib/netifd/proto/map.shを編集して「# export LEGACY=1 」のコメントを外す必要あるし、ルーター再起動しないと駄目だったし、接続すると「MAP rule is invalid」で接続するとエラーになったのでwan6(IPv6)のAdvance Settingsの「Custom delegated IPv6-prefix」に値を設定しました。

「option encaplimit ‘ignore’」をつけないとRXがカウントされていない、という話については、現象は起こっていないので未設定です。

ニチバンのサイトにアクセスするとちゃんと表示されない問題はこちらでも発生中です。


2020/01/26追記

showroom-live.com で配信を見てると頻繁に接続できなくなる事態が発生。現状のshowroom-liveは映像配信についてはIPv6対応だが、ユーザアバターなどはIPv4のみという状況。これはもしや同時セッション数の問題?

OpenWrtでv6プラス(MAP-E)接続する手順」の「SNATを240ポート使えるように調整」(および元ネタの「 OpenWrt map-e (JPNE v6plus) において、割当ポート240個をちゃんと使わせるための設定 」)を実施。

すると期待通りに動作するようになった。

ニチバンのWebについてもスムーズに開けるようになった。

しかし、同時にアクセスするタブを増やしていったところアクセス障害が発生。どうやら240ポートを使い切ると発生している模様。ここらへんのポート利用のタイミング調整がどこになるのかがよく分からない・・・


2020/02/01追記

Nintendo SwitchとWiiUで対戦ゲームがプレイできないというクレームが・・・

調べたらMAP-E非対応だそうで。(NATタイプC判定)

かといってIPv4 PPPoEに戻すのはなーと考えた結果、VDSLモデムの次にスイッチングハブを入れて2つのルータを繋ぐことにして対応しました。


2020/06/01追記

GL-MV1000のfirmwareがバージョンアップしたので適用したところ

その1:map-eパッケージが削除されたのでMAP-Eで接続されなくなった(パッケージを再インストールする、という選択肢を選んだのに!)

その2:map-eパッケージを再インストールするとmap.shが再作成されるので、map.shへの修正を再度実施する必要がある

その3:SNATを240ポート設定も吹っ飛んだ

という事象が発生した。要注意。map-eパッケージをダウンロードするためにはIPv4 PPPoE接続をする必要があるので面倒だった。

上記で参照しているサイトが消えてもいいように重要な点を下記に記載。

map.shへの修正内容

まず、「# export LEGACY=1」のコメントを削除して「export LEGACY=1」とした後に下記の修正を追加

#$ diff -c /lib/netifd/proto/map.sh.orig /lib/netifd/proto/map.sh

*** /lib/netifd/proto/map.sh.orig	2017-05-30 02:45:19.000000000 +0900
--- /lib/netifd/proto/map.sh	2017-05-30 02:45:18.000000000 +0900
***************
*** 135,140 ****
--- 135,141 ----
  	      json_add_string snat_ip $(eval "echo \$RULE_${k}_IPV4ADDR")
  	    json_close_object
  	  else
+     	local mark=10
  	    for portset in $(eval "echo \$RULE_${k}_PORTSETS"); do
                for proto in icmp tcp udp; do
  	        json_add_object ""
***************
*** 142,152 ****
--- 143,155 ----
  	          json_add_string target SNAT
  	          json_add_string family inet
  	          json_add_string proto "$proto"
+ 	          json_add_string mark "$mark"
                    json_add_boolean connlimit_ports 1
                    json_add_string snat_ip $(eval "echo \$RULE_${k}_IPV4ADDR")
                    json_add_string snat_port "$portset"
  	                json_close_object
              done
+             mark=`expr $mark + 1`
  	    done
  	  fi
  	  if [ "$type" = "map-t" ]; then

firewall設定

Firewall – Custom Rulesとして以下を追加

iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  0 -j MARK --set-mark 10
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  1 -j MARK --set-mark 11
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  2 -j MARK --set-mark 12
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  3 -j MARK --set-mark 13
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  4 -j MARK --set-mark 14
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  5 -j MARK --set-mark 15
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  6 -j MARK --set-mark 16
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  7 -j MARK --set-mark 17
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  8 -j MARK --set-mark 18
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet  9 -j MARK --set-mark 19
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet 10 -j MARK --set-mark 20
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet 11 -j MARK --set-mark 21
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet 12 -j MARK --set-mark 22
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet 13 -j MARK --set-mark 23
iptables -t nat -A PREROUTING -m statistic --mode nth --every 15 --packet 14 -j MARK --set-mark 24

iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  0 -j MARK --set-mark 10
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  1 -j MARK --set-mark 11
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  2 -j MARK --set-mark 12
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  3 -j MARK --set-mark 13
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  4 -j MARK --set-mark 14
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  5 -j MARK --set-mark 15
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  6 -j MARK --set-mark 16
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  7 -j MARK --set-mark 17
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  8 -j MARK --set-mark 18
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet  9 -j MARK --set-mark 19
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet 10 -j MARK --set-mark 20
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet 11 -j MARK --set-mark 21
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet 12 -j MARK --set-mark 22
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet 13 -j MARK --set-mark 23
iptables -t nat -A OUTPUT -m statistic --mode nth --every 15 --packet 14 -j MARK --set-mark 24

2020/09/25追記

2020年8月リリースのfirmware 3.104では「Disabled ipv6」というとんでもないアップデートが…そう、IPv6通信が使えなくなりました。

GL製の管理GUI上の問題かと思ったら、全体的に使用不可にされていました。

GL-MV1000以外のページのリリースノートを見てみると「Disabled ipv6 function by default due to leak problem.」とメモリリークしてるのでデフォルト無効にしてる、と書いてあるんですが、GL-MV1000の場合どうやったら有効化できるのかわかりませんでしたし、リリースノートにも「Disabled ipv6」としか書いてないので本当に使えないのでしょう…

GLには1月に日本語訳を送ったりしているのですが、部分的に採用されたりするものの無視して中国人的日本語訳を続けているところもあったりで、ほんと、どうにもならんです・・・

GL-MV1000も退役検討中です。


2020/11/13 追記

OpenWrt map-e (JPNE v6plus) において、割当ポート240個をちゃんと使わせるための設定。」のコメントに、この設定 firewall3の設定ファイル解釈バグで修正されたやつを使えば 標準のmap.shで問題ないけど、修正されていないfirewall3の場合はmap.shの「json_add_boolean connlimit_ports 1」を「json_add_boolean connlimit_ports “1”」と書き換えればOK、という書き込みが。

そこでやってみたところ、確かにshowroom-liveでの問題がなくなった

ただ、「iptables -t nat -L -v」でポートの使用状況を確認すると、最初の3つしか使ってないという・・・なので、両方使っている。


2020/12/17 追記

v3.105がリリースされたのでアップデートしてみましたが、相変わらずIPv6が使えません。

なので、v3.102に戻して使用中です。


2021/05/16追記

v3.102ではIPv6が有効化されたものの、詳細設定可能なluciがインストールされていない状態となり、またGL.iNET UI側でIPv6設定を有効にしたあとにluci側で操作する必要があるなど、とてつもなく面倒な事態になりました。

このため、NanoPi R2S+openWRT 21.02.0RCでBIGLOBEのMAP-E接続 に切り替えました。

GL.iNet GL-MV1000でDynamic DNSが動かない


GL.iNet GL-MV1000のlcuiの方でdyn.comのDynamic DNSを設定したのだが、再起動時に自動実行してくれない。

設定画面としては下記の様になっている。

Enabledにチェックが入っているので、自動起動してもよさそうなのだがしていない。

とりあえず起動の仕組みをさぐるため、ルータにrootでログイン。

とりあえず「/etc/init.d」にはどんなファイルがあるのか確認してみると「ddns」というソレっぽいファイルが。

root@GL-MV1000:~# ls /etc/init.d
boot              firewall          gl_s2s            initswitch        openvpn           sysctl            usbmode
bootcount         firewall_gl       gl_tertf          led               qosswitch         sysfixtime        vpn-service
clear_flag        gl_fixdomain      gl_udp_server     lighttpd          relayd            sysntpd           wireguard
cron              gl_init           glcrond           log               rpcd              system            wireguard_server
ddns              gl_monitor        glfw              modem-init        samba             ucitrack
dnsmasq           gl_mqtt           glqos             mwan3             smstools3         uhttpd
done              gl_mv1000         gpio_switch       network           startvpn          umount
dropbear          gl_route_policy   haveged           odhcpd            stubby            urandom_seed
root@GL-MV1000:~#

/etc/rc.dには「S95ddns」と「K10ddns」(どちらも/etc/init.d/ddnsへのシンボリックリンク)

root@GL-MV1000:~# ls /etc/rc.d
K10ddns              S00sysfixtime        S19dnsmasq           S50glfw              S95ddns              S99lighttpd
K10gpio_switch       S10boot              S19dropbear          S50stubby            S95done              S99startvpn
K50dropbear          S10gl_mv1000         S19firewall          S60samba             S96led               S99urandom_seed
K51stubby            S10system            S19mwan3             S70modem-init        S98sysntpd           S99wireguard
K85odhcpd            S11sysctl            S20network           S80gl_tertf          S99bootcount         S99wireguard_server
K89log               S12log               S20usbmode           S80relayd            S99gl_monitor
K90network           S12rpcd              S21initswitch        S80ucitrack          S99gl_mqtt
K90sysfixtime        S13haveged           S35odhcpd            S90vpn-service       S99gl_route_policy
K98boot              S15gl_fixdomain      S50cron              S94gpio_switch       S99gl_s2s
K99umount            S18firewall_gl       S50glcrond           S94smstools3         S99gl_udp_server
root@GL-MV1000:~#

すでに/etc/rc.d/S95ddnsがあるので起動時から動作していても良さそうなのにしていない、ということはスクリプトの中で何らかの処理を行っているはず、ということで中身を確認。

root@GL-MV1000:~# cat /etc/init.d/ddns
#!/bin/sh /etc/rc.common
START=95
STOP=10
boot() {
return 0
}
reload() {
/usr/lib/ddns/dynamic_dns_updater.sh -- reload
return 0
}
restart() {
/usr/lib/ddns/dynamic_dns_updater.sh -- stop
sleep 1
enable=`uci -q get ddns.glddns.enabled`
if [ "$enable" = 1 ];then
        /usr/lib/ddns/dynamic_dns_updater.sh -- start
fi
}
start() {
enable=`uci -q get ddns.glddns.enabled`
if [ "$enable" = 1 ];then
        /usr/lib/ddns/dynamic_dns_updater.sh -- start
fi
}
stop() {
/usr/lib/ddns/dynamic_dns_updater.sh -- stop
return 0
}
root@GL-MV1000:~#

「start()」で「uci -q get ddns.glddns.enabled」の値を確認している。

root@GL-MV1000:~# uci -q get ddns.glddns.enabled
root@GL-MV1000:~#

現状は値が設定されていないため、起動していないようだ。

uciのパラメータを全部確認する場合は「uci -q show」で確認できるので、「uci -q show|grep dns.」を実行してみた。

root@GL-MV1000:~# uci -q show|grep dns.
ddns.global=ddns
ddns.global.ddns_dateformat='%F %R'
ddns.global.ddns_loglines='250'
ddns.global.upd_privateip='0'
ddns.myddns_ipv4=service
ddns.myddns_ipv4.lookup_host='yourhost.example.com'
ddns.myddns_ipv4.domain='yourhost.example.com'
ddns.myddns_ipv4.username='your_username'
ddns.myddns_ipv4.password='your_password'
ddns.myddns_ipv4.interface='wan'
ddns.myddns_ipv4.ip_source='network'
ddns.myddns_ipv4.ip_network='wan'
ddns.myddns_ipv4.service_name='dyn.com'
ddns.myddns_ipv4.enabled='0'
ddns.myddns_ipv6=service
ddns.myddns_ipv6.update_url='http://[USERNAME]:[PASSWORD]@your.provider.net/nic/update?hostname=[DOMAIN]&myip=[IP]'
ddns.myddns_ipv6.lookup_host='yourhost.example.com'
ddns.myddns_ipv6.domain='yourhost.example.com'
ddns.myddns_ipv6.username='your_username'
ddns.myddns_ipv6.password='your_password'
ddns.myddns_ipv6.use_ipv6='1'
ddns.myddns_ipv6.interface='wan6'
ddns.myddns_ipv6.ip_source='network'
ddns.myddns_ipv6.ip_network='wan6'
ddns.myddns_ipv6.enabled='0'
ddns.osakana=service
ddns.osakana.enabled='1'
ddns.osakana.lookup_host='********************'
ddns.osakana.service_name='dyn.com'
ddns.osakana.domain='********************'
ddns.osakana.username='********************'
ddns.osakana.password='********************'
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].boguspriv='1'
dhcp.@dnsmasq[0].filterwin2k='0'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].nonegcache='0'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].nonwildcard='1'
dhcp.@dnsmasq[0].localservice='1'
glconfig.ddns=service
glconfig.ddns.enabled='0'
luci.diag.dns='openwrt.org'
ucitrack.@dhcp[0].init='dnsmasq'
root@GL-MV1000:~#

ん?

「glconfig.ddns.enabled=’0’」?

もしかして、GL.iNet Admin Panelの方にある???

[アプリケーション]-[リモートアクセス]に「ダイナミックDNS」がありました。

有効化をしてみます

これにより「uci -q show|grep dns.」に大きな変化が・・・

root@GL-MV1000:~# uci -q show|grep dns.
ddns.global=ddns
ddns.global.ddns_dateformat='%F %R'
ddns.global.ddns_loglines='250'
ddns.global.upd_privateip='0'
ddns.global.use_curl='1'
ddns.osakana=service
ddns.osakana.enabled='1'
ddns.osakana.lookup_host='*******************'
ddns.osakana.service_name='dyn.com'
ddns.osakana.domain='*******************'
ddns.osakana.username='*******************'
ddns.osakana.password='*******************'
ddns.glddns=service
ddns.glddns.interface='wan'
ddns.glddns.check_interval='10'
ddns.glddns.check_unit='minutes'
ddns.glddns.force_interval='60'
ddns.glddns.force_unit='minutes'
ddns.glddns.ip_url='http://checkip.dyndns.com'
ddns.glddns.ip_source='web'
ddns.glddns.password='*******************'
ddns.glddns.username='*******************'
ddns.glddns.domain='cx0f702.glddns.com'
ddns.glddns.param_enc='cx0f702'
ddns.glddns.lookup_host='cx0f702.glddns.com'
ddns.glddns.service_name='glddns.com'
ddns.glddns.update_url='http://[USERNAME]:[PASSWORD]@ddns.glddns.com/nic/update?hostname=[PARAMENC]&myip=[IP]'
ddns.glddns.enabled='1'
dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].boguspriv='1'
dhcp.@dnsmasq[0].filterwin2k='0'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].rebind_protection='1'
dhcp.@dnsmasq[0].rebind_localhost='1'
dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].nonegcache='0'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.auto'
dhcp.@dnsmasq[0].nonwildcard='1'
dhcp.@dnsmasq[0].localservice='1'
glconfig.ddns=service
glconfig.ddns.enabled='0'
glconfig.ddns.check_status='1'
glconfig.ddns.ddns_enabled='1'
glconfig.ddns.http_enabled='0'
glconfig.ddns.https_enabled='0'
glconfig.ddns.ssh_enabled='0'
luci.diag.dns='openwrt.org'
ucitrack.@dhcp[0].init='dnsmasq'
root@GL-MV1000:~#

そして、luciの方も無事Dynamic DNSが起動している状態となりました。

また、GL.iNetの提供するDynamic DNS(glddns)もあわせて有効になっています。

GL.iNet GL-MV1000をフレッツ光ネクストのIPv6網に接続した


GL.iNet GL-MV1000をバッファロー WSR-2533DHP2-CBのルーター機能の代わりに導入した。

うちはいまだにフレッツ光ネクスト+IPv6オプション環境なので、どうなるかなぁ?と思ったら標準設定ではIPv6での接続がうまくいかなかった。(注:BIGLOBE側の契約表記が「Bフレッツ マンションタイプ」のままなんだけど、フレッツ側の契約を確認してみるといつの間にか「フレッツ 光ネクスト」に切り替わっていた)

どうすればいいのかな?とググったら「フレッツ光 + OpenWrt で IPv6 を使う」に書いてある通りのことで対応できた。

GL.iNet GL-MV1000の標準状態で DHCPv6 クライアント の設定までは行われていたので、 /etc/config/dhcp のファイルを編集するだけで済んだ。

変更するためにはsshでアクセスして、rootユーザでログインすればOK

#初期状態
<略>
config dhcp 'lan'
	option interface 'lan'
	option start '100'
	option limit '150'
	option leasetime '12h'
	option force '1'
	option dhcpv6 'server'
	option ra 'server'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'
<略>

lanのところのdhcpv6とraの「server」を「relay」に変更し、ndpを追加

wan6を新規で追加し、項目を追加

# BフレッツIPv6対応
config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option force '1'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config dhcp 'wan6'
        option dhcpv6 'relay'
        option ra 'relay'
        option ndp 'relay'
        option master '1'

参考にしたblogだとコマンドで「uci commit /etc/config/dhcp」を実行すればOKとあったが、うまく行かなかったので、ルータを再起動したところうまくいった。

なお、手動で変更したあと、luciのGUIを確認してみたが、変更された項目はなかったので、「 Powered by LuCI openwrt-19.07 branch (git-19.218.48058-9177466) / OpenWrt 19.07-SNAPSHOT r10273-2b88d02」「GL-MV1000 version 3.027」ではGUIの変更ができないようでした。

FortiClientのSSL-VPNが80%ぐらいで-12のエラーとなり接続出来ない


FortiClientのSSL-VPNを設定し、接続しようとしたら80%ぐらいのところで「 Unable to logon to the server. Your user name or password may not be configured properly for this connection. (-12) 」というエラーとなり接続できない。

ぐぐってでてきたFortinetフォーラムの「Error Forticlient stop 80%」は2017/02/10の書き込みながら、2019/01/23のコメントとしてWindows10の場合の事例について記載があった。

で、この記載を実施したところなおった。

「Internet Explorer」を開き、「インターネットオプション」の「詳細設定」を開く

上記の「Internet Explorerの設定をリセット」にある「リセット」を実行する。

実行後は一度再起動する。

再起動後、 「Internet Explorer」を開き、「インターネットオプション」の 「セキュリティ」を開く。

上記の「信頼済みサイト」を選択し、「サイト」をクリックする。

開いたウィンドウではSSL接続先のホスト名もしくはIPアドレスを登録する。(不要かも?)

ここで一度、FortiClientを起動してSSL-VPNが接続できるかを確認する。

まだ接続できないようであれば、「コントロールパネル」を開く

「プログラムのアンインストール」を選択

「FortiClient」を選択し「修復」を行う。

修復完了後は、再起動を行う。

おそらく、これでSSL-VPNが接続できるようになると思われる。


後日、「Unable to establish the VPN connection. The VPN server may be unreachable. (-14)」というエラーがでる・・・なんで?

(これは接続先が停止していたためと判明)


2021/01/06追記

新端末で「ステータス: 98%」で時間がかかって、エラーも何も出力されないまま、パスワード入力要求まで戻る、という現象が発生

調べると「IPv6を無効にする」なんて対処がでてきたりするが、デバイスマネージャでネットワークアダプターの項目にある「WAN Miniport (IP)」を削除し、Windows再起動してWAN Miniport(IP)を再作成すればいけるらしい

楽天モバイルの場合はIPv6周りの動作の問題で、対処方法については「楽天モバイル回線でForticlientによるSSL-VPNを行うと98%で止まるがエラーもない件の対処」に記載した。