• ベストアンサー

SAMBAの設定に付いて

VineでSAMBAを使用するにあたってiptablesに以下の設定を行いました。 しかし、WINDOWS側のネットワーク名WORKGROUPは表示されますが そこから先にアクセスすることができません。 Vine側のファイアーウォールを無効にすると問題なくアクセスできますが・・・ 原因は何が考えられるのでしょうか。 御存じの型がいらっしゃいましたらアドバイスをお願いします。 -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

質問者が選んだベストアンサー

  • ベストアンサー
  • cynthia4
  • ベストアンサー率51% (186/358)
回答No.4

一見、NEW は おかしい様に見えますが Vine4.2、CentOS5.2 では こういう iptables の Line を 作りますね。 これで、Server として 外部からAccess 出来ます。 さて、今回は Server としてではなく むしろ Client です。 Vine4.2 Nautilus から Network への接続で WORKGROUP( 仮 ) への接続がどうも出来ません。 // firewall を無効にすると出来る。 Nautilus 場所バー で smb://windows-local-address/ で やれば接続出来ますが Centos5.2 では、Konqueror、Nautilus で smb:/ で WORKGROUP が 現れ WORKGROUP にACCESS 出来ます。 Vine4.2、CentOS5.2 で iptables の違いは特に見られません。 // F9 や、Ubuntu8.04 なんか最新のDistribution でも // samba の WORKGROUP へaccess がどうも調子が悪いみたいです。 Windows 側で portmonitor、 Linux側で netstat で 見ていると、どうも他に port を 使っている様に見える。 とりあえず 32768-32800 udp 辺りを開けば良い様に見える。 ESTABLISHED,RELATED としてこれを開ければ良いのだが 未だ出来てません。security 上 良くないのだが。 // 私は、WORKGROUP で 接続しないので // これ以上 あまりやりたくないのだが。

marche302
質問者

お礼

回答ありがとうございます 返事が遅くなって申し訳ありません 最近試す時間が取れないので落ち着いたときにじっくりやってみようと思います ありがとうございました

その他の回答 (3)

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.3

 試してないけど、139と445のstateがNEWだからじゃないのかな。  137と138はudpなのでそもそもNEW以外にありえない(多分)。なのでブラウズは通ると。ANo1さんのおっしゃるとおりNEWは不要。  で、tcpはNEWやESTABLISHがある。で、NEWというのはVine側がACKを返してその後数回ごにょごにょがあるまでの話だと思うので、ESTABLISHになった瞬間ドロップする訳(policyがDROPの場合)。  以下のようにしてみては? -A RH-Firewall-1-INPUT -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp --dport 139 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp --dport 445 -j ACCEPT 個人的には以下の方が素敵だと思う。 -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp --dport 139 -j ACCEPT -A RH-FIrewall-1-INPUT -p tcp --dport 445 -j ACCEPT こうしておくと、「ESTABLISHEDなTCPはコネクションは全てスルー」が最初に適用されて、Destinationに関わりなく受け入れるようになる。下の方にポート番号一覧でACCEPTしとくと、ESTABLISHED後は全て上の方でOKと判定されてすぐACCEPTされるって訳。この場合、順番が大切です。iptablesはルールを上から舐めていく(んだったと思う)ので。これにすると何が良いかというと、インターネットに対してFTPなんかを公開しなきゃいけなくなったって時に、 -A RH-Firewall-1-INPUT -p tcp --dport 21 -m limit --limit 1/min --limit-burst 2 -j ACCEPT というのを後ろにつけるとあら不思議。同じIPアドレスから1分間に3回以上接続要求があるとドロップするようになる(policyがDROPの時)。1分間に1回分ACCEPTが回復するようになり、ランダムユーザネームアタックをこれだけである程度防げるようになるんだな。

marche302
質問者

補足

みなさん回答ありがとうございます iptablesの行の上の方を確認してみたところ -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT と言う記述があり、anmochiさんの仰るように -A RH-Firewall-1-INPUT -p udp --dport 137 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 138 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp --dport 139 -j ACCEPT -A RH-FIrewall-1-INPUT -p tcp --dport 445 -j ACCEPT というように記述を変えてみたのですが、依然として「フォルダの内容が 表示できませんでした」という、エラーメッセージが出てしまいます・・・ ファイアーウォールを無効にすると問題が解決するので、 関係ないとは思いますが、VMware player でVine Linuxを動かしている環境です。

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.2

書いた気になってた・・・orz 137,138はUDPなので state の記述をはずす必要があります。 ESTABLISHED,RELATEDの行は消してないですよね。

  • junkUser
  • ベストアンサー率56% (218/384)
回答No.1

137, 138はUDPですよ。