无法访问Fedora的samba共享

时间:2022-11-13 02:49:09

配置好samba服务后,却发现windows无法访问。经过多次试验与fedora的防火墙有关系。

关闭防火墙:

#service iptables stop

或清空规则:

#iptables -F

windows都能够访问samba。
经打开iptables,发现:

[root@localhost user]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -p udp -m udp --dport -j ACCEPT
-A INPUT -p udp -m udp --dport -j ACCEPT
COMMIT

发现有两条REJECT的规则,将这两条去掉,也可以访问samba。
后又想起,防火墙规则应该是有优先级顺序的,故将后四条规则往前提,如下:

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

保存。

# /etc/rc.d/init.d/iptables restart

然后windows成功访问samba。

补充Samba服务所使用的端口和协议: 
1)Port 137 (UDP) - NetBIOS 名字服务 ; nmbd
2)Port 138 (UDP) - NetBIOS 数据报服务
3)Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)
4)Port 389 (TCP) - 用于 LDAP (Active Directory Mode)
5)Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)
6)Port 901 (TCP) - 用于 SWAT,用于网页管理Samba

通常WINDOW与虚拟机Linux使用137、138和139端口就可以了。