Назад | Перейти на главную страницу

Mikrotik и проблема NAT / маршрутизации

У меня есть основная проблема NAT / маршрутизации с Mikrotik RB750, которую я не мог решить в последние дни. У нашего интернет-провайдера 26 IP-адресов: 10.10.10.192/27, с участием 10.10.10.193 является шлюзом, а 10.10.10.194 - первым доступным IP-адресом.

Мне нужно, чтобы все, что связано с эфир2 получает общедоступный IP-адрес от DHCP-сервера, и все, что подключено к эфир3 получает локальный IP от другого DHCP (192.168.100.0/24). Все клиенты должны иметь доступ в Интернет (я выясню, как регулировать пропускную способность позже) и оптимально просто «видеть» друг друга (все коробки - Win7, я думаю, что в конечном итоге это можно сделать с помощью VPN).

Вот моя установка: ether1 (10.10.10.194) подключен напрямую к провайдеру.

20 клиентов подключены к эфир2(10.10.10.195) и еще 20 к эфир3(10.10.10.196) (оба через одни и те же 24-портовые коммутаторы).

Это моя установка, которая не работает, все 20 клиентов из эфир2 есть доступ в Интернет, хотя все комм. похоже, пришло из 10.10.10.194 (это из-за маскарада на ether1?), и эфир3 вообще не может получить доступ к Интернету.

Я думаю, что мне нужно замаскироваться эфир3, и SNAT / DNAT или NETMAP эфир2, но это тоже не сработает, думаю, мне нужно как-то "связать" оба эфир2 + 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 A S  0.0.0.0/0                          ether1-gateway            1
 2 A S  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

Конфиги DHCP:

 #   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

Спасибо!

Вы должны принимать решения и проектировать свою сеть.

На ether1 который подключен к вашему провайдеру, вам следует определить меньшую сеть. например, / 30 (по правде говоря, гораздо проще запросить у провайдера еще один меньший диапазон, чем разделить то, что у вас есть сейчас).

Скоро ether1 10.10.10.192/30 ваш gw - 10.10.10.193, а 10.10.10.194/30 - ваш IP (на mikrotik - ether1). Затем вы просите своего интернет-провайдера маршрутизировать

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

по адресу 10.10.10.194 и установить на их стороне ту же сетевую маску / 30, что и на своей.

Затем на эфир2 вы настраиваете один (или несколько) диапазонов адресов, указанных выше. В этом интерфейсе вы не делать любой NAT. Вы настраиваете пул в соответствии с диапазонами адресов, настроенными на интерфейсе.

На эфир3 вы настраиваете частные адреса по своему усмотрению. Приведенные вами примеры кажутся прекрасными. Здесь вы настраиваете MASQUERADE и это единственное место, где у вас NAT.

А что было не так с вашей первоначальной настройкой?

  • Вы не должны назначать сети / 32 так, как вы это делали.
  • Интернет-провайдер будет обращаться ко всем как к находящимся в одной сети, однако это не так.
  • Вы не выполняете SNAT и DNAT одновременно на интерфейсе. В этом случае вы делаете только SNAT, который изменяет источник адрес. Когда пакеты возвращаются, подсистема netfilter запоминает, что он сделал, и автоматически выполняет обратное преобразование. (MASQUERADE - это частный случай SNAT)

РЕДАКТИРОВАТЬ Если вы не хотите вовлекать в это своего интернет-провайдера, сделайте то же самое и включите proxy-arp, это хорошо описано здесь: http://wiki.mikrotik.com/wiki/Manual:IP/ARP#Proxy_ARP

  1. Вы допустили ошибку при настройке на ether3 IP с префиксом 32. Он должен быть 24.

  2. Я не понимаю, что Вы имеете в виду под dst-nat all from ether3? Похоже, он блокирует интернет в ether3 1 ;;; ether3 nat chain=dstnat action=dst-nat to-addresses=192.168.100.0/24 in-interface=ether3-private

  3. Когда вы меняете IP, обычно закрывайте сетевое поле и пусть оно рассчитывается автоматически. Например address=10.10.10.195/32 network=10.10.10.195 interface=ether2-pub

  4. Вы можете попробовать исключить свою общедоступную сеть из правила маскарада src-address =! 10.10.10.192/27 и включить proxy-arp на ether1-public. Может, это сработает. Не уверен, потому что я новее использовал такую ​​"странную" конфигурацию.

PS. По мне, лучше выдать частную подсеть на ether2 и установить от 1 до 1 nat (src-nat и dst-nat)