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

Radius + Vyatta Firewall + Citrix Access Gateway

У меня проблема с настройкой Radius с Citrix Access Gateway.

У меня все это было настроено и работало нормально, когда у меня был Citrix Access Gateway (CAG) в нашей основной локальной сети, но я хочу переместить его в DMZ.

Я установил межсетевой экран Vyatta между сервером Radius и шлюзом. Брандмауэр настроен так, чтобы разрешать только трафик HTTP, HTTPS и Radius через (1812 и 1813). Брандмауэр также обеспечивает все необходимое NAT, то есть: я настроил CAG для указания на IP-адрес брандмауэра с портом, а затем брандмауэр перенаправляет этот трафик на сервер Radius, маскируя IP-адрес как IP-адрес брандмауэр. Затем межсетевой экран должен перенаправить любой трафик, который он получает изнутри, в CAG.

Проблема, похоже, связана с трафиком, возвращающимся в CAG. Если я запускаю wirehark, я вижу, что запрос Radius достигает сервера, но затем сервер Radius, кажется, отправляет запрос ICMP обратно на брандмауэр, который терпит неудачу и сообщает, что порт не открыт:

23  3.145816    11.1.1.1    11.1.1.2    RADIUS  104 Access-Request(1) (id=0, l=62)

24  3.145883    11.1.1.2    11.1.1.1    ICMP    132 Destination unreachable (Port unreachable)

Трафик, возвращающийся в брандмауэр, вообще не фильтруется, и он должен передавать данные прямо в CAG.

Конфигурация Vyatta NAT:

service {
 nat {
     rule 10 {
         destination {
             address 11.1.1.1
         }
         inbound-interface eth1
         inside-address {
             address 192.168.60.2
         }
         type destination
     }
     rule 20 {
         destination {
             address 192.168.60.1
             port 1812
         }
         inbound-interface eth0
         inside-address {
             address 11.1.1.2
         }
         protocol udp
         type destination
     }
     rule 21 {
         destination {
             address 192.168.60.1
             port 1813
         }
         inbound-interface eth0
         inside-address {
             address 11.1.1.2
         }
         protocol udp
         type destination
     }
     rule 30 {
         outbound-interface eth1
         outside-address {
             address 11.1.1.1
         }
         source {
             address 192.168.60.2
         }
         type source
     }

Есть идеи, почему это не удается?

Хорошо, я решил.

Я изменил конфигурацию vyatta, чтобы включить внутренний номер порта для портов радиуса, чтобы он знал, откуда он приходит, и пересылал данные в нужное место!

rule 20 {
 destination {
     address 192.168.60.1
     port 1812
 }
 inbound-interface eth0
 inside-address {
     address 11.1.1.2
     port 1812
 }
 protocol tcp_udp
 type destination
}

 rule 21 {
 destination {
     address 192.168.60.1
     port 1813
 }
 inbound-interface eth0
 inside-address {
     address 11.1.1.2
     port 1813
 }
 protocol tcp_udp
 type destination
}