LINUX.ORG.RU

Перенаправить порты samba с помощью iptables

 , ,


0

1

Сменил на сервере самба порты: 445 на 3333, 139 на 3000. Как смаунтить каталог на клиенте, чтобы не менять на нем порт и не указывать принудительно, а указать через iptables, forwarding этих портов?

Добавил правила для OUTPUT:

iptables -t nat -A OUTPUT -p tcp --dport 139 -j REDIRECT --to-ports 3000

iptables -t nat -A OUTPUT -p tcp --dport 445 -j REDIRECT --to-ports 3333

Для PREROUTING:

iptables -t nat -A PREROUTING -p tcp --dport 3000 -j REDIRECT --to 139

iptables -t nat -A PREROUTING -p tcp --dport 3333 -j REDIRECT --to 445

Но команда mount с клиента не проходит, в логах сервера ничего.

Если делать mount с указанием порта, тогда все проходит коректно:

mount -t cifs //192.168.200.20/test test -o username=test -o port=3333

Не понял вашу логику написания правил. Почему локальный трафик (OUTPUT) перенаправляете на порт 3333, а сетевой (PREROUTING) наоборот?

mky ★★★★★
()
Ответ на: комментарий от mky

Правила эти добавил исходя и того, что провайдер блокирует порты 139 и 445. Нужно сделать редирект портов на роутере, чтобы не менять порты на клиентах Windows, которые находятся за ним.

perrfect
() автор топика
Ответ на: комментарий от perrfect

Вы собрались открыть smb в интернет? Почему не VPN?

Сервер с самбой это и есть роутер или в каком месте у вас ″-j REDIRECT″ прописан?

mky ★★★★★
()
Ответ на: комментарий от mky

Да, нужно открыть smb в интернет. Ограничения доступа по IP.

Сервер с самбой находится в ДЦ.

В офисе стоит роутер с Centos6. За ним рабочие ПК с Windows.

На самом сервере с самбою порты поменял с 445 на 3333, 139 на 3000.

Если на роутере в офисе выполнить команду mount и указать порт, то подключение проходит корректно: mount -t cifs //192.168.1.20/test test -o username=test -o port=3333

Но не охота менять порты на каждом Windows-ПК.

От и нужно сделать редирект портов на самом роутере. Чтобы клиенты подключались к роутеру по портах 139, 445, а уже роутер их редиректил на сервер с самбою по портах 3000, 3333.

perrfect
() автор топика
Ответ на: комментарий от perrfect

если провайдер блокирует 139 и 445 то значит что и достучаться до роутера по этим портам что бы получить редирект не выйдет

Ien_Shepard ★★★
()
Ответ на: комментарий от Ien_Shepard

Достучатся к роутеру по портам 139 и 445 нужно только с локальной сети на роутер, на котором уже будет редирект.

perrfect
() автор топика
Ответ на: комментарий от perrfect

Вам нужен ″-j DNAT″ на маршрутизаторе.

mky ★★★★★
()
Ответ на: комментарий от perrfect

Да, нужно открыть smb в интернет.

Это не нужно делать никогда.

Но не охота менять порты на каждом Windows-ПК. Чтобы клиенты подключались к роутеру...

А завтра у вас в ДЦ появится два сервера с самбой... Вам же русским языком говорят, эта задача решается правильно через VPN, именно для таких задач собственно vpn и придуман.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.