
Я пытаюсь виртуализировать некоторые приложения с помощью Citrix. Поэтому мне нужно открыть Citrix Secure Gateway для доступа в Интернет (поместить его в DMZ).
Мой вопрос: какая практика лучше?
- использование 2 физических сетевых карт, одна для публичного IP, одна для частного IP в Интернете
- Использовать 1 физическую сетевую карту, настроить ее на частный IP-адрес и позволить моему брандмауэру выполнять трансляцию NAT с публичного IP-адреса на частный IP-адрес?
Спасибо
решение1
Я бы избегал NAT, если есть другое решение. И ваша ситуация звучит так, будто ее можно решить без NAT. Если у вашего брандмауэра три сетевых интерфейса, это должно быть довольно просто сделать.
Вы назначаете один публичный IP-адрес внешнему интерфейсу на брандмауэре, а другой публичный IP-адрес назначаете серверу внутри DMZ. Брандмауэру нужен статический маршрут, сообщающий ему, что IP-адрес этого сервера напрямую подключен к интерфейсу DMZ. В зависимости от конфигурации сети на стороне WAN брандмауэра вам также может потребоваться настроить брандмауэр для ответа на запросы ARP от имени сервера.
Наконец, брандмауэр должен быть настроен таким образом, чтобы трафик между публичным IP-адресом сервера и другими хостами никогда не подвергался NAT, независимо от того, находится ли другой IP-адрес в локальной сети или в Интернете. Вы все еще можете захотеть, чтобы брандмауэр применял некоторую фильтрацию трафика с учетом состояния, но это выходит за рамки этого вопроса.
При этом пакеты из локальной сети на сервер будут достигать межсетевого экрана и пересылаться в DMZ без какого-либо NAT, аналогично пакеты из Интернета будут пересылаться в DMZ без какого-либо NAT.
Сервер может устанавливать соединения с Интернетом, не проходя через NAT, кроме того, он может устанавливать соединения с локальной сетью (если это разрешает брандмауэр), и это также не будет проходить через NAT.
Пакеты между локальной сетью и сервером будут использовать маршрут по умолчанию для достижения брандмауэра, а брандмауэр будет иметь определенные маршруты к каждой конечной точке, поэтому он сразу узнает, на какой интерфейс пересылать пакеты. Никаких трюков не нужно, чтобы эта часть работала.