Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

WindowsでPC起動直後、インターネット接続確立が遅い

問題

PC起動直後にインターネット接続を必要とするアプリがスタートアップで立ち上がると、
必ずインターネットに接続されていません系のエラーが発生してしまう。
ただし、数秒~数10秒後、再接続を試みるとインターネット接続が成功する。
環境はWindowsで有線LAN。またDHCPではなく固定IPでネットワークにつないでいる。

解決策

Wireshark(Npcap、WinPCap)、Virtualbox、独自のドライバーが付属するVPNサービスなどのように
ネットワーク接続に「フック」して、NICに仮想ネットワークドライバーやサービスを
インストールするソフトウェアを使用している場合、
それらを更新すると問題が解決する可能性があります 。もしくは削除すれば解消します。

この現象はだいぶ前から発生してて、Windows Updateの影響かくらいに思ってて、気にしてなくて
なんだかんだで1年くらい放置していた現象です。
スタートアップに登録しているLINEがインターネット未接続でログインできず、
そのせいで(本来は必要がないのに)パスワードを求められる事態が頻発したのと、
また、Google Chromeとかが対応している、Macを模倣した機能である
「再起動可能なアプリを自動的に保存し、再度サインインしたときに再起動する」
という機能をONにして、PC起動時にChromeの前回状態を復元させることができる機能なんですが
「インターネットに接続されていません」+みんな大好き恐竜出現!になってました。

ちなみに「再起動可能なアプリを自動的に保存し~」って機能の詳細はコチラ。
【Windows11】前回終了時に開いていたアプリを再起動後に自動起動する方法 - ぱそかけ

ちなみに私の環境はWindows 11ですが、この現象Windows 10のある時から発生しています。
Hyper-VはONにしていますが、それ以外はあまり特殊な環境ではありません。

ネットワークがHyper-Vに書き換えられているのもあり、
Hyper-Vが原因か?とも思っていましたが、
Hyper-Vをいれてだいぶ経ってからこの現象が発生するようになったと思われて、
多分違うと予想はしていました。

まじめにググり始める

「can't connect to the Internet immediately after starting up the PC」
とかでとりあえずググる。そしたら...当てにならなかったやつ
The PC doesn't connects immediately to the internet on boot - Microsoft Community
で、でたーwすぐにリセットする奴〜ww
自称エキスパートの素人が素人に回答して泥沼になっているやつ。
これで解決した試しがない。ユーザーが多いせいか、質も低い気がするのだが、
なぜだろう(とはいえこういうサービスがあるのは素晴らしいです)。
気軽にリセット系を薦めるやつは切腹してほしいです。
ユーザーの環境を容易に破壊しようとするなといいたい。
この手のはデータはロストするが問題が解決しないというのが多い。

もうちょっと頑張ってググる

うーん、これ、原因わからず終わるパターンか?と思いかけて
「establishing internet connection is too slow on startup」
とかでググる。
Win 10 slow to establish network on reboot - Windows 10 Support
あぁ、また意味のないnetshコマンドたたかせる奴系かよ…んでセーフブート厨のコンボかいと思ったら、
最後に神が降臨

Are you using any kind of software that "hooks" on to the network connection and thus installs some virtual network driver and/or service on the NIC? Like Wireshark (Npcap, WinPCap), Virtualbox, any VPN service that comes with proprietary driver etc...

If yes, updating those might solve your problem.

あぁ、Npcap入れたわそういや。だいぶ前に…。
VPNのソフトも入ってたりします。でもNpcapがめちゃ怪しい。

犯人捜し

VPNソフトをアンインストールする⇒現象治らず
Npcapをアンインストールする⇒現象治る!
インターネットが即座につながるようになった
VPNソフトをインストールしなおす⇒現象治ったまま
試しにLINEを「Windows起動時に自動実行」にし直してこの状態で再起動
これもうまくいってすべて解消しました。

他に考えられる要因

今回はこのケースではなかったですが、他の原因でありえそうなもの。
「PC起動後 なかなかインターネットに接続されない」 とかでググった。
ネットワークドライブとWi-Fiの関係ない話題が多くヒットする中、たまたま見つかったもの。
【Windows10】PC起動後、なかなかインターネットに接続されない場合の対処法 | KUMALOG
あと、ありがちだが変なDNSを設定してるとか
After boot PC takes about 1 minute to connect to internet | Tom's Hardware Forum

WordPressの引っ越しをやってみた

f:id:fa11enprince:20220313012622j:plain WordPressの引っ越し作業を行いました。
高いサーバーから安いサーバーに引っ越しをしました。
もしかするとcPanelのマニュアルとかを熟読するともっと楽な手順があったかもしれませんが、
とりあえずDBを復元しつつ、WPをアーカイブしたものを置きなおせば動くだろう
というノリだけでやってみたら案の定できました。

cPanelを採用しているものどうしなら同じことができるかと思います。
極力画面操作で行けそうなところはなるべくそちらに倒してますが、
もう面倒なら、とりあえずmysqldumpとWPのアーカイブだけでもあれば最悪なんとでもなります。
私の場合はもともと移行元のサーバーで複数WordPressを稼働させていたため、
それが前提の手順になっています。
アドオンドメインのところが関係します。
2個WPを動かしていましたがそのうち1つだけ移行して、もう1つは削除するので移行していません。
私のやり方だとどうしてもSSLの反映で結構なダウンタイムが発生してしまうようです。まぁいいや。

反映が遅いのでLet's EncryptであらかじめSSL証明書を入手しておいて
急場をしのぐ方法がこちらに書いていました。
SSLが無効になる時間をさける場合はこちらを参照
rakkoma.com

アクセスが多いサイトだと致命的な問題なのでまじめに対処したほうが良いでしょう。

以降はcPanelを採用しているレンタルサーバー限定の話になります。
あー…別件でcertbotの作業やらないといけないことを思い出した……。

旧サーバーで行う作業

バックアップの取得

cPanelで移行するWordPressのバックアップを取ります
Applications > マイアプリケーションから対象のブログを選びます
マイアプリタブからバックアップボタンを押します。
終わったらダウンロードボタンからダウンロードできます。わざわざSSHで入らなくて楽でいいですね。

アドオンドメインの削除

1つのサーバーに複数WordPress等を置きたいときにする設定でそもそも1サーバー1つの場合はこの作業はいらないです。
元のサイトからアドオンドメインを削除しておく
※データは消えないので大丈夫です

SSL証明書の削除

AutoSSLから除外
SSL/TLS StatusからAutoSSLから除外します
さらにSSL/TLS > サイトの SSL のインストールおよび管理 (HTTPS)
からSSL証明書を削除していきます。

新サーバーで行う作業

サーバー購入

購入します。 複数ドメインで運営がありえるので、そのサーバーにあった方法でインストールをしますが、 WordPressのインストール自体はこの後になります。

アドオンドメインの設定

移行するドメインを移行元と同じように設定します httpからhttpsにリダイレクトも設定しておいたほうが良いです

WordPressのインストール

Applications > WordPressを選択
移行元のドメインを選ぶ
アドオンドメインを利用しているので
/home/[ユーザー名]/public_html/[ドメイン名]/
となっていることを確認

バックアップのアップロード

ファイル > ファイルマネージャーから
/home/[ユーザー名]/public_html/[ドメイン名]/
にファイルアップロードする

SSHでアクセスできるように設定します

適宜各種レンタルサーバーのマニュアルを参照してください

バックアップのリストア

SSHでアクセスしてtar.gzを展開する

tar xvfz app_...tar.gz

SSHでアクセスしてSQLを実行する

mysql -u[ユーザー名] -p[パスワード] [データベース名]
> source APP-DATA.sql

ユーザー名、パスワード、データベース名は
Applications > マイアプリケーションから「マイブログ」を選択
「高度な」のタブでDB名とかを調べられます

……と、このままでは データベースが変わっているので、 wordpressのほうを書き換える

wp-config.phpを編集します

/** The name of the database for WordPress */
define( 'DB_NAME', '[データベース名に書き換えてね]' );

/** MySQL database username */
define( 'DB_USER', '[ユーザー名に書き換えてね]' );

/** MySQL database password */
define( 'DB_PASSWORD', '[パスワードに書き換えてね]' );

DNSの設定

古いサーバーのほうに向いている既存のDNS設定を消します。
新しいサーバーに向くようにDNSの設定を変更します
httpsでアクセスできるようにSSLも効いているか確認します。

SSLの設定

自動で行われるようですが、念のため、 SSL/TLS StatusからAutoSSLの実行をします。
このSSL設定が反映されるまで6時間程度かかっているような気がします。
ここは諦めて寝て待ちます。
ここまで出来たら引っ越し元のデータは消してよいかと思います。

以上で移行が完了です('ω')ノ
移行中にWindows 11にしてしまった。macを意識している気がする。
次のmacはIntel macじゃないのにしようか悩み中。

Appleの公式サイトのApple Storeオンラインにサインインできなかった話

f:id:fa11enprince:20211210221310j:plain Appleで商品を買おうとしてAppleの公式サイトにサインインできない状況に陥りました。
Windows 10とChromeでサインインした時に、どうもログインに2段階ある?らしく
単純にパスワードを入れると入れるところと
2要素(2ファクタ)認証を求められるページがありそのうち後者に入れませんでした。
普通のAppleのページは
https://www.apple.com/jp/store
ですが、2要素認証が必要なページが具体的には
https://secure2.store.apple.com/
のURLで始まるページでした。

ブラウザがなんか悪さをしているか?と思い、ブラウザのキャッシュを消したり
Edgeでアクセスしてみるもダメ。
場合によってはBad Gatewayが出る(Nginxのエラーじゃん…)。
ということで別にブラウザがどうこうって話ではなさそう。

iPhoneでやってみると今度は2要素認証が出てログインが出て事なきを得る。
実は一回ページが固まってBad Gatewayの表示にはならないもののエラーが発生しています。

ただ、相変わらずPCからログインができないので
https://appleid.apple.com/#!&page=signin
でAppleのアカウントの管理サイトへ行き
ログインしてみる
ここでは2要素認証することができた。いったん固まったけど。
そうしてAppleの公式サイトのApple Storeオンラインに、なんどか2要素認証で詰まったものの無事ログインできました。

ひょっとしたらApple側の認証サーバーに負荷がかかっていて
一時的に詰まっていただけなのかもしれない。そろそろクリスマスだしね。
……単なる負荷の問題の気もする。

誰の役にも立たないかもしれませんが備忘録として残しておきます。

ネットワークが突如繋がらなくなる

f:id:fa11enprince:20200528152115j:plain 本日、突如Windowsマシンがインターネットに繋がらなくなった。
実はルーターの調子が悪くて、再起動したら治ったのですが
原因を究明するまでやたらハマったのでその記録です。
構成はパソコンを有線でSoftBankから借りてるルーターに繋いでいるごく一般的な感じです。

現象発生

ネットワークがつながらない。インターネットにつながりません。
「インターネットに繋がりません」とググりたいが、インターネットにつながらない。
仕方ないからスマホでググる。

いきなり「先生!なにもしてないのにインターネットにつながらなくなった!」
と聞かれた、そんな感じでした。
そんなぼんやりなこと言われてもパソコン大先生は困ります。
何もしてないのに繋がらなくなることはないだろ、と言いたくなりますが自分の身に起きるとは。

システム復元を試みる

真っ先にWindows Updateを疑います。
しかしながら不審なところはない。
とりあえず復元だー。

…復元ポイントで復元できないことってあるんすね。
0x80071ac5
ってエラーがでて、なんか変なファイルパスのファイルが消せないとかなんとか。
なんか1時間くらい待たされてエラー出るんすけど。
それを3回くらい繰り返してダメだと悟る。
セーブブートからもやってみたよ。
で、でたーwすぐセーフブート無意味に勧める奴www 諦める。

他のマシンでつないでみる

MacでWi-Fiにルーターにつなぐと普通につながる。
ルーターの直IPを打ってpingをするも普通に応答が返ってくる。

Windowsは有線LANでルーターにつないでます。
PCの裏側を見てもLANが緑色にリンクアップしてます。
ルーターも挿しているところのランプが緑ランプになっていてルーターも反応している。
ケーブルを交換してみるが一緒。
物理層は問題がない。

Hyper-Vを消してみる

Hyper-Vを入れるとスイッチが勝手に作られるんで消してアダプタも
デバイスマネージャーから根こそぎ消す。
Network resetという機能があるのでやってみるが効果なし。
そのあとググって、
https://appuals.com/ethernet-doesnt-have-a-valid-ip-configuration/
を試してみるもダメ。

DHCPをやめてみる

ManualでDHCPをやめてルーターと同じセグメントの192.168.XXX.XXXに指定してつなげてみる。
繋がらん…そんな馬鹿な。pingすら通らない。

DHCPに戻すと謎の
169.254.XXX.XXX
というIP。これはwhat。
謎…とおもったらルーターが見つからなくてどうしようもない場合
169.254のIPが振られるらしい。ほー。
IPアドレスが169.254~になる

ルーターを再起動してみる

なんかよくわからないなぁと思いつつ気分転換にルーター再起動
繋がったんですけど( ^ω^)・・・ 。 Wi-Fi側がOKだからといって有線側も大丈夫とは限らんのか…。 とりあえず消したHyper-Vは元に戻しました…スイッチ消しちゃったアァ。
ちなみに

bcdedit /set hypervisorlaunchtype off

をやっていたので、

bcdedit /set hypervisorlaunchtype auto

で元に戻します。管理者権限で…そのあと再起動を忘れずに。