routeur/pare-feu retour d'expérience

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

routeur/pare-feu retour d'expérience

Frédéric Ferrère
Bonjour,

voici un petit retour d'expérience sur l'utilisation
d'OpenBSD en routeur pare-feu en haute disponibilité (CARP).


Matériel :
- 1 Serveur DELL R210
      * 2 cartes réseaux broadcom (pilote bge)
      * 2 cartes réseaux intel pro 1000 (pilote em)
- 1 serveur DELL 860
      * 2 cartes réseaux broadcom (pilote bnx)
      * 2 cartes réseaux intel pro 1000 (pilote em)
- 1 switch HP 2810


Sur le switch, 6 ports sont agrégés en mode LACP :
- 3 pour le trunk1
- 3 pour le trunk2

3 des 4 cartes réseaux du 1er serveur sont connectées sur le trunk1
et les 3 cartes du 2eme serveur sur le trunk2.

La 4eme carte de chaque serveur sert à la synchro des états PF,
entre les 2 serveurs.

Voici la config des interfaces réseau :
Serveur 1 :
- /etc/hostname.bge0 /etc/hostname.bge1 /etc/hostname.em0
up

- /etc/hostname.trunk0
up trunkproto lacp trunkport bge0 trunkport bge1 trunkport em0

-/etc/hostname.pfsync0
up syncdev em1

-/etc/hostname.vlan1
inet 172.16.0.252 255.255.255.0 NONE vlan 1 vlandev trunk0

-/etc/hostname.vlan2
inet 172.16.10.252 255.255.255.0 NONE vlan 2 vlandev trunk0

-/etc/hostname.vlan3
inet 172.16.100.252 255.255.255.0 NONE vlan 3 vlandev trunk0

-/etc/hostname.carp1
inet 172.16.0.254 255.255.255.0 NONE vhid 1 carpdev vlan1 pass xxxxx
advskew 100

-/etc/hostname.carp2
inet 172.16.10.254 255.255.255.0 NONE vhid 2 carpdev vlan2 pass xxxxx
advskew 100

-/etc/hostname.carp3
inet 172.16.100.254 255.255.255.0 NONE vhid 3 carpdev vlan3 pass xxxxx
advskew 100

Serveur 2 :
- /etc/hostname.bnx0 /etc/hostname.bnx1 /etc/hostname.em0
up

- /etc/hostname.trunk0
up trunkproto lacp trunkport bnx0 trunkport bnx1 trunkport em0

-/etc/hostname.pfsync0
up syncdev em1

-/etc/hostname.vlan1
inet 172.16.0.253 255.255.255.0 NONE vlan 1 vlandev trunk0

-/etc/hostname.vlan2
inet 172.16.10.253 255.255.255.0 NONE vlan 2 vlandev trunk0

-/etc/hostname.vlan3
inet 172.16.100.253 255.255.255.0 NONE vlan 3 vlandev trunk0

-/etc/hostname.carp1
inet 172.16.0.254 255.255.255.0 NONE vhid 1 carpdev vlan1 pass xxxxx
advskew 10

-/etc/hostname.carp2
inet 172.16.10.254 255.255.255.0 NONE vhid 2 carpdev vlan2 pass xxxxx
advskew 10

-/etc/hostname.carp3
inet 172.16.100.254 255.255.255.0 NONE vhid 3 carpdev vlan3 pass xxxxx
advskew 10


Un peu de ifstated pour activer le dhcprelay sur l'hôte carp actif.

La conf pf est déployée sur les hôtes à l'aide d'un script et via ssh.

J'ai eu quelques soucis de performances,
qui après moult essais et vérifications
se sont avérés provenir d'un élément de configuration
non pas d'OpenBSD mais du switch dans le cadre de trafic multicast.

Ce n'est pas visible dans la conf ci-dessous (toutes les IP ont été
changées),
mais j'ai aussi du NAT 1:1 (DMZ).

J'ai aussi activé pfstat pour avoir de jolis graphiques, mais avec tous
ces vlan
la configuration n'est pas des plus facile et si certains d'entre vous
ont un peu d'expérience je suis preneur pour voir si je peux améliorer
les stats.

Au final, j'ai une solution qui fonctionne vraiment bien sans broncher,
à un tarif intéressant (j'ai acheté les DVD :) ).

Voilà ce que je peux partager comme expérience.

--
Frédéric




________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: routeur/pare-feu retour d'expérience

Patrick Lamaiziere
Le Fri, 14 Oct 2011 16:10:21 +0200,
FERRERE FREDERIC <[hidden email]> a écrit :

> Bonjour,

Bonjour,

> J'ai aussi activé pfstat pour avoir de jolis graphiques, mais avec
> tous ces vlan
> la configuration n'est pas des plus facile et si certains d'entre vous
> ont un peu d'expérience je suis preneur pour voir si je peux améliorer
> les stats.

Ici on a utilisé net-snmp avec des scripts maisons pour renvoyer les
valeurs intéressantes (via les extensions de net-snmp). J'ai vu qu'il y
a des patches sur net-snmp pour avoir accès à une MIB propre à PF mais
je n'ai pas trouvé la mise en œuvre simple (et je voulais garder un
fonctionnement out-of-the-box si possible).

On monitore en SNMP (sur Cacti):
IFMIB:: pour le traffic sur les interfaces.
Charge CPU.
Le nombre d'états PF,
Le nombre de congestions (pfctl -sinfo)
L'état de CARP (0:backup 1:MASTER)
L'état des sessions BGP (0: DOWN 1:UP)
Traps snmp (vers HPOV) pour l'état des interfaces.

Avec en sus des alertes Nagios qui s'appuient sur les mêmes scripts.

On trace les flux avec pflow collectés par nfsen. Ça marche bien mais
pflow ne fait pas l'IPv6 et c'est le dernier truc qui nous manque (pas
une priorité ici). Et les sondes netflow userland qu'on a essayé sont
bien trop gourmandes en perfs.

Voilà, vous avez quel traffic si ce n'est pas indiscret ?

Cordialement.

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: routeur/pare-feu retour d'expérience

Gabriel Linder
In reply to this post by Frédéric Ferrère
On 10/14/11 16:10, FERRERE FREDERIC wrote:
> Bonjour,
>
> voici un petit retour d'expérience sur l'utilisation
> d'OpenBSD en routeur pare-feu en haute disponibilité (CARP).

Sympa, j'ai des conf similaires qui trainent :)

> J'ai aussi activé pfstat pour avoir de jolis graphiques, mais avec
> tous ces vlan
> la configuration n'est pas des plus facile et si certains d'entre vous
> ont un peu d'expérience je suis preneur pour voir si je peux améliorer
> les stats.

Tout dépend de ce que tu veux grapher, j'utilise munin pour ma part et
ça marche très bien. J'ai juste du scripter un plugin pour grapher les
mbufs, rien de bien sorcier mais si ça en intéresse ici je peux le filer.

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: routeur/pare-feu retour d'expérience

Laurent Cheylus
In reply to this post by Patrick Lamaiziere
Bonjour,

On Fri, Oct 14, 2011 at 05:10:31PM +0200, Patrick Lamaiziere wrote:
> Ici on a utilisé net-snmp avec des scripts maisons pour renvoyer les
> valeurs intéressantes (via les extensions de net-snmp). J'ai vu qu'il y
> a des patches sur net-snmp pour avoir accès à une MIB propre à PF mais
> je n'ai pas trouvé la mise en œuvre simple (et je voulais garder un
> fonctionnement out-of-the-box si possible).

Perso, j'ai patché net-snmp avec les extensions spécifiques PF dispo ici
http://www.packetmischief.ca/openbsd-snmp-mibs/ , sur mon firewall perso
@home (basé sur une Soekris 4801). Ca demande quelques contorsions avec
le package net-snmp en fonction des versions mais rien de bien
compliqué.

Au final, je graphe via Cacti/SNMP bande-passante, nombre d'états PF, nb
paquets/s passed/blocked et aussi le nombre d'entrée de ma table de
block "bruteforce ssh". Petite conf de monitoring SNMP/OpenBSD très
satisfaisante et dispo sur demande.

A++ Laurent

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: routeur/pare-feu retour d'expérience

Patrick Lamaiziere
In reply to this post by Gabriel Linder
Le Fri, 14 Oct 2011 17:17:53 +0200,
Gabriel Linder <[hidden email]> a écrit :

'soir,

> Tout dépend de ce que tu veux grapher, j'utilise munin pour ma part
> et ça marche très bien. J'ai juste du scripter un plugin pour grapher
> les mbufs, rien de bien sorcier mais si ça en intéresse ici je peux
> le filer.

Quel est l'intérêt de monitorer les mbufs ? D'après mes stats ça reste
assez bas et constant malgré le traffic. Le seul intérêt que je vois
c'est en cas de pb sur un driver avec des leaks de mbufs. Mais avec un
traffic soutenu j'ai peur que la machine explose bien avant de faire le
monitoring.

Ce serait intéressant de faire un point sur les choses importantes à
suivre (qu'importe la manière de le faire, on y arrive toujours).

Cordialement.

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: routeur/pare-feu retour d'expérience

Gabriel Linder
On 10/16/11 00:48, Patrick Lamaiziere wrote:
> Quel est l'intérêt de monitorer les mbufs ? D'après mes stats ça reste
> assez bas et constant malgré le traffic. Le seul intérêt que je vois
> c'est en cas de pb sur un driver avec des leaks de mbufs. Mais avec un
> traffic soutenu j'ai peur que la machine explose bien avant de faire
> le monitoring.

C'est exact dans des conditions normales, mais pendant un DoS il est
tout à fait possible d'exploser la limite de mbufs disponibles par
défaut. Le graphe permet d'avoir une idée de ce qui s'est passé (ou
plutôt de confirmer l'idée que tu te fais de la cause), et d'agir en
conséquence.

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php

Reply | Threaded
Open this post in threaded view
|

Re: routeur/pare-feu retour d'expérience

Frédéric Ferrère
In reply to this post by Patrick Lamaiziere
Le 14/10/11 17:10, Patrick Lamaiziere a écrit :
> Voilà, vous avez quel traffic si ce n'est pas indiscret ?

Bonjour,

En journée entre 24 Mb/s et 120 Mb/s si j'en crois mes courbes pfstsat.

Un petit test iperf entre 2 machines branchées sur le même switch
mais sur des vlan différents et donc le trafic passe par
le routeur/pare-feu OpenBSD me donne un débit de 916 Mb/s.

J'ai  néanmoins quelques paquets perdus.

Cordialement,
--
Frédéric

________________________________
French OpenBSD mailing list
[hidden email]
http://www.openbsd-france.org/communaute.php