無法訪問Fedora的samba共享解決
配置好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 [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-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 22 -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 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
COMMIT
發現有兩條REJECT的規則,將這兩條去掉,也可以訪問samba。
後又想起,防火牆規則應該是有優先級順序的,故將後四條規則往前提,如下:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-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 22 -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端口就可以了。