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

Асимметричная маршрутизация с двумя межсетевыми экранами ForeFront TMG 2010

У меня странная проблема с сетью.

Есть сеть, одна подсеть IP: 192.168.60.0/24.

В сети есть два межсетевых экрана, подключенных к Интернету (работает ForeFront TMG 2010), 192.168.60.253 (рабочий) и 192.168.60.240 (разработка); это необходимость, потому что существует две среды, и каждая из них требует своих собственных правил публикации в Интернете; однако по историческим причинам они используют одну и ту же IP-подсеть, и это нелегко изменить. Таким образом, производственные компьютеры используют 192.168.60.253 в качестве шлюза по умолчанию, а компьютеры разработки используют 192.168.60.240. Все работает, пока не задействованы другие сети.

Но, конечно, есть еще одна сеть (на самом деле более одной, но давайте упрощаем), подключенную к третьей сетевой карте на производственном брандмауэре, а именно 192.168.100.0/24. Компьютеры в этой сети используют этот брандмауэр в качестве шлюза по умолчанию. Они могут общаться с производственными компьютерами в основной сети, и наоборот.

Когда компьютеры в сети 192.168.100.0/24 пытаются связаться с компьютерами разработчиков в основной сети, это не работает, потому что их шлюз по умолчанию (разрабатываемый межсетевой экран) не знает, как отправлять пакеты обратно. Это ожидаемо. Поэтому я добавил постоянный статический маршрут к брандмауэру разработки, чтобы сообщить ему "когда вам нужно отправить пакет на 192.168.100.0/24, отправьте его на 192.168.60.253"; Я также определил сеть в сетевой конфигурации конца TMG, включив весь трафик между двумя сетями.

А теперь самое странное: пинг между двумя сетями работает, а другие протоколы - нет. HTTP, RDP, SMB ... ничего не проходит, хотя маршрутизация вроде работает и политики брандмауэра открыты для всех.

Что происходит, почему и как я могу это исправить (кроме ручного добавления статических маршрутов на каждый сервер разработки, чего я бы хотел избежать)?


Обновить:

Я изучил журналы трафика в брандмауэре разработки, и похоже, что пакеты TCP отбрасываются, потому что: с точки зрения этого брандмауэра, они не связаны ни с каким открытым подключением. На самом деле это имеет смысл, потому что при запуске соединения начальный пакет подтверждения TCP проходит через производственный брандмауэр, в то время как ответ пытается вернуться через брандмауэр разработки ... и TMG отбрасывает его, потому что он никогда не видел первый пакет вообще. Это также объясняет, почему TCP не работает, а ICMP (и предположительно UDP) работает.

Но все же: как я могу это исправить и заставить эту асимметричную маршрутизацию работать, если это вообще возможно?

Насколько я понимаю...

Пакет из 192.168.100.x в ящик DEV маршрутизируется:

  • в TMG-PROD
  • затем в поле DEV

Однако пакеты, идущие от DEV Box к 192.168.100.x, идут

  • В TMG-DEV
  • затем в TMG-PROD
  • затем к 192.168.100.x

Поэтому вам нужно сделать эти маршруты одинаковыми, поэтому одно из предложений - добавить статический маршрут в блок DEV, чтобы трафик 192.168.100.x направлялся на шлюз TMG-PROD (192.168.60.253)