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

Juniper MX240 Static route to unnumbered ip

День добрый! Столкнулся с такой задачей. Пытаюсь прописать статический маршрут на айпишник из unnumbered. Но запись не появляется.

 

root@MX-GW# set routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24 next-hop 172.22.34.243

{master}[edit]
root@MX-GW# run show route table gpon.inet.0 172.17.66.0/24

{master}[edit]
root@MX-GW#

Пробовал различными методами, а именно:

1) Через qualified-next-hop, с указанием интерфейса.

root@MX-GW# set routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24 qualified-next-hop 172.22.34.243 interface ae1.5032

{master}[edit]
root@MX-GW# commit
re1:
configuration check succeeds
re0:
commit complete
re1:
commit complete

{master}[edit]
root@MX-GW# run show route table gpon.inet.0 172.17.66.0/24

{master}[edit]
root@MX-GW#

2) Создавал новую инстанцию.

root@MX-GW# show routing-options rib-groups FORWARDTEST
export-rib forwardtest.inet.0;
import-rib [ forwardtest.inet.0 gpon.inet.0 ];
import-policy FWDTEST;

{master}[edit] 
root@MX-GW# show policy-options policy-statement FWDTEST
term FWDTEST {
    from {
        route-filter 172.17.66.0/24 longer;
    }
    to rib forwardtest.inet.0;
    then accept;
}
then reject;

{master}[edit] 
кoot@MX-GW# show routing-instances forwardtest
instance-type forwarding;
routing-options {
    interface-routes {
        rib-group inet FORWARDTEST;
    }
    rib forwardtest.inet.0 {
        static {
            route 172.17.66.0/24 next-hop 172.22.34.243;
        }
    }
}

{master}[edit] 
root@MX-GW# run show route table forwardtest.inet.0 172.17.66.0/24

{master}[edit] 

Результат везде одинаковый.

 

Подскажите, как возможно это реализовать?

Share this post


Link to post
Share on other sites

@Avensis Сам не собирал, но интересно 

 

Дай выхлоп интерфейса. 

 

Я как понял тебе нужно этому клиенту назначить иной маршут нежели дефолт? 

 

З.Ы. у тебя мало сообщений на форуме кажется 5 обновляй шапку. 

Share this post


Link to post
Share on other sites

1 час назад, pingz сказал:

@Avensis Сам не собирал, но интересно 

 

Дай выхлоп интерфейса. 

 

Я как понял тебе нужно этому клиенту назначить иной маршут нежели дефолт? 

 

З.Ы. у тебя мало сообщений на форуме кажется 5 обновляй шапку. 

На интерфейсе ae1.5032

root@MX-GW# show interfaces ae1.5032
description GPON;
proxy-arp;
vlan-tags outer 248 inner 2601;
family inet {
    mac-validate strict;
    unnumbered-address lo0.5000 preferred-source-address 172.17.254.129;
}

{master}[edit]
root@MX-GW#

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

 

1 час назад, pingz сказал:

З.Ы. у тебя мало сообщений на форуме

Впервые на этом форуме просто, зарегался чтобы задать вопрос

 

1 час назад, pingz сказал:

кажется 5 обновляй шапку.  

А вот тут не понял

Edited by Avensis

Share this post


Link to post
Share on other sites

@Avensis

Вроде так собирается:

https://www.juniper.net/documentation/en_US/junos/topics/topic-map/interfaces-configuring-an-unnumbered-interface.html

 

Новый маршрут, можно навесить через фильтр 

set firewall family inet filter nat term 2 from source-address 172.16.0.0/19
set firewall family inet filter nat term 2 then routing-instance nat

 

set routing-instances nat instance-type virtual-router
set routing-instances nat routing-options static route 0.0.0.0/0 next-hop (ip или интерфейс)

 

Дальше уже решать как будешь передавать маршруты в ri. 
 

У меня при такой схеме маршрут по умолчанию мик плата и сделан для обратного маршрута. 

 

set routing-instances nat routing-options instance-import GLOBAL

 

set policy-options policy-statement GLOBAL term 10 from instance master
set policy-options policy-statement GLOBAL term 10 from protocol access-internal
set policy-options policy-statement GLOBAL term 10 from protocol access
set policy-options policy-statement GLOBAL term 10 then accept
set policy-options policy-statement GLOBAL term 20 then reject

 

В вашем же случае придется собирать, что-то типа этого 

 

set routing-options interface-routes rib-group inet nat
set routing-options rib-groups nat import-rib inet.0
set routing-options rib-groups nat import-rib nat.inet.0

Share this post


Link to post
Share on other sites

@pingz

 

32 минуты назад, pingz сказал:

Новый маршрут, можно навесить через фильтр 

set firewall family inet filter nat term 2 from source-address 172.16.0.0/19
set firewall family inet filter nat term 2 then routing-instance nat

 

set routing-instances nat instance-type virtual-router
set routing-instances nat routing-options static route 0.0.0.0/0 next-hop (ip или интерфейс)

 

Дальше уже решать как будешь передавать маршруты в ri. 
 

У меня при такой схеме маршрут по умолчанию мик плата и сделан для обратного маршрута. 

 

set routing-instances nat routing-options instance-import GLOBAL

 

set policy-options policy-statement GLOBAL term 10 from instance master
set policy-options policy-statement GLOBAL term 10 from protocol access-internal
set policy-options policy-statement GLOBAL term 10 from protocol access
set policy-options policy-statement GLOBAL term 10 then accept
set policy-options policy-statement GLOBAL term 20 then reject

 

В вашем же случае придется собирать, что-то типа этого 

 

set routing-options interface-routes rib-group inet nat
set routing-options rib-groups nat import-rib inet.0
set routing-options rib-groups nat import-rib nat.inet.0

Проблема в том, что я практически так и пробовал:

4 часа назад, Avensis сказал:

2) Создавал новую инстанцию.


root@MX-GW# show routing-options rib-groups FORWARDTEST
export-rib forwardtest.inet.0;
import-rib [ forwardtest.inet.0 gpon.inet.0 ];
import-policy FWDTEST;

{master}[edit] 
root@MX-GW# show policy-options policy-statement FWDTEST
term FWDTEST {
    from {
        route-filter 172.17.66.0/24 longer;
    }
    to rib forwardtest.inet.0;
    then accept;
}
then reject;

{master}[edit] 
кoot@MX-GW# show routing-instances forwardtest
instance-type forwarding;
routing-options {
    interface-routes {
        rib-group inet FORWARDTEST;
    }
    rib forwardtest.inet.0 {
        static {
            route 172.17.66.0/24 next-hop 172.22.34.243;
        }
    }
}

{master}[edit] 
root@MX-GW# run show route table forwardtest.inet.0 172.17.66.0/24

{master}[edit] 

Но, никакие вообще маршруты не обьявляются на айпишник в unnumbered, даже 0.0.0.0/0

 

Попробовал собрать, как советовал:

root@MX-GW# show firewall
family inet {
    filter TEST {
        term 2 {
            from {
                source-address {
                    172.17.66.0/24;
                }
            }
            then {
                routing-instance TEST;
            }
        }
    }
}

{master}[edit]


root@MX-GW#show routing-instances TEST
instance-type virtual-router;
routing-options {
    static {
        route 0.0.0.0/0 next-hop 172.22.34.243;
    }
    instance-import TEST;
}

{master}[edit]


root@MX-GW# show policy-options policy-statement TEST
term TEST {
    from {
        route-filter 172.17.66.0/24 longer;
    }
    to rib test.inet.0;
    then accept;
}
then reject;

{master}[edit]


root@MX-GW# show routing-options rib-groups TEST
export-rib test.inet.0;
import-rib [ test.inet.0 gpon.inet.0 ];
import-policy TEST;

{master}[edit]

К сожалению, в маршрутах все так же пусто.

Edited by Avensis

Share this post


Link to post
Share on other sites

On 12/26/2018 at 7:46 AM, Avensis said:

set routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24 qualified-next-hop 172.22.34.243 interface ae1.5032

 

On 12/26/2018 at 10:44 AM, Avensis said:

unnumbered-address lo0.5000 preferred-source-address 172.17.254.129;

Как-то next-hop 172.22.34.243 не попадает в диапазон lo0.5000 (172.17.xx.xx)

Наверно стоит попробовать добавить  статик arp.

Share this post


Link to post
Share on other sites

@Telesis

8 минут назад, Telesis сказал:

 

Как-то next-hop 172.22.34.243 не попадает в диапазон lo0.5000 (172.17.xx.xx)

Наверно стоит попробовать добавить  статик arp.

Лупбек выглядит следующим образом:

root@MX-GW# show interfaces lo0.5000
description GPON-Customers;
family inet {
    address 172.17.254.129/32;
    address 172.22.33.1/24;
    address 172.22.34.1/24;
}

{master}[edit]

К сожалению, джун не дает добавлять апр в одной команде:

root@MX-GW# set routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24 qualified-next-hop 172.22.34.243 interface ae1.5032 mac-address a8:f9:4b:1b:2e:db

{master}[edit]
root@MX-GW# commit
re1:
[edit routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24]
  'qualified-next-hop 172.22.34.243'
    RT: mac-address is only valid for an interface qualified nexthop
error: configuration check-out failed

{master}[edit]

Поэтому пробовал отдельно задавать арп на ип:

set routing-instances gpon routing-options rib gpon.inet.0 static route 172.22.34.243/32 qualified-next-hop ae1.5032 mac-address a8:f9:4b:1b:2e:db

Соответственно в таблице маршрутизации:

gpon.inet.0: 6568 destinations, 6569 routes (6568 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

172.22.34.243/32   *[Static/5] 00:04:00
                    > to #0 a8.f9.4b.1b.2e.db via ae1.5032
                    [Access-internal/12] 22:52:37
                    > to #0 a8.f9.4b.1b.2e.db via ae1.5032

{master}[edit]

И следом снова прописать маршрут:

set routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24 next-hop 172.22.34.243

Причем пробовал прописывать различными способами, через qualified-next-hop и через обычный.

 

Результат один и тот же - записи нет:

 

root@MX-GW# run show route table gpon.inet.0 172.17.66.0/24

{master}[edit]
root@MX-GW#

 

Share this post


Link to post
Share on other sites

By default, static routes can point only to a directly connected next hop. You can configure an IPv4 route to a prefix that is not directly connected by resolving the route through the inet.0 and inet.3 routing tables. To configure an IPv4 static route to a prefix that is not a directly connected next hop, include the resolve statement:

 

- it means that you could configure any static route on direct connect IP only but if you want to make the next-hop of this static route on another router for example you couldn't by default and need resolve so the router will look on the routing table for this next-hop and if exist so the route will be valid and could forward traffic

Share this post


Link to post
Share on other sites

@Telesis

 

@tros10

А решение было на поверхности. Спасибо вам! В поисках, просматривал опции nh, но недоглядел. Еще раз спасибо!

Edited by Avensis

Share this post


Link to post
Share on other sites

@eli_crane

 

Из выдержки:

 

https://www.juniper.net/documentation/software/cable/junosg30/swconfig30-interfaces/html/routing-tables-config14.html

 

Цитата

By default, static routes can point only to a directly connected next hop. You can configure an IPv4 route to a prefix that is not directly connected by resolving the route through the inet.0 routing table. To configure an IPv4 static route to a prefix that is not a directly connected next hop, include the resolve statement at the [edit routing-options static (defaults | route)] hierarchy level:

[edit routing-options static (defaults | route)]
resolve;

И все. Дополнительно для роута ничего больше прописывать не нужно, только лишь одну нужную строчку.

set routing-instances gpon routing-options rib gpon.inet.0 static route 172.17.66.0/24 next-hop 172.22.34.243 resolve

И на выходе:

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

172.17.66.0/24     *[Static/5] 00:00:09, metric2 0
                    > to #0 a8.f9.4b.1b.2e.db via ae1.5032

{master}[edit] 

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.