Routerkonfigurationsexempel för att konfigurera och hantera NAT

Den här artikeln innehåller NAT-konfigurationsexempel för Routrar i Cisco ASA- och Juniper SRX-serien när du arbetar med ExpressRoute. Dessa routerkonfigurationer är endast avsedda att vara exempel för vägledning och får inte användas som de är. Du måste arbeta med leverantören för att komma med lämpliga konfigurationer för nätverket.

Viktigt!

Exemplen på den här sidan är avsedda att vara enbart för vägledning. Du måste arbeta med leverantörens sälj-/tekniska team och ditt nätverksteam för att komma med lämpliga konfigurationer för att uppfylla dina behov. Microsoft stöder inte problem som rör konfigurationer som anges på den här sidan. Du måste kontakta enhetsleverantören för supportproblem.

  • Följande routerkonfigurationsexempel gäller för Azure Public- och Microsoft-peerings. Du konfigurerar inte NAT för privat Peering i Azure. Mer information finns i ExpressRoute-peerings och ExpressRoute NAT-krav .

  • Du MÅSTE använda separata NAT IP-pooler för anslutning till Internet och ExpressRoute. Att använda samma NAT IP-pool över internet och ExpressRoute resulterar i asymmetrisk routning och förlust av anslutningar.

Cisco ASA-brandväggar

PAT-konfiguration för trafik från kundnätverk till Microsoft

object network MSFT-PAT
  range <SNAT-START-IP> <SNAT-END-IP>


object-group network MSFT-Range
  network-object <IP> <Subnet_Mask>

object-group network on-prem-range-1
  network-object <IP> <Subnet-Mask>

object-group network on-prem-range-2
  network-object <IP> <Subnet-Mask>

object-group network on-prem
  network-object object on-prem-range-1
  network-object object on-prem-range-2

nat (outside,inside) source dynamic on-prem pat-pool MSFT-PAT destination static MSFT-Range MSFT-Range

PAT-konfiguration för trafik från Microsoft till kundnätverk

Gränssnitt och riktning:

Källgränssnitt (där trafiken kommer in i ASA): inuti målgränssnittet (där trafiken avslutar ASA): utanför

Konfiguration:

NAT-pool:

object network outbound-PAT
    host <NAT-IP>

Målserver:

object network Customer-Network
    network-object <IP> <Subnet-Mask>

Objektgrupp för kundens IP-adresser:

object-group network MSFT-Network-1
    network-object <MSFT-IP> <Subnet-Mask>

object-group network MSFT-PAT-Networks
    network-object object MSFT-Network-1

NAT-kommandon:

nat (inside,outside) source dynamic MSFT-PAT-Networks pat-pool outbound-PAT destination static Customer-Network Customer-Network

Juniper SRX-seriens routrar

1. Skapa redundanta Ethernet-gränssnitt för klustret

    interfaces {
        reth0 {
            description "To Internal Network";
            vlan-tagging;
            redundant-ether-options {
                redundancy-group 1;
            }
            unit 100 {
                vlan-id 100;
                family inet {
                    address <IP-Address/Subnet-mask>;
                }
            }
        }
        reth1 {
            description "To Microsoft via Edge Router";
            vlan-tagging;
            redundant-ether-options {
                redundancy-group 2;
            }
            unit 100 {
                description "To Microsoft via Edge Router";
                vlan-id 100;
                family inet {
                    address <IP-Address/Subnet-mask>;
                }
            }
        }
    }

2. Skapa två säkerhetszoner

  • Förtroendezon för internt nätverk och Ej betrodd zon för externa nätverksanslutna Edge-routrar
  • Tilldela lämpliga gränssnitt till zonerna
  • Tillåt tjänster i gränssnitten
    security {
        zones {
            security-zone Trust {
                host-inbound-traffic {
                    system-services {
                        ping;
                    }
                    protocols {
                        bgp;
                    }
                }
                interfaces {
                    reth0.100;
                }
            }
            security-zone Untrust {
                host-inbound-traffic {
                    system-services {
                        ping;
                    }
                    protocols {
                        bgp;
                    }
                }
                interfaces {
                    reth1.100;
                }
            }
        }
    }

3. Skapa säkerhetsprinciper mellan zoner

    security {
        policies {
            from-zone Trust to-zone Untrust {
                policy allow-any {
                    match {
                        source-address any;
                        destination-address any;
                        application any;
                    }
                    then {
                        permit;
                    }
                }
            }
            from-zone Untrust to-zone Trust {
                policy allow-any {
                    match {
                        source-address any;
                        destination-address any;
                        application any;
                    }
                    then {
                        permit;
                    }
                }
            }
        }
    }

4. Konfigurera NAT-principer

  • Skapa två NAT-pooler. Den ena används för utgående NAT-trafik till Microsoft och andra från Microsoft till kunden.
  • Skapa regler för NAT för respektive trafik
       security {
           nat {
               source {
                   pool SNAT-To-ExpressRoute {
                       routing-instance {
                           External-ExpressRoute;
                       }
                       address {
                           <NAT-IP-address/Subnet-mask>;
                       }
                   }
                   pool SNAT-From-ExpressRoute {
                       routing-instance {
                           Internal;
                       }
                       address {
                           <NAT-IP-address/Subnet-mask>;
                       }
                   }
                   rule-set Outbound_NAT {
                       from routing-instance Internal;
                       to routing-instance External-ExpressRoute;
                       rule SNAT-Out {
                           match {
                               source-address 0.0.0.0/0;
                           }
                           then {
                               source-nat {
                                   pool {
                                       SNAT-To-ExpressRoute;
                                   }
                               }
                           }
                       }
                   }
                   rule-set Inbound-NAT {
                       from routing-instance External-ExpressRoute;
                       to routing-instance Internal;
                       rule SNAT-In {
                           match {
                               source-address 0.0.0.0/0;
                           }
                           then {
                               source-nat {
                                   pool {
                                       SNAT-From-ExpressRoute;
                                   }
                               }
                           }
                       }
                   }
               }
           }
       }

5. Konfigurera BGP för att annonsera selektiva prefix i varje riktning

Se exempel på sidan Routningskonfigurationsexempel .

6. Skapa principer

    routing-options {
                  autonomous-system <Customer-ASN>;
    }
    policy-options {
        prefix-list Microsoft-Prefixes {
            <IP-Address/Subnet-Mask;
            <IP-Address/Subnet-Mask;
        }
        prefix-list private-ranges {
            10.0.0.0/8;
            172.16.0.0/12;
            192.168.0.0/16;
            100.64.0.0/10;
        }
        policy-statement Advertise-NAT-Pools {
            from {
                protocol static;
                route-filter <NAT-Pool-Address/Subnet-mask> prefix-length-range /32-/32;
            }
            then accept;
        }
        policy-statement Accept-from-Microsoft {
            term 1 {
                from {
                    instance External-ExpressRoute;
                    prefix-list-filter Microsoft-Prefixes orlonger;
                }
                then accept;
            }
            term deny {
                then reject;
            }
        }
        policy-statement Accept-from-Internal {
            term no-private {
                from {
                    instance Internal;
                    prefix-list-filter private-ranges orlonger;
                }
                then reject;
            }
            term bgp {
                from {
                    instance Internal;
                    protocol bgp;
                }
                then accept;
            }
            term deny {
                then reject;
            }
        }
    }
    routing-instances {
        Internal {
            instance-type virtual-router;
            interface reth0.100;
            routing-options {
                static {
                    route <NAT-Pool-IP-Address/Subnet-mask> discard;
                }
                instance-import Accept-from-Microsoft;
            }
            protocols {
                bgp {
                    group customer {
                        export <Advertise-NAT-Pools>;
                        peer-as <Customer-ASN-1>;
                        neighbor <BGP-Neighbor-IP-Address>;
                    }
                }
            }
        }
        External-ExpressRoute {
            instance-type virtual-router;
            interface reth1.100;
            routing-options {
                static {
                    route <NAT-Pool-IP-Address/Subnet-mask> discard;
                }
                instance-import Accept-from-Internal;
            }
            protocols {
                bgp {
                    group edge-router {
                        export <Advertise-NAT-Pools>;
                        peer-as <Customer-Public-ASN>;
                        neighbor <BGP-Neighbor-IP-Address>;
                    }
                }
            }
        }
    }

Nästa steg

Mer information finns i Vanliga frågor och svar om ExpressRoute.