Mikrotik和NAT /路由问题

我有Mikrotik RB750基本的NAT /路由问题,我过去几天无法解决。 从我们的ISP,我们有26个IP地址: 10.10.10.192/27,10.10.10.193是网关,10.10.10.194是第一个可用IP。

我需要的是,连接到ether2的所有东西都从DHCP服务器获取一个公共IP,连接到ether3的所有东西都从另一个DHCP(192.168.100.0/24)获得一个本地IP。 所有的客户端都应该能够访问互联网(我将在后面讨论带宽限制),并且最好只是互相“看”(所有的盒子都是Win7,我想这最终可以通过VPN来处理)。

这是我的设置: ether1 (10.10.10.194)直接连接到ISP。

20个客户端连接到ether2 (10.10.10.195),另外20个连接到ether3 (10.10.10.196)(都通过相同的24端口交换机)。

这是我的设置,这是行不通的,来自ether2的所有20个客户端可以访问互联网,虽然所有通信。 似乎来自10.10.10.194(这是由于在ether1上的伪装?),而ether3根本不能访问互联网。

我认为我需要伪装ether3和SNAT / DNAT或NETMAP ether2 ,但是这也不起作用,我想我需要以某种方式将ether2 + 3连接ether1

地址列表:

# ADDRESS NETWORK INTERFACE 0 ;;; public 10.10.10.194/32 10.10.10.192 ether1-gateway 1 ;;; inner DHCP 192.168.100.0/24 192.168.100.0 ether3-private 2 ;;; public 10.10.10.195/32 10.10.10.192 ether2-pub 3 ;;; public 10.10.10.196/32 10.10.10.192 ether3-private 

NAT

  0 ;;; ether3 nat chain=srcnat action=src-nat to-addresses=10.10.10.196 src-address=192.168.100.0/24 out-interface=ether3-private 1 ;;; ether3 nat chain=dstnat action=dst-nat to-addresses=192.168.100.0/24 in-interface=ether3-private 2 ;;; ether1 masquerade chain=srcnat action=masquerade to-addresses=10.10.10.194 out-interface=ether1-gateway 

路线:

  # DST-ADDRESS PREF-SRC GATEWAY DISTANCE 0 AS 0.0.0.0/0 ether1-gateway 1 2 AS 10.10.10.192/27 10.10.10.195 ether2-pub 1 3 ADC 10.10.10.192/32 10.10.10.195 ether2-pub 0 ether1-gateway ether3-private 4 ADC 192.168.100.0/24 192.168.100.0 ether3-private 0 

IP池:

  # NAME RANGES 0 public-pool 10.10.10.201-10.10.10.220 1 private-pool 192.168.100.2-192.168.100.254 

DHCPconfiguration:

  # NAME INTERFACE RELAY ADDRESS-POOL LEASE-TIME ADD-ARP 0 public-dhcp ether2-pub public-pool 3d 1 private-dhcp ether3-private private-pool 3d 

谢谢!

你必须做出决定并devise你的networking。

在连接到您的ISP的ether1上 ,您应该定义一个较小的networking。 例如/ 30(说实话,如果你从你的ISP那里请求一个更小的范围,而不是分割你现在所拥有的,那么要容易得多)。

所以在ether1 10.10.10.192/30你的gw是10.10.10.193和10.10.10.194/30是你的IP(在mikrotik – ether1上)。 然后你问你的ISP路由

  • 10.10.10.196/30
  • 10.10.10.200/29
  • 10.10.10.208/28

到10.10.10.194地址,并像在你的地方一样设置相同的/ 30的networking掩码。

然后在ether2上configuration上面看到的一个(或多个)地址范围。 在这个界面你不做任何NAT。 根据接口上configuration的地址范围设置池。

ether3上,您可以根据需要configuration私有地址。 你提供的例子似乎很好。 在这里你设置MASQUERADE ,这是唯一你有NAT的地方。

你的原始设置有什么问题?

  • 你不应该像你那样分配/ 32个networking。
  • ISP将把所有的地址放在同一个networking上,但事实并非如此。
  • 你不要在界面上同时做SNAT和DNAT。 在这种情况下,你只需要修改地址的SNAT。 当数据包返回时,netfilter子系统会记住他做了什么,会自动进行反向转换。 (MASQUERADE是SNAT的特例)

编辑如果你不想让你的ISP在这个,那么你也这样做,并启用代理ARP,这是很好地描述在这里: http : //wiki.mikrotik.com/wiki/Manual :IP/ARP#Proxy_ARP

  1. 在设置前缀为32的ether3 IP时出错。它必须是24。

  2. 我不明白,你从什么意思的dst-nat一切从ether3? 看起来它阻止了以太网的连接3 1 ;;; ether3 nat chain=dstnat action=dst-nat to-addresses=192.168.100.0/24 in-interface=ether3-private 1 ;;; ether3 nat chain=dstnat action=dst-nat to-addresses=192.168.100.0/24 in-interface=ether3-private

  3. 当你改变IP时,通常closuresnetworking域并让它自动计算。 例如address=10.10.10.195/32 network=10.10.10.195 interface=ether2-pub

  4. 您可以尝试从masqarade规则src-address =!10.10.10.192/27中排除您的公共networking,并在ether1-public上启用proxy-arp。 也许它工作。 我不舒服,因为我更新使用这种“奇怪的”configuration。

PS。 对于我来说,最好在ether2上给出私有子网,并设置1到1 nat(src-nat和dst-nat)