我有一个路由器公共IP地址ADDR和私人IP地址192.168.1.1 。
我也有一个指向ADDR的Alogging的公共领域。
路由器有一个内置的SMB服务器。
通过在Windows资源pipe理器中键入\\ADDR\ShareName可以在内部访问SMB共享。
但是,我希望能够通过\\DOMAIN\ShareName内部访问它们。
目前这不起作用,因为Samba没有在公共接口上侦听。 它只能听私人界面,我显然不想改变这个,并引入一个安全漏洞。
因此,当源位于本地子网中时,我将ADDR端口445redirect到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 。
这不是你应该尝试使用iptables来解决的。 只需为您的域分开内部区域,并使主机名parsing为您的服务的本地IP。
顺便说一句,即使iptables是解决scheme,您的192.168.1.1可能是192.168.1.0/24而不是192.168.0.0/16 。