พอร์ต TCP / IP ที่จำเป็นสำหรับการดำเนินการ CIFS / SMB


44

หากฉันต้องการอนุญาตให้ไดรฟ์เครือข่าย Windows ระหว่างคอมพิวเตอร์ไฟร์วอลล์สองเครื่องฉันต้องเปิดพอร์ต 137-139 หรือพอร์ต 445 เพียงพอหรือไม่ ฉันต้องส่งแบบฟอร์มและรับการอนุมัติให้เปิดพอร์ตไฟร์วอลล์และฉันไม่ต้องการขอพอร์ตที่เปิดมากกว่าที่ฉันต้องการ เครื่องจักรทั้งหมดที่นี่เป็น Windows XP หรือใหม่กว่า

หมายเหตุ: เมื่อฉันพูดว่า "ไดรฟ์เครือข่าย Windows" ฉันไม่แน่ใจว่าฉันกำลังอ้างอิงถึง SMB หรือ CIFS หรือไม่และฉันไม่ได้แยกความแตกต่างระหว่างโปรโตคอลทั้งสองอย่างชัดเจน

คำตอบ:


58

พอร์ต 137-139 ใช้สำหรับการแก้ไข NetBios / ชื่อ หากไม่มีคุณจะต้องเข้าถึงเครื่องด้วยที่อยู่ IP ซึ่งตรงข้ามกับชื่อ NetBIOS ตัวอย่าง\\192.168.1.100\share_nameตรงข้ามกับ\\my_file_server\share_name

ดังนั้นพอร์ต 445 ก็เพียงพอหากคุณสามารถทำงานกับที่อยู่ IP เท่านั้น


ที่เว็บไซต์ของฉันชื่อ NetBIOS จะเหมือนกับชื่อ DNS เสมอ ดังนั้นถ้าฉันอ้างถึงเครื่องด้วยชื่อโฮสต์ Windows จะสามารถค้นหาเครื่องผ่าน DNS โดยไม่ใช้ NetBIOS ได้หรือไม่
Jonathan

5
ตราบใดที่คุณยังมี DNS ที่ใช้งานได้สำหรับลูกค้าก็น่าจะพอเพียง
ทิม

1
ใช้กับที่อยู่ IP สาธารณะได้หรือไม่ พอเปิดพอร์ต 445 ในไฟร์วอลล์ของโมเด็ม ADSL / เราเตอร์ได้หรือไม่
Hrqls

11
@Hrqls ตามทฤษฎีแล้วใช่แต่ AFAIK การเปิด SMB ของคุณไปทั่วโลกนั้นเป็นความคิดที่แย่มาก
ซามูเอลฮาร์เมอร์

@ Styne666 เห็นด้วยทั้งหมด มากยิ่งขึ้น: การเปิดอะไรก็ตามที่ไม่ได้รับการสนับสนุนด้านความปลอดภัยที่เพียงพอกับอินเทอร์เน็ตโดยรวมนั้นเป็นความคิดที่ไม่ดี ฉันอยากจะแนะนำให้ใช้โหมดการขนส่ง IPsec เพื่อป้องกันอย่างน้อย
dess

7

การกำหนดค่านี้ใช้งานได้สำหรับฉัน: 137 / UDP, 138 / UDP, 139 / TCP และ 445 / TCP แหล่งที่มาและข้อมูลเพิ่มเติมได้ที่: http://www.icir.org/gregor/tools/ms-smb-protocols.html

ดังนั้นนี่คือกฎ iptables สำหรับเซิร์ฟเวอร์ Samba ของฉัน:

# 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

4
เนื่องจาก OP ถามเกี่ยวกับคอมพิวเตอร์ Windows และระดับความเข้าใจของ iptables ไม่เป็นที่รู้จักโดยสมบูรณ์สิ่งนี้จะถูกเขียนออกมาดีกว่าไฟล์การกำหนดค่าของระบบที่แตกต่างอย่างสิ้นเชิง
DarkMoon

1
ในภาษาอังกฤษแบบธรรมดา UDP 137 และ 138, TCP 139 และ 445
Arlen Beiler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.