Forum Linux.debian/ubuntu Flood Multicast

Posté par  .
Étiquettes :
0
25
mar.
2005
Bonjour a tous !

Je dispose d'une Debian testing sur le réseau étudiant de mon école. Malheureusement, les étudiants de cette école sont en train de programmer des serveurs multicast et je me retrouve noyé sous leurs paquets : ma machine rame affreusement, ma bande passante diminue, etc...

Tout les paquets que je reçoit sont du type :
src 157.169.X.X dst 224.1.1.142
srcport 4000 dest 4444
type udp

Le protocole est reconnu comme ICO par ethereal ?


Alors bien sur j'ai essayé de dropper ces paquets via iptables avec, au choix, une de ces trois règles :
iptables -A INPUT -m pkttype --pkt-type multicast -j DROP
iptables -A INPUT -m iprange --dst-range 224.0.0.0-239.255.255.255 -j DROP
iptables -A INPUT -m addrtype --dst-type MULTICAST -j DROP

Mais aucune d'entre elle ne bloque les paquets ! Pris d'un doute, j'ai alors essayé le bourrin : iptables -P INPUT DROP et là, pas mieux ! Même quand j'affiche les règles, je ne vois pas la quantité de paquets droppés augmenter (i.e. je vois toujours 0 K).

J'ai un peu cherché sur le net et j'ai trouvé le flag allmulti de ifconfig, pour désactiver le multicast, mais ça me donne :
ifconfig eth0 -allmulti up
Warning: Interface eth0 still in ALLMULTI mode.

Il semblerait que la carte capture materiellement les paquets multicasts !

Je suis allé voir l'admin système de l'école (les autres machines du réseau sous RedHat non pas ce problème), et il m'a dit qu'il ne savait pas, que c'était peut être un bug de Debian ^^'''

Est ce que quelqu'un peut m'aider ? Merci d'avance T_T !
  • # on se calme

    Posté par  . Évalué à 1.

    Tu fais un append de tes regles,essaye plutot un insert pour qu' elles soient prises en compte avant toutes les autres.

    pour le bug debian, tu feras une petite léchouille à ton "radmin" pour ses bons et loyaux sévices :)
    • [^] # Re: on se calme

      Posté par  . Évalué à 1.

      Mais comme ma table est vide à l'origine (j'aurais du le preciser) , un insert est équivalent a un append ... donc je ne pense pas que ca vienne de là.
  • # essaye ca

    Posté par  . Évalué à 1.

    cette regle va pas:
    iptables -A INPUT -m iprange --dst-range 224.0.0.0-239.255.255.255 -j DROP

    dst-range c ta machine essaie plustot

    iptables -A INPUT -m iprange --src-range 157.169.0.0-157.169.255.255 -j DROP

    (syntax non garanti)
    • [^] # Re: essaye ca

      Posté par  . Évalué à 1.

      Ah mais non : si je met cette deuxième règle, je ne pourrais plus communiquer avec les autres machines du réseau.

      Le problème c'est que les paquets multicasts sont adressés à 224.1.1.142 (une adresse multicast) et que je ne sais pas pourquoi ma machine les reçoit !

      En fait je ne pense pas que je puise résoudre ce problème avec iptables, puisque même si je drop tout (avec iptables -P INPUT DROP), je continue de recevoir les paquets...

      Merci quand même !
  • # Ca ne sert à rien de filtrer ce trafic...

    Posté par  . Évalué à 4.

    Le multicast, c'est comme le broadcast: sur un réseau Ethernet, tout le monde va recevoir les trames. Ta carte réseau se prend donc tout dans la figure et c'est logique. Ca ne sert pas à grand chose de filtrer, vu que le mal est déjà fait (ton débit est déjà utilisé).

    Pour régler ton problème, c'est à l'administrateur du réseau de faire son boulot correctement et de configurer ses switches pour qu'ils ne balancent pas les trames multicast sur des ports où il n'y a aucun récepteur multicast. Chez Cisco, la fonction à implémenter s'appelle CGMP, ou alors il y a IGMP Snooping qui est normalisé. Encore faut-il avoir des équipements qui supportent ces 2 fonctions (c'est pas gagné d'avance).
    • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

      Posté par  . Évalué à 1.

      C'est effectivement pas gagné d'avance ... vu qu'il semble que je soit le seul à qui ça arrive.


      Merci de ta réponse !
      • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

        Posté par  . Évalué à 2.


        C'est effectivement pas gagné d'avance ... vu qu'il semble que je soit le seul à qui ça arrive.


        Effectivement ça parait bizarre que ça ne marche mal que pour toi. As-tu pu estimer le débit que tu reçois sur ton interface relatif au trafic multicast ?

        Peux-tu préciser ton modèle de carte réseau et la configuration de ton noyau ? (particulièrement la partie qui se trouve dans networking options ?). As-tu des infos sur les configurations RedHat qui n'ont pas le problème ?
        • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

          Posté par  . Évalué à 1.

          Débit : beaucoup ! Pour une 10zaine de seconde de capture, j'ai 9 Mo de données sous ethereal...

          Je te donnes les autres infos mardi, quand je serais au boulot.
        • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

          Posté par  . Évalué à 1.

          Sur ma machine (debian)
          ================

          Carte réseau :
          0000:01:0b.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)

          Uname -a :
          Linux 2.6.8 #2 Mon Mar 21 15:00:02 CET 2005 i686 GNU/Linux

          Config réseau :

          #
          # Networking support
          #
          CONFIG_NET=y

          #
          # Networking options
          #
          CONFIG_PACKET=m
          # CONFIG_PACKET_MMAP is not set
          # CONFIG_NETLINK_DEV is not set
          CONFIG_UNIX=y
          # CONFIG_NET_KEY is not set
          CONFIG_INET=y
          CONFIG_IP_MULTICAST=y
          # CONFIG_IP_ADVANCED_ROUTER is not set
          # CONFIG_IP_PNP is not set
          # CONFIG_NET_IPIP is not set
          # CONFIG_NET_IPGRE is not set
          # CONFIG_IP_MROUTE is not set
          # CONFIG_SYN_COOKIES is not set
          # CONFIG_INET_AH is not set
          # CONFIG_INET_ESP is not set
          # CONFIG_INET_IPCOMP is not set

          #
          # IP: Virtual Server Configuration
          #
          # CONFIG_IP_VS is not set
          CONFIG_NETFILTER=y
          # CONFIG_NETFILTER_DEBUG is not set

          #
          # IP: Netfilter Configuration
          #
          ... bon c'est long mais pas trop important

          # QoS and/or fair queueing
          #
          # CONFIG_NET_SCHED is not set
          # CONFIG_NET_CLS_ROUTE is not set

          #
          # Network testing
          #
          # CONFIG_NET_PKTGEN is not set
          # CONFIG_NETPOLL is not set
          # CONFIG_NET_POLL_CONTROLLER is not set
          # CONFIG_HAMRADIO is not set
          # CONFIG_IRDA is not set
          # CONFIG_BT is not set
          CONFIG_NETDEVICES=y
          CONFIG_DUMMY=m
          # CONFIG_BONDING is not set
          # CONFIG_EQUALIZER is not set
          # CONFIG_TUN is not set
          # CONFIG_NET_SB1000 is not set

          #
          # ARCnet devices
          #
          # CONFIG_ARCNET is not set

          #
          # Ethernet (10 or 100Mbit)
          #
          CONFIG_NET_ETHERNET=y
          CONFIG_MII=y
          # CONFIG_HAPPYMEAL is not set
          # CONFIG_SUNGEM is not set
          CONFIG_NET_VENDOR_3COM=y
          # CONFIG_EL1 is not set
          # CONFIG_EL2 is not set
          # CONFIG_ELPLUS is not set
          # CONFIG_EL3 is not set
          # CONFIG_3C515 is not set
          CONFIG_VORTEX=y
          # CONFIG_TYPHOON is not set
          # CONFIG_LANCE is not set
          # CONFIG_NET_VENDOR_SMC is not set
          # CONFIG_NET_VENDOR_RACAL is not set

          #
          # Tulip family network device support
          #
          # CONFIG_NET_TULIP is not set
          # CONFIG_DEPCA is not set
          # CONFIG_HP100 is not set
          # CONFIG_NET_ISA is not set
          CONFIG_NET_PCI=y
          # CONFIG_PCNET32 is not set
          # CONFIG_AMD8111_ETH is not set
          # CONFIG_ADAPTEC_STARFIRE is not set
          # CONFIG_APRICOT is not set
          # CONFIG_CS89x0 is not set
          # CONFIG_EEPRO100 is not set
          # CONFIG_E100 is not set
          # CONFIG_FEALNX is not set
          # CONFIG_NATSEMI is not set
          # CONFIG_NE2K_PCI is not set
          CONFIG_8139TOO=y
          CONFIG_8139TOO_PIO=y
          # CONFIG_8139TOO_TUNE_TWISTER is not set
          # CONFIG_8139TOO_8129 is not set
          # CONFIG_8139_OLD_RX_RESET is not set
          # CONFIG_SIS900 is not set
          # CONFIG_EPIC100 is not set
          # CONFIG_SUNDANCE is not set
          # CONFIG_TLAN is not set
          # CONFIG_VIA_RHINE is not set
          # CONFIG_VIA_VELOCITY is not set
          # CONFIG_NET_POCKET is not set

          #
          # Ethernet (1000 Mbit)
          #
          # CONFIG_DL2K is not set
          # CONFIG_E1000 is not set
          # CONFIG_NS83820 is not set
          # CONFIG_HAMACHI is not set
          # CONFIG_R8169 is not set
          # CONFIG_SK98LIN is not set
          # CONFIG_TIGON3 is not set

          #
          # Ethernet (10000 Mbit)
          #
          # CONFIG_IXGB is not set
          # CONFIG_S2IO is not set

          puis encore quelques trucs pas important.

          Sur un poste RH
          ===========

          Carte réseau :
          01:0c.0 Ethernet controller: Intel Corp. 82540EM Gigabit Ethernet Controller (rev 02)

          uname -a
          Linux 2.6.8-1.521 #1 Mon Aug 16 09:01:18 EDT 2004 i686 i686 i386 GNU/Linux

          Config réseau :

          #
          # Networking support
          #
          CONFIG_NET=y

          #
          # Networking options
          #
          CONFIG_PACKET=y
          CONFIG_PACKET_MMAP=y
          CONFIG_NETLINK_DEV=y
          CONFIG_UNIX=y
          CONFIG_NET_KEY=m
          CONFIG_INET=y
          CONFIG_IP_MULTICAST=y
          CONFIG_IP_ADVANCED_ROUTER=y
          CONFIG_IP_MULTIPLE_TABLES=y
          CONFIG_IP_ROUTE_FWMARK=y
          CONFIG_IP_ROUTE_NAT=y
          CONFIG_IP_ROUTE_MULTIPATH=y
          CONFIG_IP_ROUTE_TOS=y
          CONFIG_IP_ROUTE_VERBOSE=y
          # CONFIG_IP_PNP is not set
          CONFIG_NET_IPIP=m
          CONFIG_NET_IPGRE=m
          CONFIG_NET_IPGRE_BROADCAST=y
          CONFIG_IP_MROUTE=y
          CONFIG_IP_PIMSM_V1=y
          CONFIG_IP_PIMSM_V2=y
          # CONFIG_ARPD is not set
          CONFIG_SYN_COOKIES=y
          CONFIG_INET_AH=m
          CONFIG_INET_ESP=m
          CONFIG_INET_IPCOMP=m

          #
          # IP: Virtual Server Configuration
          #
          CONFIG_IP_VS=m
          # CONFIG_IP_VS_DEBUG is not set
          CONFIG_IP_VS_TAB_BITS=12

          #
          # IPVS transport protocol load balancing support
          #
          CONFIG_IP_VS_PROTO_TCP=y
          CONFIG_IP_VS_PROTO_UDP=y
          CONFIG_IP_VS_PROTO_ESP=y
          CONFIG_IP_VS_PROTO_AH=y

          #
          # IPVS scheduler
          #
          CONFIG_IP_VS_RR=m
          CONFIG_IP_VS_WRR=m
          CONFIG_IP_VS_LC=m
          CONFIG_IP_VS_WLC=m
          CONFIG_IP_VS_LBLC=m
          CONFIG_IP_VS_LBLCR=m
          CONFIG_IP_VS_DH=m
          CONFIG_IP_VS_SH=m
          CONFIG_IP_VS_SED=m
          CONFIG_IP_VS_NQ=m

          #
          # IPVS application helper
          #
          CONFIG_IP_VS_FTP=m
          CONFIG_IPV6=m
          CONFIG_IPV6_PRIVACY=y
          CONFIG_INET6_AH=m
          CONFIG_INET6_ESP=m
          CONFIG_INET6_IPCOMP=m
          CONFIG_IPV6_TUNNEL=m
          CONFIG_NETFILTER=y
          # CONFIG_NETFILTER_DEBUG is not set
          CONFIG_BRIDGE_NETFILTER=y

          #
          # IP: Netfilter Configuration
          #
          ... bon c'est long mais pas trop important

          #
          # SCTP Configuration (EXPERIMENTAL)
          #
          CONFIG_IP_SCTP=m
          # CONFIG_SCTP_DBG_MSG is not set
          # CONFIG_SCTP_DBG_OBJCNT is not set
          # CONFIG_SCTP_HMAC_NONE is not set
          # CONFIG_SCTP_HMAC_SHA1 is not set
          CONFIG_SCTP_HMAC_MD5=y
          CONFIG_ATM=m
          CONFIG_ATM_CLIP=m
          # CONFIG_ATM_CLIP_NO_ICMP is not set
          CONFIG_ATM_LANE=m
          # CONFIG_ATM_MPOA is not set
          CONFIG_ATM_BR2684=m
          # CONFIG_ATM_BR2684_IPFILTER is not set
          CONFIG_BRIDGE=m
          CONFIG_VLAN_8021Q=m
          # CONFIG_DECNET is not set
          CONFIG_LLC=m
          # CONFIG_LLC2 is not set
          CONFIG_IPX=m
          # CONFIG_IPX_INTERN is not set
          CONFIG_ATALK=m
          CONFIG_DEV_APPLETALK=y
          CONFIG_LTPC=m
          CONFIG_COPS=m
          CONFIG_COPS_DAYNA=y
          CONFIG_COPS_TANGENT=y
          CONFIG_IPDDP=m
          CONFIG_IPDDP_ENCAP=y
          CONFIG_IPDDP_DECAP=y
          # CONFIG_X25 is not set
          # CONFIG_LAPB is not set
          CONFIG_NET_DIVERT=y
          # CONFIG_ECONET is not set
          CONFIG_WAN_ROUTER=m
          # CONFIG_NET_HW_FLOWCONTROL is not set

          #
          # QoS and/or fair queueing
          #
          CONFIG_NET_SCHED=y
          CONFIG_NET_SCH_CLK_JIFFIES=y
          # CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
          # CONFIG_NET_SCH_CLK_CPU is not set
          CONFIG_NET_SCH_CBQ=m
          CONFIG_NET_SCH_HTB=m
          CONFIG_NET_SCH_HFSC=m
          CONFIG_NET_SCH_ATM=m
          CONFIG_NET_SCH_PRIO=m
          CONFIG_NET_SCH_RED=m
          CONFIG_NET_SCH_SFQ=m
          CONFIG_NET_SCH_TEQL=m
          CONFIG_NET_SCH_TBF=m
          CONFIG_NET_SCH_GRED=m
          CONFIG_NET_SCH_DSMARK=m
          CONFIG_NET_SCH_NETEM=m
          CONFIG_NET_SCH_INGRESS=m
          CONFIG_NET_QOS=y
          CONFIG_NET_ESTIMATOR=y
          CONFIG_NET_CLS=y
          CONFIG_NET_CLS_TCINDEX=m
          CONFIG_NET_CLS_ROUTE4=m
          CONFIG_NET_CLS_ROUTE=y
          CONFIG_NET_CLS_FW=m
          CONFIG_NET_CLS_U32=m
          CONFIG_CLS_U32_PERF=y
          CONFIG_NET_CLS_IND=y
          CONFIG_NET_CLS_RSVP=m
          CONFIG_NET_CLS_RSVP6=m
          # CONFIG_NET_CLS_ACT is not set
          CONFIG_NET_CLS_POLICE=y

          #
          # Network testing
          #
          # CONFIG_NET_PKTGEN is not set
          CONFIG_NETPOLL=y
          # CONFIG_NETPOLL_RX is not set
          CONFIG_NETPOLL_TRAP=y
          CONFIG_NET_POLL_CONTROLLER=y

          CONFIG_NETDEVICES=y
          CONFIG_DUMMY=m
          CONFIG_BONDING=m
          CONFIG_EQUALIZER=m
          CONFIG_TUN=m
          CONFIG_ETHERTAP=m

          #
          # ARCnet devices
          #
          # CONFIG_ARCNET is not set

          #
          # Ethernet (10 or 100Mbit)
          #
          CONFIG_NET_ETHERNET=y
          CONFIG_MII=m
          CONFIG_HAPPYMEAL=m
          CONFIG_SUNGEM=m
          CONFIG_NET_VENDOR_3COM=y
          CONFIG_EL1=m
          CONFIG_EL2=m
          CONFIG_ELPLUS=m
          CONFIG_EL16=m
          CONFIG_EL3=m
          CONFIG_3C515=m
          CONFIG_VORTEX=m
          CONFIG_TYPHOON=m
          CONFIG_LANCE=m
          CONFIG_NET_VENDOR_SMC=y
          CONFIG_WD80x3=m
          CONFIG_ULTRA=m
          CONFIG_SMC9194=m
          CONFIG_NET_VENDOR_RACAL=y
          # CONFIG_NI5010 is not set
          CONFIG_NI52=m
          CONFIG_NI65=m

          #
          # Tulip family network device support
          #
          CONFIG_NET_TULIP=y
          CONFIG_DE2104X=m
          CONFIG_TULIP=m
          # CONFIG_TULIP_MWI is not set
          CONFIG_TULIP_MMIO=y
          # CONFIG_TULIP_NAPI is not set
          CONFIG_DE4X5=m
          CONFIG_WINBOND_840=m
          CONFIG_DM9102=m
          CONFIG_PCMCIA_XIRCOM=m
          # CONFIG_PCMCIA_XIRTULIP is not set
          # CONFIG_AT1700 is not set
          CONFIG_DEPCA=m
          CONFIG_HP100=m
          # CONFIG_NET_ISA is not set
          CONFIG_NE2000=m
          CONFIG_NET_PCI=y
          CONFIG_PCNET32=m
          CONFIG_AMD8111_ETH=m
          CONFIG_AMD8111E_NAPI=y
          CONFIG_ADAPTEC_STARFIRE=m
          CONFIG_ADAPTEC_STARFIRE_NAPI=y
          CONFIG_AC3200=m
          CONFIG_APRICOT=m
          CONFIG_B44=m
          CONFIG_FORCEDETH=m
          CONFIG_CS89x0=m
          CONFIG_DGRS=m
          CONFIG_EEPRO100=m
          # CONFIG_EEPRO100_PIO is not set
          CONFIG_E100=m
          CONFIG_E100_NAPI=y
          CONFIG_FEALNX=m
          CONFIG_NATSEMI=m
          CONFIG_NE2K_PCI=m
          CONFIG_8139CP=m
          CONFIG_8139TOO=m
          CONFIG_8139TOO_PIO=y
          # CONFIG_8139TOO_TUNE_TWISTER is not set
          CONFIG_8139TOO_8129=y
          # CONFIG_8139_OLD_RX_RESET is not set
          CONFIG_SIS900=m
          CONFIG_EPIC100=m
          CONFIG_SUNDANCE=m
          # CONFIG_SUNDANCE_MMIO is not set
          CONFIG_TLAN=m
          CONFIG_VIA_RHINE=m
          CONFIG_VIA_RHINE_MMIO=y
          CONFIG_VIA_VELOCITY=m
          CONFIG_NET_POCKET=y
          CONFIG_ATP=m
          CONFIG_DE600=m
          CONFIG_DE620=m

          #
          # Ethernet (1000 Mbit)
          #
          CONFIG_ACENIC=m
          # CONFIG_ACENIC_OMIT_TIGON_I is not set
          CONFIG_DL2K=m
          CONFIG_E1000=m
          CONFIG_E1000_NAPI=y
          CONFIG_NS83820=m
          CONFIG_HAMACHI=m
          CONFIG_YELLOWFIN=m
          CONFIG_R8169=m
          CONFIG_SK98LIN=m
          CONFIG_TIGON3=m

          #
          # Ethernet (10000 Mbit)
          #
          CONFIG_IXGB=m
          CONFIG_IXGB_NAPI=y
          CONFIG_S2IO=m
          CONFIG_S2IO_NAPI=y

          + il y a encore tout ppp et atm

          Ce qui me semble être un noyau classique de distrib (tout en modules).

          Merci d'être encore là ^^
          • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

            Posté par  . Évalué à 2.

            J'avoue qu'il n'y a rien de particulier qui me choque dans la configuration des 2 noyaux... Peut-être ta carte ethernet qui supporte mal le multicast ?

            Si tu essaies la configuration d'un noyau de Redhat sur ta machine à l'identique (moins le driver ethernet qui est différent), ça donne quoi ?
            • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

              Posté par  . Évalué à 2.

              J'avoue qu'il n'y a rien de particulier qui me choque dans la configuration des 2 noyaux

              bah y'a quand même l'option
              IP_MULTICAST qui est à Y dès le début (pas lu plus loin)

              Donc en gros, le noyau déclare la machine comme récepteur de multicast, ce qui est nuisible dans ce réseau là.

              Donc je mettrais ça à N.
              • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

                Posté par  . Évalué à 3.

                Sauf que c'est activé aussi sur le noyau des machines RedHat et il n'y a pas ce problème de lenteur.

                De toute façon, même s'il supprime l'option, il se prendra le trafic quand même, vu que sur un réseau Ethernet, le multicast est comme le broadcast (sauf dans les cas où le réseau est configuré avec de l'IGMP snooping).
                • [^] # Re: Ca ne sert à rien de filtrer ce trafic...

                  Posté par  . Évalué à 1.

                  Effectivement dès que j'ai vu cette option j'ai essayé de la désactiver.
                  Malheureusement, toujours le même problème (en plus comme le dit galactikboulay, les machines RH ont cette option activée et n'ont pas le problème...)


                  En tout meci de m'avoir consacré du temps (je vous plussois pour l'occasion), mais je n'ai plus trop le temps de m'occuper de ce problème (d'ailleurs les TDs réseaux sont finis : je n'aurais plus d'ennuis avant l'année prochaine ^^)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.