smaba服务器搭建参考:https://www.linuxprobe.com/chapter-12.html#1211
Redhatlinux7默认的防火墙为Firewalld
Redhatlinux6是默认的防火墙Iptables
iptables通过控制端口来控制服务,而firewalld则是通过控制协议来控制端口
问题描述:Windows和linux之间是能够相互ping通,证明两者的通信是可达的。但win客户端无法访问RedhatLinux7的samba共享服务器。
原因:Windows的访问数据被linux防火墙所Firewalld拦截,没有通过权限
解决方法:
- 直接关闭防火墙(安全角度:不建议,不推荐)
systemctl stop firewalld.service - 添加通过规则(推荐)
firewall-cmd --permanent --add-service=samba #添加通过的规则
firewall-cmd --reload #立即生效
Firewalld部分参数参考:
参数 作用
--get-default-zone 查询默认的区域名称
--set-default-zone=<区域名称> 设置默认的区域,使其永久生效
--get-zones 显示可用的区域
--get-services 显示预先定义的服务
--get-active-zones 显示当前正在使用的区域与网卡名称
--add-source= 将源自此IP或子网的流量导向指定的区域
--remove-source= 不再将源自此IP或子网的流量导向某个指定区域
--add-interface=<网卡名称> 将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称> 将某个网卡与区域进行关联
--list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones 显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名> 设置默认区域允许该服务的流量
--add-port=<端口号/协议> 设置默认区域允许该端口的流量
--remove-service=<服务名> 设置默认区域不再允许该服务的流量
--remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
--reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on 开启应急状况模式
--panic-off 关闭应急状况模式