Star1609 Опубликовано 29 апреля, 2014 (изменено) · Жалоба Есть интересная статья на хабре про NAT и juniper. Может кто то и читал http://habrahabr.ru/post/209298/ Все конечно интересно с точки зрения натрирования и есть перспективы натирования вместе с IPv6. Но вот, когда дело до дела доходит и нужно нарезать скорость то обязательно вылазят какие-то "Грабли!". Вот берем пример конфига динамического профайла , тут все в принципе срабатывает на ура dynamic-profiles { PPPOE-profile { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } keepalives interval 30; family inet { filter { input "$junos-input-filter"; output "$junos-output-filter"; } } unnumbered-address lo0.0; } } } } } } firewall { family inet { filter INPUT-10M { interface-specific; term 10 { then { policer 10M; accept; } } } filter OUTPUT-10M { interface-specific; term 10 { then { policer 10M; accept; } } } policer 10M { if-exceeding { bandwidth-limit 10m; burst-size-limit 100k; } then discard; } Абоненту выдаем адрес , накатываем фильтр , скорость шейпится в обе стороны нормально. Но мы усложним задачу , будем выдавать абоненту серые адреса и натить их для начала в пул реальных IPv4 dynamic-profiles { PPPOE-profile { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } keepalives interval 30; family inet { filter { input "$junos-input-filter"; output "$junos-output-filter"; } service { input { service-set NAT; } output { service-set NAT; } } unnumbered-address lo0.0; } } } } } } И настройка сервиса NAT services { nat { pool NAT-POOL { address XXX.XXX.XXX.XXX/30; port { automatic { random-allocation; } } } rule NAT-RULE1 { match-direction input; term 10 { from { source-address { 10.1.0.0/16; } } then { translated { source-pool NAT-POOL; translation-type { napt-44; } } } } } } service-set NAT { nat-rules NAT-RULE1; interface-service { service-interface ms-0/2/0; } } } Пробуем шейпить и ... #show firewall Policers: Name Bytes Packets 10M-10-pp0.1073741829-in 1467741 995 Filter: OUTPUT-10M-pp0.1073741829-out Policers: Name Bytes Packets 10M-10-pp0.1073741829-out 0 0 Видим, что уже трафик в по OUTPUT-10M не бегает. Но быть может манюал подсказывает что фильтры нужно цеплять на service как post-service-filter. Но и тут сразу облом http://www.juniper.net/techpubs/en_US/junos13.3/topics/reference/configuration-statement/post-service-filter-edit-dynamic-profiles.html На output не прицепишь и на pp0 не работает. Вот и задаешься вопросом "шейпинга" это вообще возможно в таком случае ? Изменено 29 апреля, 2014 пользователем Star1609 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orlik Опубликовано 29 апреля, 2014 · Жалоба а покажите фильтр Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Star1609 Опубликовано 29 апреля, 2014 · Жалоба фильтр такой же пытаюсь подсунуть INPUT-10M и OUTPUT-10M который описал в конфиге тут же чуть выше , в post-service-filter на input конфигурится но не сработатывает , теость сессия PPPoE вообще не подымается у абонента, в output собственно там где нам и нужно пост сервис фильтры в джуносе нет возможности применять Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
orlik Опубликовано 29 апреля, 2014 · Жалоба Вообще странно, фильтр на интерфейсе должен работать . На каком софте запускаете , если не секрет ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
short Опубликовано 29 апреля, 2014 · Жалоба как int подписчика в итоге выглядит в плане фильтров? sh int .. extensive ? а вообще зачем service как interface style сделайте next-hop style, проще и удобнее будет Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
triam Опубликовано 30 апреля, 2014 · Жалоба Так настраивать NAT нельзя ни на циске, ни на джуне =) Никто не вешает "ip nat inside" на Virtual-Template. Ну и тоже самое верно для джуна. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Star1609 Опубликовано 30 апреля, 2014 · Жалоба как int подписчика в итоге выглядит в плане фильтров? sh int .. extensive ? а вообще зачем service как interface style сделайте next-hop style, проще и удобнее будет admin> show interfaces pp0.1073741824 extensive Logical interface pp0.1073741824 (Index 335) (SNMP ifIndex 539) (Generation 144) Flags: Up Point-To-Point SNMP-Traps 0x0 Encapsulation: PPPoE PPPoE: State: SessionUp, Session ID: 1, Session AC name: TENET_SERVER, Remote MAC address: 60:eb:69:5c:74:a5, Underlying interface: ge-1/1/2.0 (Index 334) Bandwidth: 1000mbps Traffic statistics: Input bytes : 54109 Output bytes : 13256 Input packets: 263 Output packets: 65 Local statistics: Input bytes : 1391 Output bytes : 389 Input packets: 47 Output packets: 10 Transit statistics: Input bytes : 52718 856 bps Output bytes : 12867 0 bps Input packets: 216 1 pps Output packets: 55 0 pps Keepalive settings: Interval 30 seconds, Up-count 1, Down-count 3 LCP state: Opened NCP state: inet: Opened, inet6: Not-configured, iso: Not-configured, mpls: Not-configured CHAP state: Success PAP state: Closed Protocol inet, MTU: 1480, Generation: 163, Route table: 0 Flags: Sendbcast-pkt-to-re Input Filters: INPUT-10M-pp0.1073741824-in Output Filters: OUTPUT-10M-pp0.1073741824-out Addresses, Flags: Is-Primary Destination: Unspecified, Local: 10.1.1.1, Broadcast: Unspecified, Generation: 144 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Star1609 Опубликовано 5 мая, 2014 · Жалоба Так настраивать NAT нельзя ни на циске, ни на джуне =) Никто не вешает "ip nat inside" на Virtual-Template. Ну и тоже самое верно для джуна. Сделал nat через next hop но теперь проблема , pp0 интерфейс даже не подысатся в лог ничего не пишет Пробую так : PPPOE-test { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } keepalives interval 30; family inet { filter { input INPUT-NAT; } unnumbered-address lo0.0; } } } } } filter INPUT-NAT { term 10 { from { source-address { 10.1.0.0/16; } } then { routing-instance NAT-VRF; } } term 20 { then accept; } } Если у кого то заработала такая схема поделитесь информацией если не жалко Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
nnm Опубликовано 5 мая, 2014 · Жалоба Фильтр, используемый на динамическом интерфейсе, обязан быть interface-specific. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...