Jump to content
Калькуляторы

Juniper DualISP сервисы джунипера не видят Интернет

Здравствуйте.

Джуник работает в конфигурации с двумя провайдерами разделяя клиентский трафик фильтрами по виртуальным роутерам. С клиентами всё ок, а вот сервисы самого джунипера выхода в интернет не имеют. DNS-proxy например работать не будет.

Прошу помочь разобраться с проблемой.

 

Выдержки из конфига:

version 12.1X44-D45.2;
interfaces {
   interface-range interfaces-trust {
       member fe-0/0/0;
       member fe-0/0/1;
       member fe-0/0/2;
       member fe-0/0/3;
       member fe-0/0/4;
       unit 0 {
           family ethernet-switching {
               vlan {
                   members vlan-trust;
               }
           }
       }
   }
   interface-range interfaces-dmz {
       member fe-0/0/5;
       unit 0 {
           family ethernet-switching {
               vlan {
                   members vlan-dmz;
               }
           }
       }
   }
   fe-0/0/6 {
       unit 0 {
           family inet {
               filter {
                   input incoming-deny;
               }
               address 1.1.1.2/28;
           }
       }
   }
   fe-0/0/7 {
       unit 0 {
           family inet {
               filter {
                   input incoming-deny;
               }
               address 2.2.2.2/28;
           }
       }
   }
   lo0 {
       unit 0 {
           family inet {
               address 127.0.0.1/32;
           }
       }
   }
   st0 {
       unit 0 {
           family inet {
               address 10.255.252.10/30;
           }
       }
   }
   vlan {
       unit 0 {
           family inet {
               filter {
                   input route-to-isp;
               }
               address 10.10.40.1/24;
           }
       }
       unit 1 {
           family inet {
               address 10.10.41.1/24;
           }
       }
   }
}
routing-options {
   interface-routes {
       rib-group inet instance-j;
   }
   static {
       route 0.0.0.0/0 next-table isp1.inet.0;
       route 10.10.10.0/24 next-hop st0.0;
       route 10.10.12.0/24 next-hop st0.0;
       route 10.10.13.0/24 next-hop st0.0;
       route 10.10.14.0/24 next-hop st0.0;
       route 10.10.15.0/24 next-hop st0.0;
       route 10.10.16.0/24 next-hop st0.0;
       route 10.10.17.0/24 next-hop st0.0;
       route 10.10.18.0/24 next-hop st0.0;
       route 10.10.19.0/24 next-hop st0.0;
       route 10.20.11.0/30 next-hop st0.0;
       route 10.20.12.0/22 next-hop st0.0;
   }
   rib-groups {
       instance-isp1 {
           import-rib [ isp1.inet.0 isp2.inet.0 inet.0 ];
       }
       instance-isp2 {
           import-rib [ isp2.inet.0 isp1.inet.0 inet.0 ];
       }
       instance-j {
           import-rib [ inet.0 isp1.inet.0 isp2.inet.0 ];
       }
   }
}


   nat {
       source {
           pool PubIP {
               address {
                   1.1.1.2/32;
               }
           }
           pool PubIP2 {
               address {
                   2.2.2.2/32;
               }
           }
           rule-set trust-to-untrast {
               from zone trust;
               to zone untrust;
               rule trust-to-untrust-rule {
                   match {
                       source-address 0.0.0.0/0;
                   }
                   then {
                       source-nat {
                           pool {
                               PubIP;
                           }
                       }
                   }
               }
           }
           rule-set trust-to-untrast2 {
               from zone trust;
               to zone untrust2;
               rule trust-to-untrust2-rule {
                   match {
                       source-address 0.0.0.0/0;
                   }
                   then {
                       source-nat {
                           pool {
                               PubIP2;
                           }
                       }
                   }
               }
           }
       }





   policies {
       from-zone trust to-zone untrust {
           policy trust-to-untrust-allow-all {
               match {
                   source-address any;
                   destination-address any;
                   application any;
               }
               then {
                   permit;
               }
           }
       }
       from-zone trust to-zone untrust2 {
           policy trust-to-untrust2-allow-all {
               match {
                   source-address any;
                   destination-address any;
                   application any;
               }
               then {
                   permit;
               }
           }
       }



   zones {
       security-zone trust {
           host-inbound-traffic {
               system-services {
                   all;
               }
               protocols {
                   all;
               }
           }
           interfaces {
               vlan.0;
           }
       }
       security-zone untrust {
           screen untrust-screen;
           host-inbound-traffic {
               system-services {
                   all;
               }
               protocols {
                   all;
               }
           }
           interfaces {
               fe-0/0/7.0;
           }
       }
       security-zone untrust2 {
           screen untrust-screen;
           host-inbound-traffic {
               system-services {
                   all;
               }
               protocols {
                   all;
               }
           }
           interfaces {
               fe-0/0/6.0;
           }
       }


firewall {
   family inet {
       filter incoming-deny {
           term block-ssh {
               from {
                   destination-port 22;
               }
               then {
                   discard;
               }
           }
           term block-ntp {
               from {
                   protocol udp;
                   destination-port ntp;
               }
               then {
                   discard;
               }
           }
           term other {
               then accept;
           }
       }
       filter route-to-isp {
           term to-juniper {
               from {
                   destination-address {
                       10.10.40.1/32;
                   }
               }
               then accept;
           }
           term to-isp1 {
               from {
                   source-address {
                       10.10.40.12/32;
                   }
               }
               then {
                   routing-instance isp1;
               }
           }
           term to-isp2 {
               from {
                   source-address {
                       10.10.40.10/32;
                   }
               }
               then {
                   routing-instance isp2;
               }
           }
           term default {
               then accept;
           }
       }
   }
}
routing-instances {
   isp1 {
       instance-type virtual-router;
       interface fe-0/0/7.0;
       routing-options {
           interface-routes {
               rib-group inet instance-isp1;
           }
           static {
               route 0.0.0.0/0 next-hop 1.1.1.1;
           }
       }
   }
   isp2 {
       instance-type virtual-router;
       interface fe-0/0/6.0;
       routing-options {
           interface-routes {
               rib-group inet instance-isp2;
           }
           static {
               route 0.0.0.0/0 next-hop 2.2.2.1;
           }
       }
   }
}

Edited by bogatoff

Share this post


Link to post
Share on other sites
DNS-proxy например работать не будет.

 

А зачем Вам здесь это?

Share this post


Link to post
Share on other sites
DNS-proxy например работать не будет.

 

А зачем Вам здесь это?

 

Это я для примера привёл. Проблема в том, что сам джуник не имеет выхода в Интернет окромя ping`a в cli-режиме с указанием конкретного routing-instance.

А хотелось бы, чтобы джуник в Инет ходил. На форуме джуниковском, к сожалению, ничего по данному вопросу найти не удалось.

Share this post


Link to post
Share on other sites

а в глобальной таблице сделать интернет не вариант?

Share this post


Link to post
Share on other sites

самый простой вариант создайте lt интерфейс между inet.0 и любым из routing-instance и укажите в него дефолт http://www.juniper.net/documentation/en_US/junos14.2/topics/usage-guidelines/services-configuring-logical-tunnel-interfaces.html

ну либо перелейте через rib group маршруты между routing-instances http://kb.juniper.net/InfoCenter/index?page=content&id=kb16133&actp=search

Edited by Artur-t

Share this post


Link to post
Share on other sites

самый простой вариант создайте lt между inet.0 и любым из routing-instance интерфейс и укажите в него дефолт http://www.juniper.net/documentation/en_US/junos14.2/topics/usage-guidelines/services-configuring-logical-tunnel-interfaces.html

ну либо перелейте через rib group маршруты между routing-instances http://kb.juniper.net/InfoCenter/index?page=content&id=kb16133&actp=search

 

Спасибо за ваш ответ. Использовать lt это, конечно, вариант, но мне он казался несколько избыточным, что-ли. Мне всё кажется, что я упустил в своем конфиге какую-то, буквально одну, строчку и поэтому у меня такая вот фигня с доступом в Интернет.

 

Про rib - вот это в конфиге:

    rib-groups {
       instance-isp1 {
           import-rib [ isp1.inet.0 isp2.inet.0 inet.0 ];
       }
       instance-isp2 {
           import-rib [ isp2.inet.0 isp1.inet.0 inet.0 ];
       }
       instance-j {
           import-rib [ inet.0 isp1.inet.0 isp2.inet.0 ];
       }
   }

Вот это по show route:

root@KS-JGW> show route

inet.0: 23 destinations, 23 routes (22 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[static/5] 1d 21:38:50
                     to table isp1.inet.0
10.10.10.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.12.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.13.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.14.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.15.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.16.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.17.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.18.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.19.0/24      *[static/5] 2d 18:02:19
                   > via st0.0
10.10.40.0/24      *[Direct/0] 21:32:17
                   > via vlan.0
10.10.40.1/32      *[Local/0] 21:32:17
                     Local via vlan.0
10.10.41.0/24      *[Direct/0] 3w6d 22:56:49
                   > via vlan.1
10.10.41.1/32      *[Local/0] 15w5d 22:12:02
                     Local via vlan.1
10.20.11.0/30      *[static/5] 2d 18:02:19
                   > via st0.0
10.20.12.0/22      *[static/5] 2d 18:02:19
                   > via st0.0
10.255.252.8/30    *[Direct/0] 2d 18:02:19
                   > via st0.0
10.255.252.10/32   *[Local/0] 15w5d 22:12:02
                     Local via st0.0
1.1.1.0/28  *[Direct/0] 1d 21:40:06
                   > via fe-0/0/6.0
1.1.1.2/32  *[Local/0] 1d 21:40:06
                     Local via fe-0/0/6.0
2.2.2.0/28  *[Direct/0] 1d 21:40:06
                   > via fe-0/0/7.0
2.2.2.2/32  *[Local/0] 1d 21:40:06
                     Local via fe-0/0/7.0

isp1.inet.0: 12 destinations, 12 routes (11 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[static/5] 6d 23:03:03
                   > to 2.2.2.1 via fe-0/0/7.0
10.10.40.0/24      *[Direct/0] 21:32:17
                   > via vlan.0
10.10.40.1/32      *[Local/0] 21:32:17
                     Local via vlan.0
10.10.41.0/24      *[Direct/0] 1d 21:40:06
                   > via vlan.1
10.10.41.1/32      *[Local/0] 1d 21:40:06
                     Local via vlan.1
10.255.252.8/30    *[Direct/0] 1d 21:40:06
                   > via st0.0
10.255.252.10/32   *[Local/0] 1d 21:40:06
                     Local via st0.0
1.1.1.0/28  *[Direct/0] 6d 22:34:14
                   > via fe-0/0/6.0
1.1.1.2/32  *[Local/0] 6d 22:34:14
                     Local via fe-0/0/6.0
2.2.2.0/28  *[Direct/0] 6d 23:03:03
                   > via fe-0/0/7.0
2.2.2.2/32  *[Local/0] 6d 23:03:03
                     Local via fe-0/0/7.0

isp2.inet.0: 12 destinations, 12 routes (11 active, 0 holddown, 1 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[static/5] 6d 23:00:06
                   > to 1.1.1.1 via fe-0/0/6.0
10.10.40.0/24      *[Direct/0] 21:32:17
                   > via vlan.0
10.10.40.1/32      *[Local/0] 21:32:17
                     Local via vlan.0
10.10.41.0/24      *[Direct/0] 1d 21:40:06
                   > via vlan.1
10.10.41.1/32      *[Local/0] 1d 21:40:06
                     Local via vlan.1
10.255.252.8/30    *[Direct/0] 1d 21:40:06
                   > via st0.0
10.255.252.10/32   *[Local/0] 1d 21:40:06
                     Local via st0.0
1.1.1.0/28  *[Direct/0] 6d 23:03:02
                   > via fe-0/0/6.0
1.1.1.2/32  *[Local/0] 6d 23:03:02
                     Local via fe-0/0/6.0
2.2.2.0/28  *[Direct/0] 6d 22:34:14
                   > via fe-0/0/7.0
2.2.2.2/32  *[Local/0] 6d 22:34:14
                     Local via fe-0/0/7.0

Share this post


Link to post
Share on other sites

ну в вашем случае не понятно с какого src адреса трафик попадет в table isp1.inet.0 если я не ошибаюсь это будет lo0.0

если он будет c lo0.0

добавте lo.0 в группу trust предварительно повесив на него ip (127.0.0.1 не пойдет)

 

проверить src можно так

запустите ping 8.8.8.8 и в другом cli show security flow session protocol icmp destination-prefix 8.8.8.8

 

 

можно как вариант повесить instance-j на импорт статик роут src адрес у исходящего трафика будет как у интерфейса в сторону провайдера

Share this post


Link to post
Share on other sites

Всем спасибо, особенная благодарность Artur-t, вопрос решен.

Проблема оказалась в отсутствии правил NAT для Self generated трафика.

Что было добавлено в конфиг:

            rule-set default-to-untrast2 {
               from routing-instance default;
               to zone untrust2;
               rule default-to-untrust2-rule {
                   match {
                       source-address 0.0.0.0/0;
                   }
                   then {
                       source-nat {
                           pool {
                               PubIP2;
                           }
                       }
                   }
               }
           }

 

Ссылка на статью в базе знаний:

https://kb.juniper.net/InfoCenter/index?page=content&id=KB26372&actp=search

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this