Ubuntu 13.04を実行しているクライアントを、最近Windows Server2003から2012にアップグレードされたファイルサーバーによってホストされているネットワーク共有に接続しようとしています。
現在、以下を使用してLANに接続しているときにリモート共有をマウントできます。
_Sudo mount -t cifs //myserver.mydomain.co.uk/myshare /media/myshare/ -o user=myself,domain=myworkgroup,pass=**********
_
ただし、Cisco(IPsec/Xauth)VPNを介して共有をマウントするのに問題があります。サーバーをアップグレードする前は問題はありませんでしたが、次のメッセージが表示されます。
_mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
_
_dmesg | tail
_は私に_[ 1975.651346] CIFS VFS: cifs_mount failed w/return code = -112
_を与えます
ホストがダウンしていないことは間違いありません。smbclient
を使用してVPN経由で同じ共有に接続できます。
_smbclient //myserver.mydomain.co.uk/myshare -U myself -W myworkgroup
Enter myself's password:
session request to MYSERVER.MYDOMAIN failed (Called name not present)
Domain=[MYWORKGROUP] OS=[Windows Server 2012 Standard 9200] Server=[Windows Server 2012 Standard 6.2]
smb: \>
_
「session request to MYSERVER.MYDOMAIN failed (Called name not present)
」エラーの重要性はわかりません。ディレクトリ構造を参照できるからです。
次に何を試すべきかについての提案はありますか?
さて、一年後、私はついにそれを理解しました!
根本的な原因は、ホスト名の解決に関する問題であることが判明しました。 VPN経由で同じリモートネットワーク上のマシンにSSHで接続する際の別の問題を解決しようとしたときに、手がかりが得られました。
ssh -v
の出力から:
debug1: Connecting to myserver2.mydomain.ox.ac.uk [163.1.21.182] port 22.
OpenSSHが意味のないIPアドレスに接続しようとしていることがわかりました(実際には、サーバーのホスト名をネットワークプリンターのIPアドレスに解決していました!)。 ping
もホスト名を正しく解決できなかったのに対し、Host
は機能しているようでした。それが最終的に私をAskUbuntuの このスレッド に導きました。
ping
とssh
はどちらも、mount.cifs
と同様に、glibcリゾルバーを使用していることがわかりました。 glibcがネームサービス情報を取得するソースは /etc/nsswitch.conf
で構成されます。
私のnsswitch.conf
の内容は、もともと次のようになりました。
passwd: compat
group: compat
shadow: compat
hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns wins mdns4
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
重要な行は、hosts:
で始まる行です。これは、ホスト名解決を実行するときにglibcが照会するソースの順序をリストします。私のバージョンでは、検索順序でdns
が[NOTFOUND=return]
の後に続くことに注意してください。
私の解釈では、glibcが最初の4つのソースに従ってホスト名を解決できなかった場合、実際にDNSサーバーにクエリを実行する前にホスト名が返されます。 nsswitch.conf
がこのように構成された理由はわかりませんが(確かにそのように設定していませんでした)、行を次のように変更します。
hosts: files myhostname mdns4_minimal dns [NOTFOUND=return] wins mdns4
突然、ping
、ssh
、mount.cifs
を含むすべてが正しく機能するようになりました。
SMBクライアントと接続できるのは、「匿名」として接続できるためです。ただし、匿名として接続できるからといって、通常のユーザーの認証サービスが機能しているわけではありません。
ファイアウォールに問題がある可能性があります。これらの4つのポートを開きます:
- UDP&TCP/137
- UDP&TCP/138
- UDP&TCP/139
- TCP/445
Windows側のNetlogonサービスも通信を許可していることを確認してください。
VPN経由で接続するときにポート445/tcpにアクセスできますか。使用する
nc -v myserver.mydomain.co.uk 445.
それがうまくいったら。
Connection to myserver.mydomain.co.uk 445 port [tcp/Microsoft-ds] succeeded!
あなたが見るかもしれない唯一の問題は、ファイアウォールがとにかく成功するかもしれない接続をプロキシするかどうかです。次に、パケットキャプチャを実行して、Windowsサーバーが何かを送信しているかどうかを確認します。