尽管添加了规则,UFW 防火墙仍然阻止 SMB

nLi*_*ked 21 firewall samba ufw

我有一台带有 ufw 防火墙(GUI 版本)的 Ubuntu PC。我已经添加了预设的 Samba 服务,输入和输出,甚至尝试手动添加端口(135-139、445、UDP 和 TCP,输入和输出),但它仍然阻止 samba。

我正在尝试访问 LAN 上另一台 PC 上的共享。如果我禁用 ufw,它工作正常。它一定还在阻止某些东西,我无法弄清楚。有任何想法吗?

我在 Ubuntu 11.04 beta 2 上。

小智 24

迈克的sudo ufw allow Samba作品就像一个魅力。

我个人更喜欢限制在我的私有子网中,因此对于喜欢相同的其他人,请使用:

$ sudo ufw allow from 192.168.0.0/16 to any app Samba
Run Code Online (Sandbox Code Playgroud)

此外,尝试运行sudo ufw app list其他应用程序的列表,您可以将其用作所需端口的简写(例如 Postfix、OpenSSH 等)。使您的防火墙规则列表更易于阅读和维护。

  • 我喜欢在 ufw 命令行的末尾添加一个“`comment 'passing samba from local'`”(不带外引号)作为提醒,这样当你执行 `sudo ufw status numbered`(或其他)时你可以看到为什么规则在那里。 (2认同)
  • 默认情况下未安装 Samba 应用程序规则 (2认同)

小智 14

要使用 ufw 允许 samba,请使用以下命令

sudo ufw allow Samba
Run Code Online (Sandbox Code Playgroud)

有关其他信息,请参阅其他用户提供给您的链接。

  • 默认情况下未安装 Samba 应用程序规则 (4认同)

小智 8

由于我没有发现 samba 4 的 ufw 配置文件,因此我设置了自己的配置文件,这对我有用(打开Samba Wiki 中列出的端口:Samba 4 的端口作为 PDC)并且更易于管理:

  1. 创建一个新文件:/etc/ufw/applications.d/samba4,内容如下

    [Samba4]
    title=Samba 4
    description=Samba 4 as domain controller
    ports=53|88|135/tcp|137/udp|138/udp|139/tcp|389|445/tcp|464|636/tcp|1024:5000/tcp|3268/tcp|3269/tcp|5353
    
    Run Code Online (Sandbox Code Playgroud)
  2. 现在使用以下命令之一将其添加到 ufw:

    • sudo ufw allow from 192.168.192.0/24 to any app samba4 如果您只想在 192.168.1.0/24 网络上允许它
    • sudo ufw allow samba4 如果你想为每个网络允许它

如果你输入sudo ufw status verbose它会输出如下内容

to                         action      from
--                         ------      ---
....
53 (Samba4)                ALLOW IN    192.168.1.0/24
88 (Samba4)                ALLOW IN    192.168.1.0/24
135/tcp (Samba4)           ALLOW IN    192.168.1.0/24
137/udp (Samba4)           ALLOW IN    192.168.1.0/24
138/udp (Samba4)           ALLOW IN    192.168.1.0/24
139/tcp (Samba4)           ALLOW IN    192.168.1.0/24
389 (Samba4)               ALLOW IN    192.168.1.0/24
445/tcp (Samba4)           ALLOW IN    192.168.1.0/24
464 (Samba4)               ALLOW IN    192.168.1.0/24
636/tcp (Samba4)           ALLOW IN    192.168.1.0/24
1024:5000/tcp (Samba4)     ALLOW IN    192.168.1.0/24
3268/tcp (Samba4)          ALLOW IN    192.168.1.0/24
3269/tcp (Samba4)          ALLOW IN    192.168.1.0/24
5353 (Samba4)              ALLOW IN    192.168.1.0/24
Run Code Online (Sandbox Code Playgroud)


And*_*ert 5

尝试这个:

以 root 身份打开 /etc/default/ufw

寻找这样的行:

IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_irc nf_nat_irc"
Run Code Online (Sandbox Code Playgroud)

添加nf_conntrack_netbios_ns到该行,使其看起来像这样:

IPT_MODULES="nf_conntrack_ftp nf_nat_ftp nf_conntrack_irc nf_nat_irc nf_conntrack_netbios_ns"
Run Code Online (Sandbox Code Playgroud)

现在重新加载防火墙:

sudo ufw reload
Run Code Online (Sandbox Code Playgroud)

  • `echo 1 > /proc/sys/net/netfilter/nf_conntrack_helper` 对于较新的内核也是必要的 (3认同)

小智 5

您可以使用日志记录来确定是否阻止了不应阻止的端口。

tail -f /var/log/ufw.log
Run Code Online (Sandbox Code Playgroud)

如果您已经尝试过,请提供一些额外信息: ufw 手册ufw wiki