Перенаправить SMB с частного интерфейса на общедоступный?

У меня есть маршрутизатор с общедоступным IP-адресом ADDR и частным IP-адресом 192.168.1.1 .
У меня также есть общественное достояние ДОМЕН с записью A, указывающей на ADDR .

Маршрутизатор имеет встроенный SMB-сервер.
Я могу получить доступ к общим ресурсам SMB изнутри, набрав \\ ADDR \ ShareName в проводнике Windows.
Однако я хочу иметь доступ к ним через \\ DOMAIN \ ShareName внутри.

В настоящее время это не работает, потому что Samba не прослушивает общедоступный интерфейс. Он прослушивает только частный интерфейс, и я, очевидно, не хочу изменять это и вводить дыру в безопасности.

Поэтому я перенаправляю порт 445 ADDR на 192.168.1.1 когда источник находится в локальной подсети:

iptables -t nat -I PREROUTING 1 -s 192.168.0.0/16 -p tcp --dport 445 -j DNAT --to-destination 192.168.1.1:445

, но это по какой-то причине не работает, и я не понимаю почему. (Я плохо знаю iptables .)
Почему это не работает? И как я могу заставить его работать?

(И да, cat / proc / sys / net / ipv4 / ip_forward дает 1 .)

0
задан 17 October 2017 в 01:09
1 ответ

Это не то, что вам следует решать с помощью iptables. Просто создайте отдельную внутреннюю зону для вашего домена и разрешите имя хоста преобразовывать в локальный IP-адрес вашей службы.

Кстати, даже если iptables был решением, ваш 192.168.1.1 , вероятно, является частью 192.168.1.0/24 вместо 192.168.0.0/16 .

0
ответ дан 5 December 2019 в 07:18

Теги

Похожие вопросы