Avensis Posted December 26, 2018 · Report post День добрый! Столкнулся с такой задачей. Пытаюсь прописать статический маршрут на айпишник из 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] Результат везде одинаковый. Подскажите, как возможно это реализовать? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pingz Posted December 26, 2018 · Report post @Avensis Сам не собирал, но интересно Дай выхлоп интерфейса. Я как понял тебе нужно этому клиенту назначить иной маршут нежели дефолт? З.Ы. у тебя мало сообщений на форуме кажется 5 обновляй шапку. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Avensis Posted December 26, 2018 (edited) · Report post 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 December 26, 2018 by Avensis Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pingz Posted December 26, 2018 · Report post @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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Avensis Posted December 26, 2018 (edited) · Report post @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 December 26, 2018 by Avensis Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Avensis Posted December 27, 2018 · Report post up Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Telesis Posted December 27, 2018 · Report post 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. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Avensis Posted December 27, 2018 · Report post @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# Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
tros10 Posted December 27, 2018 · Report post Добавьте опцию resolve после nh Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Telesis Posted December 27, 2018 · Report post 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Avensis Posted December 28, 2018 (edited) · Report post @Telesis @tros10 А решение было на поверхности. Спасибо вам! В поисках, просматривал опции nh, но недоглядел. Еще раз спасибо! Edited December 28, 2018 by Avensis Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Avensis Posted December 28, 2018 · Report post @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] Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...