最近、Ubuntu ServerとSambaを使用してファイルサーバーとして機能する小さなサーバーマシンを構築し、家族全員がWindowsマシンからネットワーク経由で特定のファイルにアクセスできるようにしました。しかし、私はこれをさらに一歩進め、共有を自宅から離れたインターネット経由でアクセスできるようにしたいと思います。どうすればいいですか? Windowsネットワーク共有システムがどのように機能するかについてはほとんど知りません。
Sambaでは、ポート139/tcpおよび445/tcp外部へ–通常、これにはルーターの「ポート転送」の構成が含まれます。さらに、外部IPアドレスが外部からping可能であることを確認する必要があります。
この後、エクスプローラのアドレスバーに\\youraddress
と入力すると、共有にアクセスできますまたは開始-実行。 (ここでyouraddressは 外部IPアドレス またはDNS名(ある場合)のいずれかです。)
ただし、Windowsファイル共有で使用されるCIFSおよびSMBv2プロトコルはデータの暗号化を提供しないため(パケットスニファを持っている人は誰でもファイル転送を監視できます)、その認証も特に強力ではありません。暗号化のサポートを得たのはSMBv3のみです。
また、WindowsのSMBサービスはこれまで非常に頻繁な感染対象でした。忘れないでください。ほとんどのWindowsエクスプロイトはSambaに影響を与えませんが、覚えておく価値はあります(また、SMBポートがISPレベルでブロックされる)ことを意味します。
また、Windowsマシンはデフォルトでローカルセッション全体のログイン資格情報を記憶することに注意してください。 「ゲスト」としてSambaに接続している場合を除き、パブリックマシンでは特別な注意が必要です。切断するには、エクスプローラーで開く前に必ずNet Use \\address
を使用してください/ Net Use \\address /del
。 (これは、パーソナルコンピューターでは必要ありません。)
セキュリティを強化するには、smb.conf
の一般セクションに以下を追加します。
LANMAN auth = no
NTLM auth = no
invalid users = root
家族がWinSCPを使用して処理できる場合:
/srv/samba_files
を公開している場合は、各アカウントに対してln -s /home/{user}/files /srv/samba_files
または同様のことを行います。多くのアカウントでこれを行う必要がある場合は、それを行うスクリプトを作成できます。そうすれば、使用するのはそれほど難しくない、非常に安全な方法でファイルを転送できます。
ただし、Windowsとの「ネットワークドライブ」統合が本当に必要な場合は、OpenVPNについて学習し、ホームネットワークへのブリッジトンネルを設定します。このようなトンネルを介してWindowsファイル共有を正常に機能させることができました。
また、PoPToP(pptpd)を使用して、WindowsシステムがPPTP vpn経由でUbuntuボックスに接続できるようにすることもできます。(IPSec/L2TPトンネルは、より優れたセキュリティを提供しますが、セットアップが困難です。 )。
提供するファイルの種類によって異なります。これらがドキュメントである場合、またはリモートでアクセスする必要があるファイルのみの場合は、UbuntuサーバーでFTPサーバーを実行するだけです。適切なパスワードを使用してしっかりと保護し、ルートではなくファイルディレクトリのみにアクセスできることを確認してください。
ただし、メディアファイル(曲、映画)をストリーミングする場合は、ストリーミングサーバーを実行していることになります。そのための解決策はたくさんあります( ここにあります )。
最後に、DropboxやSkyDriveなどの既存の「クラウド」ドライブソリューション、またはAmazon Cloud Playerをいつでも使用できます。ファイルをこれらのサービスの1つと同期させるだけで、インターネットアクセス(高速なもの)が保証されます。