У меня странная проблема с сетью.
Есть сеть, одна подсеть 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 маршрутизируется:
Однако пакеты, идущие от DEV Box к 192.168.100.x, идут
Поэтому вам нужно сделать эти маршруты одинаковыми, поэтому одно из предложений - добавить статический маршрут в блок DEV, чтобы трафик 192.168.100.x направлялся на шлюз TMG-PROD (192.168.60.253)