LAN内のWindowsパソコンをワークグループからブラウズできるようにする

 Windows同士では他のコンピュータの共有を見るのは容易です。
 ワークグループを表示すればLAN内で起動しているパソコンの一覧からアクセス出来ます。
 ですがLinuxではこういった共有は決して標準機能ではありません。
 操作性を向上させたいという意味では、やはりネットワークコンピュータを開いたら、LAN内のコンピュータが表示されると便利ですよね。

 openSUSE10.3ではデスクトップからマイネットワークというアイコンが消えました。
 
 マシン名を直接指定すれば他のパソコンの共有へアクセスすることはできますが、LAN内で起動しているパソコンの一覧を表示することは出来ません。
 不便ですね。

 openSUSEでLAN内で起動しているパソコンのブラウズするにはどうするのでしょう。
 openSUSE10.2まではデフォルトでデスクトップにマイネットワークのアイコンがありましたが10.3ではデスクトップからは消え、かわりにマイコンピュータ(一般情報表示)の中にネットワークコンピュータというメニューがあります。
 ここをクリックする方式に変更されました。

 マイネットワークを選択すると、四つのアイコンがあり、そのなかのSMB共有がWindowsで言うところのマイネットワークになります。
 ここを選択すると貴方の家庭内の起動しているパソコンがブラウズできます。

 ……出来ませんね。
 

 そう、出来ません。これはファイアウォールの制限によって、LAN内の他のパソコンを探しに行くのが阻まれているわけです。
 openSUSEはデフォルトの設定ではsmbブラウズの許可、ひいてはファイアウォールの設定がsmbブラウズに必要な通信を許可していないのです。
 善しにつけ悪しきにつけ、セキュアOSはカジュアルOSに比べて家庭内では使いにくいわけです。
 表示されない場合はファイアウォールを緩和する必要があります。

 というわけでますLAN内の端末のブラウズを許可します。
 メッセージ通りにYaSTからファイアウォールを無効にしてやればザルになって解決するのですが、LAN内の端末をブラウズするためだけにファイアウォールを無効にしてはいくらなんでも不釣合いです。
 ブラウズだけが可能になるようにファイアウォールを緩和します。

 緩和に必要なポートは以下の四つです。
サービス名 ポート
netbios-ns (NetBIOS名前サービス)  137
netbios-dgm (NetBIOSデータグラム・サービス)  138
netbios-ssn (NetBIOSセッション・サービス)  139
microsoft-ds (ダイレクト・ホスティングSMBサービス)  445

 ※ここではopenSUSEが他の端末からコンピュータ一覧を取得するという点についてのみ許可します。
  ワークグループにopenSUSE自身を表示させる、openSUSE側の共有をWindowsに公開するには別の許可と仕組みが必要です。
  別項の「WindowsからopenSUSEのファイル共有へアクセスする」を参照してください。


 SUSEのファイアウォールはSuSEfirewall2という機能なので、いくら他のLinuxの設定を参照してiptablesを設定しても徒労に終わります。
 ファイアウォールの設定はYaSTのセキュリティの項目に「ファイアウォール」という項目があります。

 と、ここで問題です。YaSTのファイアウォールの設定は簡易的な設定で、全てを設定できません。
 設定ファイルを直接編集する必要があります。/etc/sysconfig/SuSEfirewall2ファイルがそうです。
 もちろん編集にはroot権限が必要なのでコマンドラインのエディタか、KDEメニューから[システム]-[ファイル管理]-[ファイルマネージャスーパーユーザモード]を選択して、SuSEfirewall2を開きます。

 ファイルの中から「FW_TRUSTED_NETS」という項目を探し出し、そこへ自分のパソコンのセグメントを記述します。
 
 セグメントに「0.0.0.0/0」という全てのセグメントの許可を設定することも可能ですが、その場合だとルータが445などをルーティングするように設定されていると、外部ネットワークから共有へアクセスできてしまいます。

 設定を保存したら、今度はYaSTからファイアウォールを選択します。
 

 左側ペインの「許可されたサービス」を選択し、右下の詳細を選択します。
 

 追加の許可されたポートに、「137:139 445」と設定します。
 TCPの許可だけでも動作しますが、一応UDPにも記述してます。
 

 左側ペインの「起動」を選択して、「設定を保存してファイアウォールを今すぐ再起動する」をクリックします。
 

 これでファイアウォールの設定は完了です。

 ここで「マイコンピュータ→ネットワークフォルダ→SMB共有」とクリックすると、LAN内のワークグループが表示できます。
 

 ですが毎回「マイコンピュータ→ネットワークフォルダ→SMB共有→コンピュータの選択」と、いくらなんでも面倒です。
 家庭内の共有なんて、空気のようにシームレスに使えないとガマンできません。
 というわけで、デスクトップにマイネットワークアイコンを作成します。
 デスクトップで右クリックし、「場所へのリンク」を選択します。
 

 ファイル名に適当なものを、「新規の場所へのリンク」に「smb:/」と入力します。
 

 sambaのアイコンもなんだかアレなので、それっぽいアイコンを選択しておきましょう。
 

 これで作業完了です。もし他のWindowsパソコンへアクセスするたびにユーザ名を尋ねられてわずらわしいのなら、別項「openSUSEからWindowsのファイル共有へアクセスする」を参照して、共有アクセス用のユーザ名とパスワードを設定してください。

prev.gif