在以前的文章里,我们曾经由于要实现在Ubuntu操作系统下和Windows系统共享传输文件而使用了samba 软件包。其实机智客虽然说是需要用一个软件包,不过Ubuntu系统为我们做了很多工作,我们一般用一个命令就可以安装。如果你Ubuntu系统里安装配置过后,就可以用某个文件夹共享出来,让其他的Windows从网络里访问到。
当时我们安装使用samba的时候,并没有涉及到防火墙的问题。所以我们安装使用共享访问非常简单。其实也和其他软件包一样,在没有防火墙的前提下安装使用显得随心所欲。而一旦有了防火墙,开启以后就得注意端口问题了。
以前的文章,也就是用samba软件包以后,我们又遇到了一个关于防火墙的问题。某个软件的安装文档里提到了防火墙。所以我们用了Ubuntu自带的防火墙ufw开放了这个软件需要开放的端口。
在ufw防火墙那篇文章里,我们用sudo ufw status终端命令就可以查看目前的状态和开放的端口。而当我们启动防火墙ufw开放某个端口后,我们的Ubuntu系统电脑上开放的端口就是sudo ufw status查询出来的端口。而它,很可能就没有samba软件包需要的端口。
这次在用防火墙之后,就发现自己的共享文件不能用了。在Windows里,打开以前的那个共享文件夹,提示没有,需要诊断网络。而机智客跑回到Ubuntu系统里,共享文件夹明明是共享开放着的。这是怎么回事呢?就是防火墙问题。我们并没有为samba开放相应的端口。
由此我们需要用防火墙命令,开放需要的端口。这里需要开放139、445这样TCP端口,也要开放137、138这样的UDP端口。之所以这么说,就是之前用ufw防火墙命令sudo ufw allow 139/445开放了前两个端口,在Windows里还是找不到网络。后来就又开放了137和138这两个端口,这才正常能访问。所以在有了防火墙以后,不管是ufw还是别的,我们都要注意端口问题。
领取专属 10元无门槛券
私享最新 技术干货