我的情况如下:
在我的网络上,大多数客户端都在外部路由器上。
Router 1 192.168.1.1
|
| - Client
|
Router 2 192.168.1.2 to router 1,
| 192.168.2.1 to clients within
|
Samba server - 192.168.2.25
我不知道如何让路由器 1 下的客户端访问路由器 2 中的 Samba 共享。我已将端口 139 和 445 转发到路由器 2 中的相应机器,但路由器 1 中的机器仍然无法访问服务器。
我该如何设置呢?
答案1
Router2不需要做端口转发,它需要做路由。
如果客户端的地址为 192.168.1.123,默认网关为 192.168.1.1,那么您需要做的就是在路由器 1 上设置一条静态路由,将 192.168.2/24 的流量引导至路由器 2(192.168.1.2)。
当客户端向文件服务器的路由器 1 发送流量时,路由器 1 将回复ICMP 重定向这样客户端就会了解适合文件服务器地址的路由器。
让路由器管理路由比在客户端上设置静态路由要好得多。
端口转发不是完成这项工作的正确工具。端口转发主要在外部客户端尝试访问不可路由 LAN 中的资源时有用。在一个组织使用 192.168 私有地址块的情况下,所有子网都是可路由的。当然,子网的地址分配可能会混乱,但端口转发也不是解决该问题的答案。
答案2
您的客户端必须配置为使用 192.168.1.2 作为所有发往 192.168.2.0/24 的数据包的网关。假设其默认路由为 192.168.1.1,则:
Linux:
route add -net 182.168.2.0/24 gw 192.168.1.2
视窗:
route add 192.168.2.0 mask 255.255.255.0 192.168.1.2 metric 2
思科路由器:
conf t
ip route 192.168.2.0 255.255.255.0 192.168.1.2
...ETC。