今まで接続できていたのにある日突然、 VPN経由でWindows XPからならNASにアクセスできるのに、Windows Vista/7からはアクセスできない状態に陥りました。
おかしいことに、パスワード認証が不要なゲストOKの共有フォルダはVistaからでも開くことができるのですが、パスワード認証が必要なフォルダはユーザー名・パスワードを正しく入力してもエラーでアクセスができませんでした。
Vistaでは認証がうまくいかない!?
NASは玄人志向の玄箱でDebian化したLinuxのNASなのですが、SambaがVistaの認証を受け付けていないのが原因っぽいので調べたら『LAN Manager認証レベル』の変更を行うことで解決できるとありました。
しかし、上記の方法では解決できませんでした。
ネットワークアダプタのドライバーを削除して、再インストールしたり、ドライバーを更新したりもして見ましたが解決でできませんでした。
原因
原因はデフォルトゲートウェイが何故か2つあるのが原因のようです。
コマンドプロンプトで『ipconfig』と入れてみると、
IPv4アドレス: 192.168.1.5
サブネット マスク: 255.255.255.0
デフォルト ゲートウエイ: 0.0.0.0 ←これが余計
192.168.1.1 ←本来のゲートウエイ
と表示されました。
よって、『0.0.0.0』を消すことで解決できました。
『0.0.0.0』を消す方法
- 『コントロールパネル』を開く。
- 『ネットワークと共有センター』を開く。
- 『ネットワーク(プライベートネットワーク)』の右の『カスタマイズ』をクリック。
- 『ネットワークの場所を結合または削除します』をクリック。
- 表示されているネットワークを削除。
※私の場合2つあり、1つだけ消せませんでした。 - 管理者として『コマンドプロンプト』を起動。
- 『route delete 0.0.0.0』と入力してEnterを押して、デフォルトルートを削除。
- 『netsh winsock reset』と入力し、winsockをリセットしてPCを再起動。
- 再起動後はデフォルトゲートウェイが『0.0.0.0』となっているため、LANは使えてもWANが使えなくなっていますので、デフォルトゲートウェイを『192.168.1.1』としてやれば完了。(うちの場合はルーターが192.168.1.1となっているので)
もっと簡単にコマンドプロンプトで行う方法もあります。
- 管理者として『コマンドプロンプト』を起動。
- 『route delete 0.0.0.0』と入力してデフォルトルートを削除。
- 『route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1』と入力してデフォルトゲートウェイを変更。
- 『netsh winsock reset』と入力し、winsockをリセットしてPCを再起動。(←コレしなくていいかも)
『route』コマンドの説明補足
書式 | route [-f] [-p] [コマンド [対象] [MASK ネットマスク] [ゲートウェイ] [METRIC メトリック] [IF インターフェイス]] |
---|---|
-f | 現在のデフォルト・ルートを削除して変更(一時的で保存されない) |
-p | 変更がレジストリに登録され、再起動後も変更が自動的に反映 |
『netstat -r』同様ルーティング・テ^ーブルの表示 (例)route print | |
ADD | 経路の追加 (例)route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.1 |
DELETE | 経路の削除 (例)route delete 0.0.0.0 |
CHANGE | 経路の変更 (例)route -p change 0.0.0.0 mask 0.0.0.0 192.168.1.254 |
ネットマスク | サブネットマスクの値。指定しなければ「255.255.255.255」となる |
ゲートウェイ | ゲートウェイのIPアドレスを指定 |
メトリック | メトリック値を指定 |
インターフェイス | インターフェイス番号を指定 |
これでもだめなら、TCP/IPをリセットしてみる
リセット方法はコマンドプロンプトで以下を実行するだけです。
netsh int ip reset c:\resetlog.txt または netsh int ip reset resetlog.txt
リセット後はネットワークの接続がなくなっているので、インターネットの接続を行う必要があります。
参考ページ