Это — старая версия документа!


Настройка JunOS для раздачи IPv6

Во первых настройка динамического профиля для интерфейсов:

dynamic-profiles {
    INTF {
        interfaces {
            demux0 {
                unit "$junos-interface-unit" {
                    demux-options {     
                        underlying-interface "$junos-underlying-interface";
                    }
                    family inet {
                        unnumbered-address lo0.0;
                    }
                    family inet6 {
                        unnumbered-address lo0.0;
                    }
                }
            }
        }
        protocols {
            router-advertisement {
                interface "$junos-interface-name" {
                    managed-configuration;
                    other-stateful-configuration;
                    link-mtu;
                }
            }
        }
    }
}

Тут RA создается без какого-либо префикса, т.к. он нужен до какой-либо авторизации чтобы CPE запросил DHCPv6.

Профиль DHCP:

dynamic-profiles {
    DHCP_MAC_VALIDATE {
        interfaces {
            "$junos-interface-ifd-name" {
                unit "$junos-interface-unit" {
                    proxy-arp restricted;
                    filter {
                        input "$junos-input-interface-filter";
                        output "$junos-output-interface-filter";
                    }
                    family inet {
                        mac-validate strict;
                        mtu 1500;
                        filter {
                            input "$junos-input-filter";
                            output "$junos-output-filter";
                        }
                        unnumbered-address lo0.0;
                    }
                    family inet6 {
                        mtu 1500;
                        filter {
                            input "$junos-input-ipv6-filter";
                            output "$junos-output-ipv6-filter";
                        }
                        unnumbered-address lo0.0;
                    }
                }
            }
        }
        protocols {
            router-advertisement {
                interface "$junos-interface-name" {
                    managed-configuration;
                    other-stateful-configuration;
                    link-mtu;
                    prefix $junos-ipv6-ndra-prefix {
                        valid-lifetime 14400;
                        on-link;
                        preferred-lifetime 14400;
                    }
                }
            }
        }
    }
}

DHCP сервер:

system {
    services {
        dhcp-local-server {
            dhcpv6 {
                group dhcp {
                    overrides {         
                        rapid-commit;   
                        process-inform {
                            pool p6;    
                        }               
                        always-add-option-dns-server;
                        asymmetric-lease-time 600;
                        asymmetric-prefix-lease-time 600;
                        dual-stack dhcp;
                    }                   
                    interface demux0.0; 
                }                                          
            }                           
            group dhcp {                
                overrides {             
                    asymmetric-lease-time 600;
                    dual-stack dhcp;    
                }
                interface demux0.0;     
            }                           
            dual-stack-group dhcp {     
                authentication {        
                    password juniper;   
                    username-include {  
                        mac-address;    
                    }                   
                }                       
                dynamic-profile DHCP_MAC_VALIDATE;
                classification-key {    
                    mac-address;        
                }                       
            }                           
        }
    }
}

Крайне рекомендую lease тайм настраивать именно тут(asymmetric-lease-time), иначе с некоторыми роутерами ip пропадает, это касается и v4, а в пулах адресов указывать бесконечное время аренды:

access {
    address-assignment {
        pool p4 {
            family inet {
                network 192.0.2.0;  
                dhcp-attributes {
                    maximum-lease-time infinite;
                    grace-period 700;
                    name-server {
                        192.0.2.5;
                        192.0.2.7;
                    }
                    router {
                        192.0.2.254;
                    }
                }
                excluded-address 192.0.2.254;
                excluded-address 192.0.2.255;
            }
        }
        pool p6 {
            family inet6 {
                prefix 2001:db8::/32;
                range pd prefix-length 48;
                dhcp-attributes {
                    maximum-lease-time infinite;
                    dns-server {
                        2001:db8::5;
                        2001:db8::7;
                    }
                }
            }
        }
}

И динамический профиль INTF нужно забиндить на интерфейсе основном, для примера qinq:

interfaces {
    et-0/0/0 {
        description USERS;
        flexible-vlan-tagging;
        auto-configure {
            stacked-vlan-ranges {
                dynamic-profile INTF {
                    accept [ dhcp-v4 inet6 ];
                    ranges {
                        200-227,251-4094;
                    }
                }                  
            }                           
            remove-when-no-subscribers; 
        }                               
    } 
}

Настройка шейперов:

firewall {
    family inet {
        filter 100000 {
            interface-specific;
            term 0 {
                then {
                    policer p_100000_limit;
                    next term;
                }
            }
            term 1 {
                then accept;
            }
        }
    }
    family inet6 {
        filter 100000 {
            interface-specific;
            term 0 {
                then {
                    policer p_100000_limit;
                    next term;
                }
            }
            term 1 {
                then accept;
            }
        }
    }
    family any {
        filter 100000 {
            interface-specific;
            term 0 {
                then {
                    policer p_100000_limit;
                    next term;
                }
            }
            term 1 {
                then accept;
            }
        }
    }
    policer p_100000_limit {
        if-exceeding {
            bandwidth-limit 100m;       
            burst-size-limit 18750000;  
        }                               
        then discard;                   
    }
}

В данной конфигурации на радиус приходят имя пользователя в виде мака: xxxx.xxxx.xxxx с паролем juniper.

Отдавать джуниперу надо переменные для скорости:

ipv4 для $junos-input-filter и $junos-output-filter:

ERX-Ingress-Policy-Name
ERX-Egress-Policy-Name

ipv6 для $junos-input-ipv6-filter и $junos-output-ipv6-filter:

ERX-IPv6-Ingress-Policy-Name
ERX-IPv6-Egress-Policy-Name

для всего интерфейса ($junos-input-interface-filter $junos-output-interface-filter) - не рекомендую, т.к. вероятно служебный трафик вроде arp и icmp6 тоже зарежет:

ERX-Input-Interface-Filter
ERX-Output-Interface-Filter

Для статического префикса/адреса на WAN:

Framed-IPv6-Prefix

Если отдать /64 то будет использоваться для slaac($junos-ipv6-ndra-prefix), если 128 - для IA_NA.

Для динамического префикса на WAN(для статики крайне рекомендую отдавать этот параметр тоже, иначе не всегда привязывается пул и нормально работает время аренды):

Framed-IPv6-Pool

Для статического префикса PD:

Delegated-IPv6-Prefix

Для динамического префикса PD(для статики крайне рекомендую отдавать этот параметр тоже, иначе не всегда привязывается пул и нормально работает время аренды):

ERX-IPv6-Delegated-Pool-Name

juniper.1729524952.txt.gz · Последние изменения: 2024-10-21 15:35 UTC От rm
Personal Tools