답변:
포트 137-139는 NetBios / 이름 확인을위한 것입니다. 이것이 없으면 NetBIOS 이름이 아닌 IP 주소로 컴퓨터에 액세스해야합니다. \\192.168.1.100\share_name
반대되는 예\\my_file_server\share_name
따라서 IP 주소로만 작업 할 수있는 경우 포트 445로 충분합니다.
이 구성은 나를 위해 일했습니다 : 137 / UDP, 138 / UDP, 139 / TCP 및 445 / TCP. 소스 및 추가 정보에 : http://www.icir.org/gregor/tools/ms-smb-protocols.html .
내 Samba 서버의 iptables 규칙은 다음과 같습니다.
# The router doesn't need SMB access.
-A INPUT -s 192.168.1.1 -p udp --dport 137 -j REJECT
-A INPUT -s 192.168.1.1 -p udp --dport 138 -j REJECT
-A INPUT -s 192.168.1.1 -p tcp --dport 139 -j REJECT
-A INPUT -s 192.168.1.1 -p tcp --dport 445 -j REJECT
# Actual Samba ports
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 137 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p udp --dport 138 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 139 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 445 -j ACCEPT