TCP / IP-порти, необхідні для роботи CIFS / SMB


44

Якщо я хочу дозволити мережеві накопичувачі Windows між двома комп'ютерами, що захищаються, чи потрібно мені відкривати порти 137-139, чи достатньо порту 445? Я повинен надіслати форму та отримати схвалення на відкриття портів брандмауера, і я не хочу просити більше відкритих портів, ніж мені потрібно. Усі машини тут Windows XP або новішої версії.

Примітка. Коли я кажу "Мережеві накопичувачі Windows", я не зовсім впевнений, маю на увазі SMB або CIFS, і мені не зовсім ясно в різниці між двома протоколами.

Відповіді:


58

Порти 137-139 призначені для роздільної здатності NetBios / Name. Без нього вам доведеться отримувати доступ до машин за IP-адресою, протилежною імені NetBIOS. Приклад, \\192.168.1.100\share_nameпротилежний\\my_file_server\share_name

Тож порт 445 достатній, якщо ви можете працювати лише з IP-адресами.


На моєму сайті імена NetBIOS завжди такі ж, як імена DNS. Тож якщо я посилаюсь на машини за ім'ям хоста, чи зможе Windows знайти машину через DNS, не використовуючи NetBIOS?
Джонатан

5
Поки у вас є функціонування DNS, доступного для клієнта, його повинно вистачити.
Тім

1
це також працює з загальнодоступними IP-адресами? Чи достатньо відкрити порт 445 в брандмауері модему / маршрутизатора ADSL?
Hrqls

11
@Hrqls Теоретично, так, але AFAIK відкриває SMB всьому світу - дуже погана ідея.
Самуель Хармер

@ Styne666, повністю згоден. Навіть більше: відкривати все, що не має належної підтримки безпеки, для всього Інтернету, як правило, погана ідея. Я б порекомендував використовувати транспортний режим IPsec принаймні для захисту.
дес

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
Зважаючи на те, що ОП запитала про комп'ютери Windows та рівень їх розуміння iptables абсолютно невідомо, це було б краще виписано, ніж як зовсім інший файл конфігурації системи.
DarkMoon

1
Простий англійською мовою, UDP 137 і 138, TCP 139 і 445
Арлен Бейлер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.