Auteur Sujet: Tweak performances ERL3  (Lu 4347 fois)

0 Membres et 1 Invité sur ce sujet

hanila

  • Abonné Orange Fibre
  • *
  • Messages: 35
  • Montpellier (34)
Tweak performances ERL3
« le: 14 juillet 2015 à 14:05:49 »
Bonjour,

J'ai un ERL qui remplace ma livebox (gigabit), et je n'utilise qu'internet (.835 uniquement).
Firmware: 1.6.0, ERL v1 (pas carré)
Du coup les débits internet sont assez bons, suivant quand je fais le test je suis entre 600 et 900Mbps.

Par contre j'ai quelques problèmes, j'ai l'impression que la connexion n'est pas très stable et que je perds des paquets.
Parfois, les sites mettent du temps à répondre, ou se chargent mal, quelques lags quand je joue, et des archives téléchargées corrompues



-----Fibre-----Convertisseur---------eth0--ERL3--eth1--------Switch------LAN
                                                                      |
                                                                    eth2-------AP(switch)-------WLAN



J'ai une conf très basique :

firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    options {
        mss-clamp {
            mss 1452
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    ethernet eth0 {
        description "Internet (PPPoE)"
        duplex auto
        speed auto
        vif 835 {
            address dhcp
            description FTTH
            pppoe 0 {
                default-route auto
                mtu 1492
                name-server auto
                password ******
                user-id fti/******
            }
        }
    }
ethernet eth1 {
        address 192.168.1.1/24
        description Local
        duplex auto
        speed auto
    }
    ethernet eth2 {
        address 192.168.2.1/24
        description "Local 2"
        duplex auto
        speed auto
    }
    loopback lo {
    }
}
service {
    dhcp-server {
        disabled false
        hostfile-update disable
        shared-network-name LAN1 {
            authoritative disable
            subnet 192.168.1.0/24 {
                default-router 192.168.1.1
                dns-server 8.8.8.8
                lease 86400
                start 192.168.1.10 {
                    stop 192.168.1.50
                }
            }
        }
shared-network-name LAN2 {
            authoritative enable
            subnet 192.168.2.0/24 {
                default-router 192.168.2.1
                dns-server 8.8.8.8
                lease 86400
                start 192.168.2.10 {
                    stop 192.168.2.50
                }
            }
        }
}
    dns {
        forwarding {
            cache-size 150
            listen-on eth2
            listen-on eth1
        }
    }
    gui {
        https-port 443
    }
    nat {
        rule 5010 {
            outbound-interface pppoe0
            type masquerade
        }
    }
    ssh {
        port 22
        protocol-version v2
    }
    upnp2 {
        listen-on eth1
        listen-on eth2
        nat-pmp enable
        secure-mode disable
        wan pppoe0
    }
}
system {
    config-management {
        commit-revisions 50
    }
    host-name ubnt
    login {
        user ubnt {
            authentication {
                encrypted-password ****************************
            }
            level admin
        }
    }
    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 {
        ipv4 {
            forwarding enable
            pppoe enable
            vlan disable
        }
    }
    package {
        repository squeeze {
            components "main contrib non-free"
            distribution squeeze
            password ""
            url http://http.us.debian.org/debian
            username ""
        }
        repository squeeze-security {
            components main
            distribution squeeze/updates
            password ""
            url http://security.debian.org
            username ""
        }
    }
    syslog {
        global {
            facility all {
                level notice
            }
            facility protocols {
                level debug
            }
        }
    }
    time-zone UTC
}


/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@3:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.5.0alpha1.4653508.140328.1720 */



Du coup j'ai l'impression d'être un peu comme en "mode patate" que proposait free à une époque (je sais pas si ça existe toujours)
Y aurait-il des tweaks à ajouter ? Même si je perds un peu en débit...
Aussi, est-ce normal que mon débit varie autant ? je suis entre 600 et 900, c'est assez random


Merci d'avance :D


Pistes:
Surement ajouter des règles firewall pour ne pas casser les connexions établies, et drop les invalid states ?
Drop tout ce qui entre (pas besoin de connexions depuis le WAN)
Allow all en sortie
Update en 1.7 ?

MikeTheFreeman

  • Abonné Orange Fibre
  • *
  • Messages: 243
Tweak performances ERL3
« Réponse #1 le: 15 juillet 2015 à 12:55:53 »
1) pas de "mode" sur une techno fibre. Il n'y a pas d'affaiblissement comme sur l'ADSL.
2) les règles firewall n'améliorent pas le débit, c'est même le contraire s'il y en a beaucoup.
3) tu ne peux pas dropper de manière indiscriminante tout le flux entrant (sinon... il n'y a plus de flux qui rentre). Il faut juste des règle pour dropper les flux non established et non related.
4) s'il n'y a pas de règle en out, le allow est implicite.
5) l'update vers le 1.7 est conseillé.

Petite alerte de sécurité par contre. Il n'a aucune règle firewall sur ton ERL (en local sur le routeur ou vers ton LAN).
N'importe qui peut accéder à l'interface de ton ERL de l'extérieur (ou se connecter en ssh). Si en plus tu as laissé les identifiants par défaut (ubnt ; ubnt) c'est un beau cadeau que tu fais à n'importe quel attaquant qui aura crawlé le web jusqu'à ton IP et qui aura scanné le port 443 ou 22
Et ton LAN n'est pas forcèment plus en sécurité même si tu es sûrement un peu "protégé" à cause du nat entre ton IP publique et l'IP privée de ton ERL qui empêche d'accéder directement à tes équipements depuis le web.
Mais rien n'empêche quelqu'un de venir bidouiller ton ERL et s'aménager une porte d'entrée pour accéder à n'importe lequel de tes équipements.

D'ailleurs si ton ERL est up depuis un petit moment et que tu as laissé les identifiants par défaut, il y a de forte chance que quelqu'un se soit déjà connecté et ait fait son oeuvre. Ce qui peut expliquer tes drops si du flux non souhaité passe régulièrement.
Je te conseille de réinitialiser complètement l'ERL (avec le bouton poussoir en façade) et de repasser une configuration avec des règles firewall plus strictes. En espérant qu'il n'ait pas bidouillé un truc pour que lors du reset, sa porte d'entrée soit réinstallé. Pas vraiment malin ta configuration si tu veux mon avis.

Voilà une config "par défaut" où tu trouveras des règle firewall de base pour dropper le flux non sollicité, ne pas oublier d'appliquer les règles sur l'interface WAN (PPPoE dans ton cas).
firewall {
    all-ping enable
    broadcast-ping disable
    ipv6-receive-redirects disable
    ipv6-src-route disable
    ip-src-route disable
    log-martians enable
    name WAN_IN {
        default-action drop
        description "Internet to the LAN"
        rule 1 {
            action accept
            description "allow established sessions"
            log disable
            protocol all
            state {
                established enable
                invalid disable
                new disable
                related enable
            }
        }
        rule 2 {
            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 "Internet to the router"
        rule 1 {
            action accept
            description "allow established session to the router"
            log disable
            protocol all
            state {
                established enable
                invalid disable
                new disable
                related enable
            }
        }
        rule 2 {
            action drop
            description "drop invalid state"
            log disable
            protocol all
            state {
                established disable
                invalid enable
                new disable
                related disable
            }
        }
    }
    options {
        mss-clamp {
            interface-type pppoe
            mss 1452
        }
    }
    receive-redirects disable
    send-redirects enable
    source-validation disable
    syn-cookies enable
}
interfaces {
    bridge br0 {
        aging 300
        bridged-conntrack disable
        hello-time 2
        max-age 20
        priority 32768
        promiscuous disable
        stp false
    }
    bridge br1 {
        aging 300
        bridged-conntrack disable
        hello-time 2
        max-age 20
        priority 32768
        promiscuous disable
        stp false
    }
    ethernet eth0 {
        address 192.168.1.254/24
description HOME
        duplex auto
        speed auto
    }
    ethernet eth1 {
        description INTERNET
        duplex auto
        speed auto
        vif 835 {
            address dhcp
            description FTTH
            pppoe 0 {
                default-route auto
                firewall {
                    in {
                        name WAN_IN
                    }
                    local {
                        name WAN_LOCAL
                    }
                }
                mtu 1492
                name-server auto
                password secret
                user-id fti/user
            }
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description tv
            egress-qos "0:4 1:4 2:4 3:4 4:4 5:4 6:4 7:4"
        }
        vif 840 {
            bridge-group {
                bridge br0
            }
            description tv
            egress-qos "0:5 1:5 2:5 3:5 4:5 5:5 6:5 7:5"
        }
        vif 851 {
            bridge-group {
                bridge br1
            }
            description voip
            egress-qos "0:6 1:6 2:6 3:6 4:6 5:6 6:6 7:6"
        }
    }
    ethernet eth2 {
        address 192.168.2.254/24
        description LIVEBOX
        duplex auto
        speed auto
        vif 835 {
    description FTTH
        }
        vif 838 {
            bridge-group {
                bridge br0
            }
            description tv
        }
        vif 840 {
            bridge-group {
                bridge br0
            }
            description tv
        }
        vif 851 {
            bridge-group {
                bridge br1
            }
            description voip
        }
    }
    loopback lo {
    }
}
service {
    dhcp-server {
        disabled false
        hostfile-update disable
        shared-network-name livebox.lan {
            authoritative enable
            description livebox.lan
            subnet 192.168.2.0/24 {
                default-router 192.168.2.254
                dns-server 192.168.2.254
                lease 86400
                start 192.168.2.1 {
                    stop 192.168.2.9
                }
            }
        }
        shared-network-name home.lan {
            authoritative disable
            description home.lan
            subnet 192.168.1.0/24 {
                default-router 192.168.1.254
                dns-server 192.168.1.254
                lease 86400
                start 192.168.1.1 {
                    stop 192.168.1.99
                }
            }
        }
    }
    dns {
        forwarding {
            cache-size 1000
            listen-on eth0
            listen-on eth2
        }
    }
    gui {
        https-port 443
    }
    nat {
        rule 5010 {
            outbound-interface pppoe0
            type masquerade
        }
    }
    pppoe-server {
        authentication {
            local-users {
                username fti/login {
                    password pass
                }
            }
            mode local
        }
        client-ip-pool {
            start 192.168.2.11
            stop 192.168.2.19
        }
        dns-servers {
            server-1 80.10.246.2
            server-2 80.10.246.129
        }
        interface eth2.835
        mtu 1492
    }
    ssh {
        port 22
        protocol-version v2
    }
    ubnt-discover {
        disable
    }
}
system {
    config-management {
        commit-revisions 50
    }
    host-name ubnt
    login {
        user ubnt {
            authentication {
                encrypted-password $1$zKNoUbAo$gomzUbYvgyUMcD436Wo66.
            }
            level admin
        }
    }
    name-server 208.67.222.222
    name-server 208.67.220.220
    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 {
        ipv4 {
            forwarding enable
            pppoe enable
            vlan enable
        }
    }
    package {
        repository wheezy {
            components "main contrib non-free"
            distribution wheezy
            password ""
            url http://http.us.debian.org/debian
            username ""
        }
        repository wheezy-security {
            components main
            distribution wheezy/updates
            password ""
            url http://security.debian.org
            username ""
        }
    }
    time-zone Europe/Paris
}


/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@4:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.7.0.4783374.150622.1534 */

hanila

  • Abonné Orange Fibre
  • *
  • Messages: 35
  • Montpellier (34)
Tweak performances ERL3
« Réponse #2 le: 15 juillet 2015 à 14:12:38 »
Salut,

Merci pour ta réponse :)

Citer
1) pas de "mode" sur une techno fibre. Il n'y a pas d'affaiblissement comme sur l'ADSL.
Je disais que ça me fait penser à ça, dans le sens ou j'ai parfois l'impression d'être en UDP au lieu de TCP. (Encore une fois, c'est  une illustration pour tenter d'expliquer le problème, je sais bien que ce n'est pas possible)

Citer
2) les règles firewall n'améliorent pas le débit, c'est même le contraire s'il y en a beaucoup.

Effectivement, des règles de filtrage ralentissent le débit et font travailler le système.
Cependant, les règles comme "allow established sessions" ou "drop invalid state" sont celles que je recherche.
Elles ne ralentissent que très peu, et pourraient résoudre mes problèmes.
D'ailleurs, les allow established/related (keepalive) pourraient même accélérer certaines requêtes (il me semble que cette règle permet notamment aux connexions de ne pas repasser par le filtrage si elles y sont déjà passées)


Citer
3) tu ne peux pas dropper de manière indiscriminante tout le flux entrant (sinon... il n'y a plus de flux qui rentre). Il faut juste des règle pour dropper les flux non established et non related.

A moins que je fasse erreur, une règle drop par défaut en input sur la patte WAN ne bloquerai que les tentatives de connexion depuis l'extérieur.
Les allow des réponses sont implicites sur linux (il me semble que l'ERL se base sur netfilter -iptables- pour la sécurité)

Citer
5) l'update vers le 1.7 est conseillé.

Ok, je vais la faire alors. Je posais la question parce qu'il m'a semblé lire que quelques personnes avaient eu des problèmes suite à l'upgrade.



Concernant la sécurité, je n'ai bien sur pas laissé les accès par défaut. Je vois d'ailleurs pas mal de tentatives de connexion ssh en root failed.
Vu que je n'héberge rien pour le moment, je vais donc bloquer toutes les connexions entrantes.

Ton conseil sur le reset est avisé, c'est vrai que sur le moment quand j'ai fait la conf j'ai laissé le firewall comme ça pour des raisons de facilité, il est possible (même si les identifiants ne sont pas ceux par défaut) que quelqu'un ait pu rentrer (ça m'étonnerai, mais bon).




MikeTheFreeman

  • Abonné Orange Fibre
  • *
  • Messages: 243
Tweak performances ERL3
« Réponse #3 le: 15 juillet 2015 à 15:42:17 »
1) la fibre ne change rien au protocole de transport, c'est dépendant entièrement dépendant du type d'application réseau utilisé et la fibre ne joue aucun rôle à ce niveau.

3) une règle drop ne fait qu'ignorer un type de flux de manière silencieuse. C'est l'argument sur le state qui spécifie le type de flux que l'on veut ignorer. Les tentatives de connexion initiées depuis l'extérieur correspondent au state "new".
Je te conseille d'utiliser les règles firewall (local et in) dans la config que je t'ai donnée, ils permettent de bloquer les flux non sollicités initiés de l'extérieur (new et invalid). Les deux autres type (established et related) sont nécessaires pour un bon fonctionnement sur un réseau domestique normal.
En out, pas la peine de filtrer sauf si tu sais ce que tu fais.



Si ce n'est pas une fonction que tu utilises (se connecter sur l'ERL depuis l'extérieur en ssh), tu devrais bloquer l'accès. Tu es dépendant de la moindre faille sur le service ssh et le fait que tu aies changé tes identifiants ne te protègera pas.
Sans parler des attaques en brute force sur tes identifiants (bon si tu vois des milliers de requêtes, tu commences à te douter).

Si tu as des ouvertures réseau à effectuer, tu peux le faire avec la fonction Port Fowarding plus tard.

hanila

  • Abonné Orange Fibre
  • *
  • Messages: 35
  • Montpellier (34)
Tweak performances ERL3
« Réponse #4 le: 15 juillet 2015 à 17:41:36 »
Effectivement, après quelques recherches, il est peu probable que les problèmes que je rencontre soient liés à la couche transport, et donc indépendants du firewall.

De plus, je me rend compte que j'ai dit des conneries dans mon post précédent. Les 2 règles que j'ai mentionnées ne changeront rien dans la mesure ou le firewall est actuellement ouvert....

Sinon oui, c'est évident que les règles par défaut que tu m'a données sont impératives et je vais les mettre en place dès ce soir :)
(je te rassure, c'est un oubli, je n'aurais jamais laissé ça comme ça)
Je me suis servi pendant un temps de l'accès externe mais je n'en ai plus besoin.


Du coup, je ne suis pas plus avancé... je ne vois pas vraiment d'ou les problèmes peuvent venir, et surtout quels tests effectuer pour les discerner.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 103
  • Paris (75)
Tweak performances ERL3
« Réponse #5 le: 15 juillet 2015 à 19:13:32 »
Par contre j'ai quelques problèmes, j'ai l'impression que la connexion n'est pas très stable et que je perds des paquets.
Parfois, les sites mettent du temps à répondre, ou se chargent mal, quelques lags quand je joue, et des archives téléchargées corrompues

c'es trop peu précis pour qu'on t'aide ou diagnostiquer quuoique ce soit.

"perds des paquets" ? la plus part des transferts sont en TCP donc soit ca retransmet soit ca met un message d'erreur clair au bout d'un moment.

"archives téléchargées corrompues" jamais vu ca ... sauf corruption a la source ou localement sur le disque ? a moins de télécharger en UDP (?!).

pour "les sites qui mettent du temps a répondre", ça peut être le serveur DNS mal configuré. Sinon F12 (ou equivalent) sur le navigateur pour voir ce qui cloche.