
Ubuntu日本語フォーラム

ログインしていません。
ubuntu 18.04で、ファイアーウォール(ufw)をONにすると、Windows共有で名前解決できない。
IPだと通るけどPC名だと通らない 。前バージョンでは可能だったと記憶しているのですが、
Samba(137番,138番,139番,445番)やDNS(53番)を空けてもダメ です。
つまり、
Ubuntu 18.04から「NAS(バッファロー製)」や「windowspcの共有フォルダ」に,
クライアントとして、ホスト名でアクセスできるようにUFWを設定しようとしています。
UFWをオフにすればホスト名でファイル共有に正常にアクセスできます。
例:
smb://computername/sharename
UFWをオンにすると、名前で共有にアクセスできなくなったため、
IPアドレスでアクセスしてみると、
smb://192.168.1.x/sharename
アクセスできました。
UFWルールは以下のように設定してあります。
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
53 ALLOW Anywhere
137,138/udp (v6) ALLOW Anywhere (v6)
139,445/tcp (v6) ALLOW Anywhere (v6)
53 (v6) ALLOW Anywhere (v6)
これはこのバージョンの仕様なのでしょうか?
どなたか解決方法ご存じないでしょうか?
ちなみに、
ubuntu側でsambaサーバーを立てているわけではなく、
あくまでクライアントとして「Windows共有」を利用しています。
オフライン
LLMNRで名前解決されているでしょうから、UFWで5355/udpを開けてみてください。
オフライン
ありがとうございます。
早速、UFWで5355/udpを開けてみましたが、だめでした。
オフライン
tetsuyakubo による投稿:
ありがとうございます。
早速、UFWで5355/udpを開けてみましたが、だめでした。
mDNS 5353 じゃないですか
オフライン
ありがとうございます。
Samba(137番,138番,139番,445番)やDNS(53番)
LLMNR(5353番)
mDNS(5353番)
以上開けてみましたががだめでした。
sudo ufw status の結果は以下です。
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
5353/udp ALLOW Anywhere
5355/udp ALLOW Anywhere
53 ALLOW Anywhere
137,138/udp (v6) ALLOW Anywhere (v6)
139,445/tcp (v6) ALLOW Anywhere (v6)
5353/udp (v6) ALLOW Anywhere (v6)
5355/udp (v6) ALLOW Anywhere (v6)
53 (v6) ALLOW Anywhere (v6)
オフライン
tetsuyakubo による投稿:
ありがとうございます。
Samba(137番,138番,139番,445番)やDNS(53番)
LLMNR(5353番)
mDNS(5353番)
以上開けてみましたががだめでした。
sudo ufw status の結果は以下です。
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
5353/udp ALLOW Anywhere
5355/udp ALLOW Anywhere
53 ALLOW Anywhere
137,138/udp (v6) ALLOW Anywhere (v6)
139,445/tcp (v6) ALLOW Anywhere (v6)
5353/udp (v6) ALLOW Anywhere (v6)
5355/udp (v6) ALLOW Anywhere (v6)
53 (v6) ALLOW Anywhere (v6)
ipv4 ポートは開いていないのですか?
オフライン
>ipv4 ポートは開いていないのですか?
すいません、質問の意味がよく理解できていません。
sudo ufw status の結果の、
(v6)と書いてある以外の部分が ipv4 ポートを開いているということではないのでしょうか?
ちなみに、当該PCはipv4 で接続しています。
http://ipv6.itscom.net/
で確認しました。
この状況で、
Samba(137番,138番,139番,445番)やDNS(53番)
LLMNR(5353番)
mDNS(5353番)
以上開けてみましたががだめでした。
何か他にipv4 に関する設定があるのでしょうか?
よろしくお願いします。
オフライン
sudo ufw status の結果は以下です。
---ここから----
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
5353/udp ALLOW Anywhere
5355/udp ALLOW Anywhere
53 ALLOW Anywhere
---ここまでは、ipv4 のポート---
ここから下は、ipv6 のポート
137,138/udp (v6) ALLOW Anywhere (v6)
139,445/tcp (v6) ALLOW Anywhere (v6)
5353/udp (v6) ALLOW Anywhere (v6)
5355/udp (v6) ALLOW Anywhere (v6)
53 (v6) ALLOW Anywhere (v6)
ipv4,v6 ともに開けば
5355/udp ALLOW Anywhere
5355/udp (v6) ALLOW Anywhere (v6)
と表示されると思う。
si@z370:~$ sudo ufw allow ssh ルールを追加しました ルールを追加しました (v6) si@z370:~$ sudo ufw allow 5353/udp ルールを追加しました ルールを追加しました (v6) si@z370:~$ sudo ufw status 状態: アクティブ To Action From -- ------ ---- 22/tcp ALLOW Anywhere 5353/udp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6) 5353/udp (v6) ALLOW Anywhere (v6)
ちなみに、http://ipv6.itscom.net/ の結果は、外部への接続で(家庭であればルータとインターネットの接続)、LAN内の接続を直接検知してはいないのでは?
オフライン
ありがとうございます。
SIさんの回答を参考に、再度tryしましたがだめでしたね。
137,138/udp ALLOW Anywhere
139,445/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
5353/udp ALLOW Anywhere
5355 ALLOW Anywhere
137,138/udp (v6) ALLOW Anywhere (v6)
139,445/tcp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)
5353/udp (v6) ALLOW Anywhere (v6)
5355 (v6) ALLOW Anywhere (v6)
同様の質問が以下に、まだ未解決のようです。
https://askubuntu.com/questions/1074095/ufw-and-samba-on-ubuntu-18-04
関連する質問、バージョンは違いますが、カーネルの問題と指摘する声も、
iptablesへの変更や、iptables-persistentパッケージをインストールする方法のようです。
https://askubuntu.com/questions/875845/kernel-4-8-ufw-and-smb-not-working-together
https://forums.linuxmint.com/viewtopic.php?t=235049
結局、今の所、ufwのポート開放ではうまく行かないようですね。
いちいち、IPアドレスを打ち込むのは面倒なので、
しばらくは、ファイアーウォールはOFFにしたいと思います。
また、強制的にnetbiosを利用する方法や、
samba.confの修正、LMHOSTファイルの作成等あるようですが、
時間がありませんので時間のある時にゆっくりとやってみようと思います。
ちなみに、
http://ipv6.itscom.net/ の件はご指摘の通りでした。勘違いしてました。
ご指摘ありがとうございます。
オフライン
クライアント側とのことなので
sudo ufw allow in proto udp from 192.168.1.0/24 port 137 to any
とか (192.168.1.0/24 はテキトーに)
オフライン
解決しました。ホスト名で接続できるようになりました。ありがとうございます。
初め、
>(192.168.1.0/24 はテキトーに)
の意味がわからず、
ちょっと意味がわからないまま書かれたコマンドをそのまま実行しましたが、
やっぱりだめでしたので、
自分の環境(バッファロールーター)に合わせて(192.168.11.0/24)に変えたら、
sudo ufw allow in proto udp from 192.168.11.0/24 port 137 to any
ホスト名で接続できるようになりました。
とりあえず、
http://siroshitsuji.blog.fc2.com/blog-entry-30.html
https://ubuntuforums.org/showthread.php?t=806000
https://www.out48.com/archives/1262/
http://www.green-pen.jp/ufw.html
https://qiita.com/nmatayoshi/items/88ded321741dffc80ceb
も参考にし、
138番も同様に、tcpの139,445番もまた同様に
sudo ufw allow in proto udp from 192.168.11.0/24 port 137 to any
sudo ufw allow in proto udp from 192.168.11.0/24 port 138 to any
sudo ufw allow in proto tcp from 192.168.11.0/24 port 139 to any
sudo ufw allow in proto tcp from 192.168.11.0/24 port 445 to any
としました。
現在のステータスは
---------------------
username@PC名:~$ sudo ufw status
[sudo] username のパスワード:
状態: アクティブ
To Action From
-- ------ ----
Anywhere ALLOW 192.168.11.0/24 137/udp
Anywhere ALLOW 192.168.11.0/24 138/udp
Anywhere ALLOW 192.168.11.0/24 139/tcp
Anywhere ALLOW 192.168.11.0/24 445/tcp
---------------------
「192.168.11.0~192.168.11.254」 の 「137/udp、138/udp、139/tcp、445/tcp」 からの通信をすべて許可するということですね。
私の最初のルール設定とは、
「FROM」と「TO」が逆ですね。
最初に私がしていたことは、HOST利用(PCにsambaサーバーを構築)の設定だったんでしょうか? よくわかりません。
今回は、
あくまでクライアント(NAS上の共有フォルダ)利用だけで、外部からの侵入をブロックできればいいので、これで良しとします。
オフライン
上記以外 (138,139,445) のパケットはステートフルな戻りパケットとして許可される(されたい)のでルールの追加は不要かと
オフライン
ありがとう御座います。感謝です!!
sudo ufw allow in proto udp from 192.168.11.0/24 port 137 to any
だけでOKでした。確認しました。
ホスト名でもIPアドレスでもokでした。
NautilusのネットワークにもNASやwindowsPCのアイコンが出現しました!!
To Action From
-- ------ ----
Anywhere ALLOW 192.168.11.0/24 137/udp
以上で、クライアントとしてはNAS上の共有フォルダでwindowsマシンとのファイルの共有が不自由なく使えるようになりました。
以前は、こんなことをしなくても、NASやwinPCが見えていたんですが、カーネルのバグなんでしょうか?
いずれにせよ、ありがとうございました。
オフライン