从专用接口转发SMB到公用接口?

我有一个路由器公共IP地址ADDR和私人IP地址192.168.1.1
我也有一个指向ADDR的Alogging的公共领域。

路由器有一个内置的SMB服务器。
通过在Windows资源pipe理器中键入\\ADDR\ShareName可以在内部访问SMB共享。
但是,我希望能够通过\\DOMAIN\ShareName内部访问它们。

目前这不起作用,因为Samba没有在公共接口上侦听。 它只能听私人界面,我显然不想改变这个,并引入一个安全漏洞。

因此,当源位于本地子网中时,我将ADDR端口445redirect192.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

这不是你应该尝试使用iptables来解决的。 只需为您的域分开内部区域,并使主机名parsing为您的服务的本地IP。

顺便说一句,即使iptables是解决scheme,您的192.168.1.1可能是192.168.1.0/24而不是192.168.0.0/16