none
Маршрутизация в удаленную сеть RRS feed

  • Вопрос

  • Всем добрый день.

    В сети имеется сервер с установленным TMG (7.0.7734.100). У сервера 2 сетевых интерфейса: один смотрит в сторону локальной сети, второй в сторону провайдерского оборудования (то бишь в интернет).

    В этой же локальной сети находится маршрутизатор Cisco 2811, одним интерфейсом в локальную сеть, вторым тоже в сторону провайдера. На маршрутизаторе поднят GRE туннель до удаленного офиса.

    Что хочется реализовать:

    1. В локальной сети стандартный шлюз - TMG

    2. Получить доступ для всех компьютеров локальной сети в удаленную сеть за Cisco

    Казалось бы, что сложного - добавить маршрут на TMG и создать правила, разрешающие доступ, но не все так просто, оказывается.

    Что НЕ получилось:

    Создаем новый объект - удаленную сеть RemoteLAN. Создаем Firewall Policy разрешающее Internal <-> RemoteLAN. Добавляем статичный маршрут в Networking. Не работает.

    Наткнулся на трейд: https://social.technet.microsoft.com/Forums/forefront/en-US/127effd7-e382-4337-9a65-6c78921a4f15/tmg-and-static-route?forum=Forefrontedgegeneral

    По идее, это мой вариант. Что предлагают сделать:

    Удаленную сеть добавить в Internal (внутренняя сеть), добавить маршрут до циски и все взлетит.

    Собственно, почти так и получилось, пошли пинги с TMG, но с локальных компьютеров - нет.

    Добавил тупое правило в Firewall Policy разрешающее internal <-> internal

    И вуа-ля, трафик пошел, точнее идут только ICMP запросы. Но RDP или SSL не работают.

    В логах TMG вижу сообщение вида:

    Denied Connection TMG 30.08.2017 14:44:59
    <id id="L_LogPane_LogType">Log type: </id><id id="L_LogPane_FirewallService">Firewall service</id>
    <id id="L_LogPane_Status">Status: </id>A non-SYN packet was dropped because it was sent by a source that does not have an established connection with the Forefront TMG computer.
    <id id="L_LogPane_Rule">Rule: </id>None - see Result Code
    <id id="L_LogPane_Source">Source: </id>Internal (10.200.1.104:56894)
    <id id="L_LogPane_Destination">Destination: </id>Internal (192.168.12.10:3389)
    <id id="L_LogPane_Protocol">Protocol: </id>RDP (Terminal Services)
    Additional information
    • <id id="L_LogPane_BytesSent">Number of bytes sent: </id>0<id id="L_LogPane_BytesReceived">Number of bytes received: </id>0
    • <id id="L_LogPane_ProcessingTime">Processing time: </id>0ms<id id="L_LogPane_OriginalClientIp">Original Client IP: </id>10.200.1.104


    Загуглил данную ошибку, нашел вот это: https://technet.microsoft.com/library/cc302656.aspx#Anchor_3

    В нем советуют поставить на циске стандартный шлюз - TMG. Это действительно глупо, но я указал 0.0.0.0 0.0.0.0 <TMG_IP>, в принципе, ничего не поменялось.

    Есть решение сделать шлюзом циску, но у меня появятся дикие грабли для удаленных пользователей, которые по pptp подключаются к TMG... т.к. тогда придется на каждом хосте, куда нужно подключаться, дописывать маршрут PPTP-сети.

    Буду рад любой подсказке!

    30 августа 2017 г. 11:47

Ответы

  • Проблема у вас, в том, что трафик через TMG идёт в одну сторону: с хоста из локальной сети в удалённую он идёт так: хост локальной сети - TMG (как шлюз по умолчанию) - Cisco 2811 - хост в удалённой сети, а с хоста удалённой сети в локальную - минуя TMG: хост в удалённой сети - Cisco 2811 - хост локальной сети (его Cisco находит непосредственно через ARP).

    Если этот трафик - ICMP, то TMG его пропускает без вопросов, но если это TCP, то TMG видит нарушение последовательности пакетов установления соединения и блокирует его - и отучить TMG от этого нельзя.

    Если на TMG не осталось свободных сетевых интерфейсов, чтобы подключить Cisco 2811 к отдельному интерфейсу, то вариантов решения два:

    1. На хостах локальной сети установить в качестве шлюза Cisco 2811, а на Cisco 2811 прописать маршрут 0.0.0.0/0 через TMG (при этом потребуется ещё и добавить специфический маршрут до реального IP второго конца VPN через провайдера, иначе VPN может не подняться), а также отключить icmp redirect (команда, если правильно помню - no ip redirect).

    или

    2. На всех хостах локальной сети добавить маршрут на удалённую сеть через Cisco 2811. Сделать это можно либо командой route add -p на каждом, либо через DHCP (опция 121).


    Слава России!

    30 августа 2017 г. 17:16

Все ответы

  • Проблема у вас, в том, что трафик через TMG идёт в одну сторону: с хоста из локальной сети в удалённую он идёт так: хост локальной сети - TMG (как шлюз по умолчанию) - Cisco 2811 - хост в удалённой сети, а с хоста удалённой сети в локальную - минуя TMG: хост в удалённой сети - Cisco 2811 - хост локальной сети (его Cisco находит непосредственно через ARP).

    Если этот трафик - ICMP, то TMG его пропускает без вопросов, но если это TCP, то TMG видит нарушение последовательности пакетов установления соединения и блокирует его - и отучить TMG от этого нельзя.

    Если на TMG не осталось свободных сетевых интерфейсов, чтобы подключить Cisco 2811 к отдельному интерфейсу, то вариантов решения два:

    1. На хостах локальной сети установить в качестве шлюза Cisco 2811, а на Cisco 2811 прописать маршрут 0.0.0.0/0 через TMG (при этом потребуется ещё и добавить специфический маршрут до реального IP второго конца VPN через провайдера, иначе VPN может не подняться), а также отключить icmp redirect (команда, если правильно помню - no ip redirect).

    или

    2. На всех хостах локальной сети добавить маршрут на удалённую сеть через Cisco 2811. Сделать это можно либо командой route add -p на каждом, либо через DHCP (опция 121).


    Слава России!

    30 августа 2017 г. 17:16
  • Спасибо за развернутый ответ!

    Очень жаль, что решение именно такое..

    1 сентября 2017 г. 8:14