Auteur Sujet: Remplacer sa Livebox par un routeur Ubiquiti Edgemax  (Lu 1540934 fois)

0 Membres et 4 Invités sur ce sujet

ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3780 le: 27 août 2018 à 12:48:44 »
Merci Zoc  :)

Donc pour les version supérieur à la 1.10.x il faut juste remettre le dhclient3 patché dans /sbin/ + le fichier rfc3442-classless-routes.sh dans etc/dhcp3/dhclient-exit-hooks.d/

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 301
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3781 le: 27 août 2018 à 14:07:50 »
Oui.

Bon, sinon, il y a aussi le répertoire /config/scripts/firstboot.d, qui peut contenir des scripts qui seront exécutés automatiquement une seule fois après chaque mise à jour. Scripts qui peuvent, par exemple, copier les fichiers qu'il faut là où il faut  ;)

Histoire d'automatiser les mises à jour...

ochbob

  • Abonné Orange Fibre
  • *
  • Messages: 231
  • Beauzelle (31)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3782 le: 27 août 2018 à 14:32:14 »
Ah! C'est bien de savoir ça, je vais regarde de plus prés :)

sbo

  • Abonné Orange Fibre
  • *
  • Messages: 22
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3783 le: 29 août 2018 à 21:51:04 »
Bonjour à tous

J'ai fait l'acquisition depuis peu d'un EdgeRouter Lite 3 et en s'appuyant sur le tuto de @zoc en page 264 et l'aide de @MasterFion et @Dmetre j'ai ma connexion opérationnelle.
Tuto :
Voici la configuration de base, sans Livebox (donc pas de téléphone), qui a les caractéristiques suivantes:
  • Fonctionne en DHCP, IPv4 uniquement.
  • ONT connecté à ETH1
  • Réseau "DATA" connecté sur eth0
  • Réseau dédié pour le(s) decodeur(s) TV sur eth2. Il est possible de les mettre sur eth0 également, dans ce cas il faut modifier la configuration d'igmp-proxy, en passant  le role de eth2 à "disabled" et celui d'eth0 à "downstream"
  • Adaptée au firmware 1.9.1. Ne fonctionnera pas sur les firmwares précédents.

Etapes:
  • Remplacer /sbin/dhclient3 par la version liée à ce message, s'assurer que le propriétaire est root, groupe root, droits 755
  • Copier le fichier rfc3442-classless-routes.sh dans le répertoire /etc/dhcp3/dhclient-exit-hooks.d (et supprimer l'extension .sh qui a été rajoutée par le forum lors de l'upload) , s'assurer que le propriétaire est root, groupe root, droits 755
  • Pour les firmwares antérieurs à 1.10, Modifier le fichier /opt/vyatta/sbin/vyatta-interfaces.pl: Il faut rechercher la ligne $output .= "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n\n"; et rajouter juste au dessous  $output .= "option rfc3118-auth code 90 = string;\n\n";. Ca doit donner ca:
    $output .= "option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;\n\n";
    $output .= "option rfc3118-auth code 90 = string;\n\n";

A partir du firmware 1.10, cette étape 3 n'est plus nécessaire, et doit être remplacé par l'exécution de la commande de configuration ci-dessous (en mode configure donc. Cela doit être fait après avoir chargé le fichier de configuration définitif (donc après l'étape 3 à la fin de ce message):
set interfaces ethernet eth1 vif 832 dhcp-options global-option "option rfc3118-auth code 90 = string;"



Avant d'aller plus loin, il est temps de rebooter pour s'assurer que le routeur démarre toujours bien. Ensuite, éditer le fichier config.orange.txt joint. Attention, sous Windows n'utilisez pas le Bloc-Notes (Notepad), mais un éditeur capable de préserver les caractères de fin de ligne Unix, comme Notepad++ (gratuit):
  • Remplacer les XX:XX... par votre identifiant "fti/xxxxxx" encodé en hexadécimal
  • Remplacer les YY:YY:YY... par l'adresse mac de votre Livebox (pas le décodeur, le modem)
  • Copier le fichier sur le routeur, remplacer la configuration existante à l'aide des commandes ci-dessous:
configure
load config.orange.txt

Le routeur devrait redémarrer et la connexion s'effectuer.

Par contre je rencontre un problème avec les ports forwarding.
J'ai un reverse proxy (DSM) qui me permet de publier plusieurs sites en ssl. Je ne rencontrait pas de problème avec mes anciènes configuration FreeBox et même avec la LiveBox.

Par contre avec ER3 je rencontre un soucis. Ayant supposé un problème d'interropérablité avec mon reverse, j'ai donc essayé sans passé par le reverse, même résultat (des erreur SSL) mais même en http (w/o s) pareil.

En scannant les ports externes, je constate que les ports 80 et 443 sont ouverts mêmes sans les règles de port forwarding. J'ai changer les ports d'écoute de la gui dans le doute (même si elle est en écoute que sur le lan théoriquement) => idem

J'ai donc essayé en utilisant les ports 81 => 80 et 8443 => 443 et là cela fonctionne.

Je penses donc que j'ai un conflit sur les ports 80 et 443 mais je ne trouve pas ou ?

Ma configuration
firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians disable
    name WAN_IN {
        default-action drop
        description "WAN to internal"
        rule 10 {
            action accept
            description "Allow established/related"
            log disable
            protocol all
            state {
                established enable
                invalid disable
                new disable
                related enable
            }
        }
        rule 20 {
            action drop
            description "Drop invalid state"
            log disable
            protocol all
            state {
                established disable
                invalid enable
                new disable
                related disable
            }
        }
    }
    name WAN_LOCAL {
        default-action drop
        description "WAN to router"
        rule 1 {
            action accept
            description "Allow established/related"
            state {
                established enable
                related enable
            }
        }
        rule 3 {
            action drop
            description "Drop invalid state"
            log disable
            state {
                invalid enable
            }
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        address 192.168.0.254/24
        description LAN_ETH0
        duplex auto
        speed auto
    }
    ethernet eth1 {
        description ISP
        duplex auto
        speed auto
        vif 832 {
            address dhcp
            description ISP_DATA
            dhcp-options {
                client-option "send vendor-class-identifier "sagem";"
                client-option "send user-class "\053FSVDSL_livebox.Internet.softathome.Livebox4";"
                client-option "send rfc3118-auth 00:00:00:00:00:00:00:00:00:00:00:66:xxxxxxx;"
                client-option "request subnet-mask, routers, domain-name-servers, domain-name, broadcast-address, dhcp-lease-time, dhcp-renewal-time, dhcp-rebinding-time, rfc3118-auth;"
                default-route update
                default-route-distance 210
                global-option "option rfc3118-auth code 90 = string;"
                name-server update
            }
            egress-qos "0:0 1:0 2:0 3:0 4:0 5:0 6:6 7:0"
            firewall {
                in {
                    name WAN_IN
                }
                local {
                    name WAN_LOCAL
                }
            }
        }
        vif 838 {
            address dhcp
            description ISP_TV_VOD
            dhcp-options {
                client-option "send vendor-class-identifier "sagem";"
                client-option "send user-class "\047FSVDSL_livebox.MLTV.softathome.Livebox4";"
                client-option "send dhcp-client-identifier 1:A4:xxxxx;"
                client-option "request subnet-mask, routers, rfc3442-classless-static-routes;"
                default-route no-update
                default-route-distance 210
                name-server update
            }
            egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
        }
        vif 840 {
            address 10.73.255.254/32
            description ISP_TV_STREAM
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
    }
    ethernet eth2 {
        address 10.73.75.1/24
        description LAN_ETH2
        duplex auto
        speed auto
    }
    loopback lo {
    }
}
protocols {
    igmp-proxy {
        disable-quickleave
        interface eth0 {
            role downstream
            threshold 1
        }
        interface eth1 {
            role disabled
            threshold 1
        }
        interface eth1.832 {
            role disabled
            threshold 1
        }
        interface eth1.838 {
            role disabled
            threshold 1
        }
        interface eth1.840 {
            alt-subnet 0.0.0.0/0
            role upstream
            threshold 1
        }
        interface eth2 {
            alt-subnet 0.0.0.0/0
            role disabled
            threshold 1
        }
    }
}
service {
    dhcp-server {
        disabled false
        hostfile-update disable
        shared-network-name IKEV2_DHCP_Server {
            authoritative disable
            subnet 10.73.74.1/24 {
                default-router 10.73.74.1
                dns-server 10.73.74.1
                lease 86400
                start 10.73.74.230 {
                    stop 10.73.74.243
                }
            }
        }
        shared-network-name LAN_ETH0_DHCP {
            authoritative enable
            subnet 192.168.0.0/24 {
                default-router 192.168.0.254
                dns-server 192.168.0.254
                lease 86400
                ntp-server 192.168.0.254
                start 192.168.0.2 {
                    stop 192.168.0.250
                }
                static-mapping srv1-int {
                    ip-address 192.168.0.251
                    mac-address 00:0c:29:5d:f4:cb
                }
            }
        }
        shared-network-name LAN_ETH1_DHCP {
            authoritative enable
            subnet 10.73.75.0/24 {
                default-router 10.73.75.1
                dns-server 10.73.75.1
                lease 86400
                ntp-server 10.73.75.1
                start 10.73.75.100 {
                    stop 10.73.75.200
                }
            }
        }
        static-arp disable
        use-dnsmasq disable
    }
    dns {
        dynamic {
            interface eth1.832 {
                service custom-NoIP {
                    host-name mondns.ddns.net
                    login moi@gmail.com
                    password ****************
                    protocol noip
                    server dynupdate.no-ip.com
                }
                web dyndns
            }
        }
        forwarding {
            cache-size 1024
            listen-on lo
            listen-on eth0
            listen-on eth2
            name-server 80.10.246.3
            name-server 81.253.149.10
        }
    }
    gui {
        http-port 1080
        https-port 1443
        listen-address 192.168.0.254
        older-ciphers disable
    }
    nat {
        rule 5001 {
            description "MASQ: WAN"
            log disable
            outbound-interface eth1.832
            protocol all
            type masquerade
        }
        rule 5002 {
            description "MASQ: ORANGE"
            log disable
            outbound-interface eth1.838
            protocol all
            type masquerade
        }
    }
    ssh {
        allow-root
        port 22
        protocol-version v2
    }
    upnp2 {
        listen-on eth0
        nat-pmp enable
        port 34651
        secure-mode enable
        wan eth1.832
    }
}
system {
    config-management {
        commit-revisions 5
    }
    conntrack {
        expect-table-size 4096
        hash-size 4096
        table-size 32768
        tcp {
            half-open-connections 512
            loose disable
            max-retrans 3
        }
    }
    domain-name mondomain.net
    host-name erl
    login {
        user root {
            authentication {
                encrypted-password ****************
                plaintext-password ****************
            }
            level admin
        }
        user ubnt {
            authentication {
                encrypted-password ****************
            }
            level admin
        }
    }
    name-server 127.0.0.1
    ntp {
        server 0.ubnt.pool.ntp.org {
        }
        server 1.ubnt.pool.ntp.org {
        }
        server 2.ubnt.pool.ntp.org {
        }
        server 3.ubnt.pool.ntp.org {
        }
    }
    offload {
        hwnat disable
        ipsec enable
        ipv4 {
            forwarding enable
            gre enable
            vlan enable
        }
        ipv6 {
            forwarding disable
            vlan disable
        }
    }
    package {
        repository wheezy {
            components "main contrib non-free"
            distribution wheezy
            password ****************
            url http://http.us.debian.org/debian/
            username ""
        }
    }
    static-host-mapping {
        host-name srv1-int {
            alias monadress.monsite.com
            inet 192.168.0.251
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level warning
            }
        }
    }
    task-scheduler {
    }
    time-zone Europe/Paris
    traffic-analysis {
        dpi disable
        export disable
    }
}

Si je mets cette configuration, cela ne fonctionne pas :

port-forward {
    auto-firewall enable
    hairpin-nat disable
    lan-interface eth0
    rule 1 {
        description https
        forward-to {
            address 192.168.0.251
            port 443
        }
        original-port 443
        protocol tcp
    }
    rule 2 {
        description http
        forward-to {
            address 192.168.0.251
            port 80
        }
        original-port 80
        protocol tcp
    }

Par contre avec cette configuration, cela fonctionne :

port-forward {
    auto-firewall enable
    hairpin-nat disable
    lan-interface eth0
    rule 1 {
        description https
        forward-to {
            address 192.168.0.202
            port 443
        }
        original-port 8443
        protocol tcp
    }
    rule 2 {
        description http
        forward-to {
            address 192.168.0.251
            port 80
        }
        original-port 81
        protocol tcp
    }

Je suis preneur d'une piste, car là je sèche  :)

Firmware 1.10.5
Les interfaces :
Interface    IP Address                        S/L  Description
---------    ----------                        ---  -----------
eth0         192.168.0.254/24                  u/u  LAN_ETH0
eth1         -                                 u/u  ISP
eth1.832     81.249.xxx.xxx/21                 u/u  ISP_DATA
eth1.838     10.52.3.161/27                    u/u  ISP_TV_VOD
eth1.840     10.73.255.254/32                  u/u  ISP_TV_STREAM
eth2         10.73.75.1/24                     u/D  LAN_ETH2
lo           127.0.0.1/8                       u/u
             ::1/128
« Modifié: 29 août 2018 à 22:11:35 par sbo »

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 301
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3784 le: 30 août 2018 à 08:45:33 »
Je n’ai pas le souvenir d’avoir eu ce genre de problème quand j’utilisais encore la section ‘port-forward’ de la config. Mais c’était il y a plus d’un an.

Maintenant je suis passé à un firewall « zone based » et mes règles de port forwarding ont été remplacées par des doubles règles (firewall + NAT) car plus flexibles.

sbo

  • Abonné Orange Fibre
  • *
  • Messages: 22
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3785 le: 30 août 2018 à 09:28:30 »
Merci zoc pour ton retour.
Pour la config firewall+nat cela ne pose pas de problème avec l@ IP public dynamique.
Dans les règles il faut définir l’@Ip public et j’ai pas trouvé comment lui dire de prendre la résolution dyndns.
As tu y. Exemple de règles de type publication https dans cette conf,

Merci par avance

sbo

  • Abonné Orange Fibre
  • *
  • Messages: 22
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3786 le: 30 août 2018 à 09:32:01 »
Pour exemple dans la doc ubiquiti : https://help.ubnt.com/hc/en-us/articles/204952134

Description: https443
Inbound Interface: eth0
Translation Address: 192.168.1.10
Translation Port: 443
Protocol: TCP
Destination Address: 203.0.113.1
Destination Port: 443

l'@ 203.0.113.1 correspondant à l'@ public

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 301
  • Antibes (06) / Mercury (73)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3787 le: 30 août 2018 à 09:38:22 »
Dans les règles il faut définir l’@Ip public et j’ai pas trouvé comment lui dire de prendre la résolution dyndns.
Euh, non...
firewall {
    ...
    name WAN_IN {
        ...
        rule 100 {
            action accept
            description wfrontend-1
            destination {
                address 192.168.70.11
                port 80,443
            }
            log disable
            protocol tcp
        }
        ...
    } 
...
service {
...
    nat {
        ...
        rule 140 {
            description "DEST: WAN/T80 -> WFRONTEND-1/T80 (WEB CLNT)"
            destination {
                port 80
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.70.11
                port 80
            }
            log disable
            protocol tcp
            type destination
        }
        rule 141 {
            description "DEST: WAN/T443 -> WFRONTEND-1/T443 (WEB CLNT)"
            destination {
                port 443
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.70.11
                port 443
            }
            log disable
            protocol tcp
            type destination
        }
        ...
    }
    ...
}

Edit: Ok, je comprends que l'IP publique est nécessaire pour que l'HAIRPIN fonctionne, et je n'utilise par hairpin.

Accessoirement, il doit être possible d'utiliser le groupe dynamique "NETv4_eth1.832" à la place de l'adresse destination (destination group X au lieu de destination address X), NETv4_eth1.832 étant mis à jour automatiquement avec l'adresse attribuée à eth1.832 ;)


sbo

  • Abonné Orange Fibre
  • *
  • Messages: 22
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3788 le: 30 août 2018 à 10:00:08 »
Euh, non...
firewall {
    ...
    name WAN_IN {
        ...
        rule 100 {
            action accept
            description wfrontend-1
            destination {
                address 192.168.70.11
                port 80,443
            }
            log disable
            protocol tcp
        }
        ...
    } 
...
service {
...
    nat {
        ...
        rule 140 {
            description "DEST: WAN/T80 -> WFRONTEND-1/T80 (WEB CLNT)"
            destination {
                port 80
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.70.11
                port 80
            }
            log disable
            protocol tcp
            type destination
        }
        rule 141 {
            description "DEST: WAN/T443 -> WFRONTEND-1/T443 (WEB CLNT)"
            destination {
                port 443
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.70.11
                port 443
            }
            log disable
            protocol tcp
            type destination
        }
        ...
    }
    ...
}

Edit: Ok, je comprends que l'IP publique est nécessaire pour que l'HAIRPIN fonctionne, et je n'utilise par hairpin.

Accessoirement, il doit être possible d'utiliser le groupe dynamique "NETv4_eth1.832" à la place de l'adresse destination (destination group X au lieu de destination address X), NETv4_eth1.832 étant mis à jour automatiquement avec l'adresse attribuée à eth1.832 ;)

Merci de ta réponse.

En appliquant les règles Firewall/NAT, j'ai le même comportement. A savoir ne fonctionne pas avec les ports 80 et 443.
Avec un nat sur un autre port cela fonctionne.

rule 2 {
            description "DEST: WAN/T443 -> WFRONTEND-1/T443 (WEB CLNT)"
            destination {
                port 9443
            }
            inbound-interface eth1.832
            inside-address {
                address 192.168.0.202
                port 443
            }
            log disable
            protocol tcp
            type destination
        }

Je dois avoir une coquille dans ma configuration initiale, je vais repartir de zero pour voir.

nicox11

  • Abonné Orange Fibre
  • *
  • Messages: 190
  • Toulouse (31)
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3789 le: 30 août 2018 à 10:13:53 »
N'aurais-tu pas laissé l'accès à ton router (interface http/https) sur ton interface externe ? Cela expliquerait tes erreurs, tes clients essayeraient de se connecter à l'interface admin plutôt que tes servers web.
Peux-tu être plus explicite sur tes erreurs. Quelles sont les erreurs exactement ? Erreur SSL, mais peux-tu tout de meme afficher le site ? Si oui est-ce bien celui de tes servers ?

sbo

  • Abonné Orange Fibre
  • *
  • Messages: 22
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3790 le: 30 août 2018 à 11:14:11 »
@zoc
Je suis repartie de zero et cela fonctionne. Je vais comparer mes fichiers de conf pour identifier la raison

@nicox11
Non la gui n'est pas publiée sur le WAN

Merci à tous.
Maintenant je vais m'attaquer au vpn :D

computman

  • Abonné Orange Fibre
  • *
  • Messages: 171
  • 77
Remplacer sa Livebox par un routeur Ubiquiti Edgemax
« Réponse #3791 le: 30 août 2018 à 11:46:42 »
En n'utilisant aucune fonction qui désactive l'accélération matérielle du routeur.
Normal, pas d'offload pour le routage/NAT si QoS ou Bonding, pas d'offload pour le chiffrement si OpenVPN (l'offload c'est uniquement pour IPSEC).

Donc que faire si l'on souhaite monter un tunnel VPN soit directement sur le routeur ERL soit sur une machine sur le LAN (serveur VPN) pour conserver l'offload ?

J'ai les même problèmes de débit quand j'utilise un tunnel VPN