概要:
これは 2 部構成の質問です。ある ISP でルーターを使用した単純な Samba 共有は機能しませんが、別の ISP で同じルーターをセットアップし、同じ Samba 構成の同様のサーバーを使用すると機能します。
ルーターが SSH などを正常に転送しているにもかかわらず、ポートを転送していないか、または ISP が標準の Samba ポートをブロックしているようです。なぜうまくいかないのか分からず、まだ原因を絞り込もうとしています。
2 番目の質問は、Windows 7、XP、エンド ユーザー向けのシンプルなクライアントを備えた Mac および Linux サーバー。
stackoverflow 以外の新しい友人が、解決策として sshfs を手伝ってくれました。CentOS では、ssh はすでに sshfs をサポートしています。Windows クライアントのwin-sshfsはうまく機能しており、 UOで説明されている MACFusion で OSXFUSE を試してみます。
さらに、各人に Linux ユーザーをセットアップします。Linux グループの全員が書き込みできるようにするには、 serverfaultのこの質問で説明されている /etc/ssh/sshd_config の umask を変更します。人々はまず自分のホーム ディレクトリにアクセスします。そこには、スティッキー ビットが設定された共有フォルダへのリンクを配置して、フォルダを削除できないようにしています。リンクを削除することはできますが、元に戻すのは簡単です。私が見ることができる唯一の問題は、ファイルのロックの欠如と自動更新の欠如です。
元の質問:
インターネット経由で Centos 6.3 サーバー上で Samba を動作させることができないようです。別のインターネット接続に同様のテストサーバーがあり、まったく同じセットアップで正常に動作しています。http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/diagnosis.htmlを調べました2回、ポートがインターネットに転送されていることを確認し(実際に開いていることをテストする方法はわかりませんが)、samba構成を再確認し、/tmpを共有しているのは今だけです。ユーザー アカウントがセットアップされ、ssh で /tmp にアクセスでき、samba パスワードが同じに設定されます。サーバーにpingを実行できませんが、これはルーターまたはIPが所有者/仕事によってping可能に設定されていないためです. SSH および HTTPS Apache は、ポートが同じ方法で転送されるサーバー上で適切に機能します。私はそこにいないので、まだローカルネットワーク内で共有をテストできていませんが、内部的には機能するはずです。Windows 7 から接続しようとすると、タイムアウトになり、プロンプトが表示されず、接続されませんでしたが、自分のインターネット接続上のテスト サーバーは常に内部および外部で動作しています。
どんな助けでも大歓迎です。
要件は、外部インターネット接続を介して動作する Windows 7、XP、Mac、および Linux サーバー間で使用するための「ドロップボックス」を使用する代わりに、内部でホストされた共有フォルダーを簡単に使用できることです。頻繁に使用されることはありませんが、迅速で、クライアント側でのアクセス/セットアップが簡単で、ビジネス用に安全である必要があります。CentOS にインストールする代替手段があれば、それも素晴らしいでしょう。
ありがとうございました!アンドリュー
詳細を編集する:
ポートは転送されます:
(画像はありましたが、新しいユーザーとして投稿できません) 137、138、139、445 はすべて、テスト用に TCP と UDP の両方で転送されます。
smb.conf は、動作中のテスト サーバーとまったく同じように簡単にセットアップされます。
# cat /etc/samba/smb.conf
[global]
workgroup=WORKGROUP
log level = 3
log file = /var/log/samba/log.%m
max log size = 50
security = user
passdb backend = tdbsam
[tmp]
comment = temporary files
path = /tmp
read only = yes
適切な措置のために Samba を再起動しました。
# service smb restart
Shutting down SMB services: [ OK ]
Starting SMB services: [ OK ]
テスト サーバーで正常に動作する \ として共有にアクセスしようとすると、Windows 7 がタイムアウトします。
(スクリーンショットはありましたが、新しいユーザーは投稿できません)
エラー 0x80004005 を検索すると、http: //answers.microsoft.com/en-us/windows/forum/windows_vista-networking/cannot-access-network-share-get-unspecified-error/9f840844-9d5b-e011- が表示されます。 8dfc-68b599b31bf5
ワークグループを確認し、設定を共有し、Windows を再起動しました。テスト共有が機能するので、Windows マシンは機能していると思います。詳細を続けます。
もう一度編集します。
トラブルシューティング ガイドにもう一度従います。
smb.conf を次のように単純化します。
# cat /etc/samba/smb.conf
[tmp]
comment = temporary files
path = /tmp
read only = yes
/etc/resolv.conf は ISP サーバーを使用しており、それらは機能します。それらは動作中のサーバーの DNS とは異なりますが、その DNS は別の ISP にあります。
# nslookup google.com
Server: 71.242.0.12
Address: 71.242.0.12#53
Non-authoritative answer:
Name: google.com
Address: 74.125.228.2
私は IP アドレスですべてを行っているので、DNS が機能するかどうかはわかりません。
楽しみのために smb.conf に dns proxy = no を追加しましたが、それは役に立ちませんでした。
/var/log/samba/log.smbd は、稼働中のサーバーと異なるものを報告しません:
[2012/09/20 16:59:41, 0] smbd/server.c:1141(main)
smbd version 3.5.10-125.el6 started.
Copyright Andrew Tridgell and the Samba Team 1992-2010
[2012/09/20 16:59:41.484699, 0] param/loadparm.c:7648(lp_do_parameter)
Global parameter dns proxy found in service section!
[2012/09/20 16:59:41.486645, 0] printing/print_cups.c:109(cups_connect)
Unable to connect to CUPS server localhost:631 - Connection refused
[2012/09/20 16:59:41.486809, 0] printing/print_cups.c:468(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
[2012/09/20 16:59:41.507198, 0] smbd/server.c:501(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
[2012/09/20 16:59:41.507407, 0] smbd/server.c:501(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
[2012/09/20 17:00:39, 0] smbd/server.c:1141(main)
smbd version 3.5.10-125.el6 started.
Copyright Andrew Tridgell and the Samba Team 1992-2010
[2012/09/20 17:00:39.513793, 0] printing/print_cups.c:109(cups_connect)
Unable to connect to CUPS server localhost:631 - Connection refused
[2012/09/20 17:00:39.513955, 0] printing/print_cups.c:468(cups_async_callback)
failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
[2012/09/20 17:00:39.535458, 0] smbd/server.c:501(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
[2012/09/20 17:00:39.535689, 0] smbd/server.c:501(smbd_open_one_socket)
smbd_open_once_socket: open_socket_in: Address already in use
ただし、稼働中のサーバーは、log という名前のディレクトリにログ ファイルを作成します。これは、稼働していないサーバーにはありません。
テストパラメーター:
# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[tmp]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
[tmp]
comment = temporary files
path = /tmp
継続中...
続き:
nmb も実行されています。
# service nmb restart
Shutting down NMB services: [ OK ]
Starting NMB services: [ OK ]
通常、ルーターでは「インターネット ポートの Ping に応答する」がオフになっています。Windows クライアントとサーバーの両方でオンにしました。それぞれがお互いに ping を実行できますが、共有はまだ機能しません。
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\xxxx>ping xxxx
Pinging xxxx with 32 bytes of data:
Reply from xxxx: bytes=32 time=25ms TTL=51
Reply from xxxx: bytes=32 time=23ms TTL=51
Reply from xxxx: bytes=32 time=26ms TTL=51
Reply from xxxx: bytes=32 time=24ms TTL=51
Ping statistics for xxxx:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 23ms, Maximum = 26ms, Average = 24ms
# ping xxxx -c 5
PING xxxx (xxxx) 56(84) bytes of data.
64 bytes from xxxx: icmp_seq=1 ttl=251 time=20.7 ms
64 bytes from xxxx: icmp_seq=2 ttl=251 time=24.6 ms
64 bytes from xxxx: icmp_seq=3 ttl=251 time=21.4 ms
64 bytes from xxxx: icmp_seq=4 ttl=251 time=25.3 ms
64 bytes from xxxx: icmp_seq=5 ttl=251 time=22.9 ms
--- xxxx ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4029ms
rtt min/avg/max/mdev = 20.776/23.022/25.319/1.764 ms
継続中...
続き:
iptables はオフです:
# iptables -L -v
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
SELinux はオフです:
# sestatus
SELinux status: disabled
samba でユーザー設定を使用するsmbclientは、samba サーバーからそのローカル IP および外部 IP に対して機能します。Windows クライアントは以下を取得します。
Connection to <ip addr> failed (Error NT_STATUS_UNSUCCESSFUL)
Samba はデーモン/サービスとして実行されており、netbios-ssn はリッスン モードになっています。
# netstat -a|grep netbios-ssn
tcp 0 0 *:netbios-ssn *:* LISTEN
続きます...
続き:
接続を制限したり、inetd を使用したりしていません。
log.nmbd は問題を報告しません。
nmblookup -B BIGSERVER SAMBAはサーバーの名前を使用して動作します
nmblookup -B ACLIENT * Windows クライアント名または外部 IP アドレスを使用するすべてのログ ファイルで失敗する
nmblookup -d 2 `*'. 失敗する
「PC とサーバーが同じサブネット上にない場合は、-B オプションを使用してブロードキャスト アドレスを PC のサブネットのアドレスに設定する必要があります。
サブネット マスクとブロードキャスト アドレスが正しくない場合、このテストは失敗する可能性があります。(上記のテスト 3 のメモを参照してください)。
私たちはインターネットを経由しているので、これらが一致して機能する必要がありますか?
smbclient //BIGSERVER/TMP が機能する
クライアントで:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\Users\xxxx>net view \\xxxx (ip addr)
System error 53 has occurred.
The network path was not found.
C:\Users\xxxx>
user と passwd を提供しても、net use には同じ問題があります。
nmblookup -M WORKGROUP は、ネットワーク上のローカル Windows マシンを返しますが、私のテスト サーバーでは、テスト マシンに対してローカルなクライアントを返します。おそらく、ワークグループが別のマシン上にあるという問題がありますが、これが問題である場合、他のネットワークからどのように接続するのでしょうか?
Preferred master = yes も試しました。
次の samba ハウツーの 2 ページ目。
更新: 新しい友人は、nmap を試してポートを確認すると言いました:
# nmap -sS -P0 -sV -O xxxx
Starting Nmap 5.51 ( ) at 2012-09-21 11:09 EDT
Nmap scan report for xxxx (xxxx)
Host is up (0.024s latency).
Not shown: 995 filtered ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 5.3 (protocol 2.0)
25/tcp open smtp Postfix smtpd
110/tcp open pop3 Dovecot pop3d
443/tcp open ssl/http Apache httpd 2.2.15 ((CentOS))
9100/tcp open jetdirect?
Warning: OSScan results may be unreliable because we could not find at
least 1 open and 1 closed port
OS fingerprint not ideal because: Missing a closed TCP port so results
incomplete
No OS matches for host
Service Info: Host: xxxx
Samba ポートが表示されないので、この時点でルーターまたは ISP がポートを転送/ブロックしていないと考えられます。
共有の解決策として、Windows と Mac クライアントで sshfs を試しています。