ADDR
我有一个带有公有 IP 地址和私有 IP 地址的路由器192.168.1.1
。
我还有DOMAIN
一个带有指向 的 A 记录的公共域ADDR
。
路由器有内置的 SMB 服务器。
我可以通过输入 Windows 资源管理器来内部访问 SMB 共享\\ADDR\ShareName
。
但是,我希望也能够通过\\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
。)
答案1
您无需尝试使用 iptables 来解决此问题。只需为您的域设置单独的内部区域,并将主机名解析为您服务的本地 IP。
顺便说一句,即使 iptables 是解决方案,您的解决192.168.1.1
方案也可能192.168.1.0/24
只是其中的一部分192.168.0.0/16
。