web-dev-qa-db-ja.com

IPsecVPNを介したCIFSマウントの問題

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)」エラーの重要性はわかりません。ディレクトリ構造を参照できるからです。

次に何を試すべきかについての提案はありますか?

3
ali_m

さて、一年後、私はついにそれを理解しました!

根本的な原因は、ホスト名の解決に関する問題であることが判明しました。 VPN経由で同じリモートネットワーク上のマシンにSSHで接続する際の別の問題を解決しようとしたときに、手がかりが得られました。

ssh -vの出力から:

debug1: Connecting to myserver2.mydomain.ox.ac.uk [163.1.21.182] port 22.

OpenSSHが意味のないIPアドレスに接続しようとしていることがわかりました(実際には、サーバーのホスト名をネットワークプリンターのIPアドレスに解決していました!)。 pingもホスト名を正しく解決できなかったのに対し、Hostは機能しているようでした。それが最終的に私をAskUbuntuの このスレッド に導きました。

pingsshはどちらも、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

突然、pingsshmount.cifsを含むすべてが正しく機能するようになりました。

0
ali_m

SMBクライアントと接続できるのは、「匿名」として接続できるためです。ただし、匿名として接続できるからといって、通常のユーザーの認証サービスが機能しているわけではありません。

ファイアウォールに問題がある可能性があります。これらの4つのポートを開きます:

- UDP&TCP/137
- UDP&TCP/138
- UDP&TCP/139
- TCP/445

Windows側のNetlogonサービスも通信を許可していることを確認してください。

1
Yannovitch

VPN経由で接続するときにポート445/tcpにアクセスできますか。使用する

nc -v myserver.mydomain.co.uk 445.  

それがうまくいったら。

Connection to myserver.mydomain.co.uk 445 port [tcp/Microsoft-ds] succeeded! 

あなたが見るかもしれない唯一の問題は、ファイアウォールがとにかく成功するかもしれない接続をプロキシするかどうかです。次に、パケットキャプチャを実行して、Windowsサーバーが何かを送信しているかどうかを確認します。

0
Ross