workbook:jno-332:332_nat

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
workbook:jno-332:332_nat [2017/05/23 14:32] kworkbook:jno-332:332_nat [2021/08/12 08:35] (current) – external edit 127.0.0.1
Line 1: Line 1:
-===== 332 NAT =====+===== JN0-332NAT =====
 ** Необходимые знания: ** ** Необходимые знания: **
   * Identify the concepts, benefits and operation of NAT   * Identify the concepts, benefits and operation of NAT
Line 98: Line 98:
     }     }
 } }
-</code> \\ Если надо сделать статический или дестинейшин нат в адрес который не настроен на логическом интерфейсе srx, то надо включать proxy-arp. <code>+</code> \\ Если надо сделать STNAT или DNAT в адрес который не настроен на логическом интерфейсе srx, то надо включать proxy-arp. <code>
 {primary:node0}[edit security nat] {primary:node0}[edit security nat]
 admin@srx650-master# top show interfaces reth0.264 admin@srx650-master# top show interfaces reth0.264
Line 115: Line 115:
     address {     address {
         x.y.z.202/32;         x.y.z.202/32;
 +        x.y.z.203/32;
         x.y.z.205/32;         x.y.z.205/32;
     }     }
Line 190: Line 191:
 </code> </code>
  
------+---- 
 + 
 +==== NAT/PAT processing ==== 
 +При первичном прохождении пакета через Flow-module правила нат срабатывают до первого совпадения в следующем порядке: 
 +  - **Static NAT**  
 +  - **Destination NAT** 
 +  - **Reverse Static NAT** - обратное, относительно "from zone untrust", правило статической трансляции.  
 +  - **Source NAT**  
 + 
 +Схема:\\ 
 +{{workbook:jno-332:nat-and-pat-processing.gif?700}} 
 + 
 +Тезисно о првилах: 
 +  * Правила STNAT и DNAT имеют преимущество над SNAT правилами. 
 +  * Пулы адресов не должны пересекаться.  
 +  * Если трафик подпадает под несколько rule-set, то применяется тот rule-set в котором более "узко" описаны критерии трафика. 
 +  * Прорядок правил в rule-set имеет значение. Правила применяются сверху вниз до первого совпадения. Порядок правил можно менять командой "insert"
 + 
 +---- 
 + 
 +==== Address persistence ==== 
 +Когда для SNAT используются пулы адресов нет гарантии, что конкретный внутренний адрес всегда будет выходить с одним и тем же адресов из пула. Т.е., например, к одному и тому же сайту (по tcp/80) можно будет выйти c двух разных ip адресов, это не оч. хорошо. \\ Что бы этого избежать используется команда "address-persistent"
 +<code> 
 +admin@nsk-01-srx2# show source 
 +address-persistent; 
 +rule-set TRUST-TO-UNTRUST { 
 +... 
 +</code> 
 +Такой проблемы нет когда SNAT делается в адрес интерфейса. 
 + 
 +---- 
 + 
 +==== NAT proxy ARP ==== 
 +Прокси arp настраивается для того, что бы сообщить маршрутизатору, что он должен отвечать на широковещательные arp запросы (сосдений маршрутизатор ) для ip адресов которые непосредственно на нем не настроены.  
 + 
 +У нас есть интерфейс reth0.265 на котором настроен адрес 1.2.3.225. 
 + 
 +<code> 
 +{primary:node0}[edit security nat proxy-arp] 
 +admin@srx650-master# top show interfaces reth0 unit 265 
 +vlan-id 265; 
 +family inet { 
 +    address 1.2.3.225/29; 
 +
 + 
 +{primary:node0}[edit security nat proxy-arp] 
 +admin@srx650-master# run show interfaces reth0.265 
 +  Logical interface reth0.265 (Index 89) (SNMP ifIndex 669) 
 +... 
 +      Addresses, Flags: Is-Preferred Is-Primary 
 +        Destination: 1.2.3.224/29, Local: 1.2.3.225, Broadcast: 1.2.3.231 
 +</code> 
 + 
 +Через этот интерфейс доступна сеть 1.2.3.224/29, srx будет отвечать на arp запросы для адреса 1.2.3.225 и не будет  отвечать на запросы для адресов 1.2.3.[226..230] т.к. это не его адреса. \\  
 +После того как настроили SNAT или DNAT на, например, адрес 1.2.3.226, srx-су надо сообщить что теперь надо отвечать на arp запросы для этого адреса.  
 + 
 +<code> 
 +{primary:node0}[edit security nat proxy-arp] 
 +admin@srx650-master# show 
 +interface reth0.265 { 
 +    address { 
 +        1.2.3.226/32; 
 +        1.2.3.227/32; 
 +        1.2.3.228/32; 
 +    } 
 +
 +</code> 
 + 
 +При этом в таблице маршрутизации появляется статический роут, остальные адреса все так же доступны через директ роут. 
 + 
 +<code> 
 +{primary:node0}[edit security nat proxy-arp] 
 +admin@srx650-master# run show route 1.2.3.226 
 + 
 +inet.0: 451 destinations, 502 routes (451 active, 0 holddown, 0 hidden) 
 ++ = Active Route, - = Last Active, * = Both 
 + 
 +1.2.3.226/32  *[Static/1] 7w0d 20:57:37 
 +                      Receive 
 + 
 +{primary:node0}[edit security nat proxy-arp] 
 +admin@srx650-master# run show route 1.2.3.229 
 + 
 +inet.0: 451 destinations, 502 routes (451 active, 0 holddown, 0 hidden) 
 ++ = Active Route, - = Last Active, * = Both 
 + 
 +1.2.3.224/29  *[Direct/0] 7w0d 20:58:21 
 +                    > via reth0.265 
 +</code> 
 + 
 +---- 
 + 
 +==== Configuration guidelines ==== 
 +=== Обработка изменений в правилах === 
 +Если в правила ната или пулы адресов были внесены какие-либо изменения, то все сессии в которых участрует нат  при комите будут дропнуты.  
 + 
 +=== Емкость PAT === 
 +~64000 сессий.  
 + 
 +=== Отключение PAT при SNAT === 
 + 
 +PAT отключается командой "port no-translation" на уровне [edit security nat source pool POOL-NAME], при этом есть риск занять все адреса из выделенного пула. \\ Что бы этого избежать можно сказать srx использовать для SNAT адрес интрефеса при исчерпании пула, делается это так же на уровне [edit security nat source pool POOL-NAME] командой "overflow-pool interface"
 + 
 +<code> 
 +{primary:node0}[edit security nat source] 
 +admin@srx650-master# show 
 +pool SNAT-POOL-TEST { 
 +    address { 
 +        1.2.3.1/32 to 1.2.3.27/32; 
 +    } 
 +    port no-translation;       
 +    overflow-pool interface; 
 +
 +... 
 +rule-set TRUST-TO-UNTRUST { 
 +    from zone trust; 
 +    to zone untrust; 
 +    rule SRC-NAT-TR-TO-UNT-RULE-TEST { 
 +        match { 
 +            source-address 10.30.30.128/25; 
 +            destination-address 0.0.0.0/0; 
 +        } 
 +        then { 
 +            source-nat { 
 +                pool { 
 +                    SNAT-POOL-TEST; 
 +                } 
 +            } 
 +        } 
 +    } 
 +
 +</code> 
 + 
 +=== Оповещения о исчерпании пула адресов === 
 +<code> 
 +[edit security nat source] 
 +admin@bluebox# show 
 +... 
 +    pool-utilization-alarm raise-threshold 70 clear-threshold 50; 
 +... 
 +</code> 
 + 
 +Если использовали 70% пула, srx посылает snmp trap с алармом. Как только упали ниже 50%, srx snmp trap о нормализации ситуации. \\ 
 +Если не задать clear-threshold, то он по дефорлу будте составлять 80% от значения raise-threshold, в данном случае clear-threshold по дефолту будет равняться 56% (70*0.8).      
 + 
 +=== SNAT со сдвигом === 
 + 
 +Если в критерии, в качестве источника, мы указали "широкую" сетку, но при этом хотим что бы SNAT работал начиная с определенного внутреннего адреса надо дать команду "host-address-base" и указать с какого адреса начинать. 
 + 
 +<code> 
 +{primary:node0}[edit security nat source] 
 +admin@srx650-master# show 
 +pool SNAT-POOL-TEST { 
 +    address { 
 +        1.2.3.1/32 to 1.2.3.27/32; 
 +    } 
 +    host-address-base 10.30.30.150/32 
 +
 +... 
 +rule-set TRUST-TO-UNTRUST { 
 +    from zone trust; 
 +    to zone untrust; 
 +    rule SRC-NAT-TR-TO-UNT-RULE-TEST { 
 +        match { 
 +            source-address 10.30.30.128/25; 
 +            destination-address 0.0.0.0/0; 
 +        } 
 +        then { 
 +            source-nat { 
 +                pool { 
 +                    SNAT-POOL-TEST; 
 +                } 
 +            } 
 +        } 
 +    } 
 +
 +</code> 
 + 
 + 
 +----
 ===== Полезные ссылки ===== ===== Полезные ссылки =====
 +
 +{{tag>juniper jn0-332 exam}}
workbook/jno-332/332_nat.1495539140.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki