Auteur Sujet: (linux) Bloquer les messages dhcp sur une interface  (Lu 6540 fois)

0 Membres et 1 Invité sur ce sujet

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 607
  • FTTH orange
(linux) Bloquer les messages dhcp sur une interface
« le: 13 mai 2013 à 22:19:02 »
Salut à tous!

heureux (ou pas) propriétaire de la nouvelle lb3, je cherche une solution pour pouvoir faire tourner deux serveur dhcp sur mon lan:
le serveur dhcp de la lb3 est obligatoire pour faire fonctionner la tv
et mon serveur dhcp à moi distribue les informations dns que j'ai paramétré ce que ne fais pas la lb3 (dns non modifiables !!!)

du coup je voudrais pouvoir bloquer les messages dhcp sur le port ethernet de mon switch ou ma lb3 est connecté
ce switch tourne sur un mini linux (ddwrt), avec iptables (entre autre) il devrait y avoir un moyen de faire ça (mais je sais pas trop comment)!

si quelqu'un à une idée!
a+
« Modifié: 13 mai 2013 à 23:10:58 par butler_fr »

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
(linux) Bloquer les messages dhcp sur une interface
« Réponse #1 le: 13 mai 2013 à 22:30:24 »
ton routeur laisse traverser les messages DHCP et tu voudrais les bloquer?

en generale, c'est une histoire de dhcp relay a désactiver (aussi appelé dhcp forwarder ou dhcp helper suivant les systemes). (dhcrelay suis linux me semble).

si j'ai bien compris la question, c'est pas clair clair comment c'est connecté entre la lb3, ton routeur et le reste du réseau.

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 607
  • FTTH orange
(linux) Bloquer les messages dhcp sur une interface
« Réponse #2 le: 13 mai 2013 à 22:44:01 »
en gros il faudrait que le serveur dhcp de la lb3 donne uniquement une ip au décodeur
la lb3 est connecté sur l'interface eth0
le déco sur eth1
et le reste du réseau sur les autres ports du switch eth2+.

il faut bloquer les messages de la lb3 sauf pour eth1.
et empêcher mon serveur dhcp (mon switch) de répondre avant la lb3

après recherches j'ai trouvé 2 3 truc avec iptables qui m'ont permis de me concocter quelque chose:
Iptables -A INPUT -p udp -i eth0 -o eth1 -dport 67:68 -s 192,168,23,1 -J ACCEPT
Iptables -A INPUT -p udp -i eth0 –dport 67:68 -s 192,168,23,1 -j DROP
Iptables -A OUTPUT -p udp -o eth1 -dport 67:68 -s ! 192,168,23,1 -j DROP

vous en pensez quoi?
« Modifié: 13 mai 2013 à 23:11:41 par butler_fr »

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
(linux) Bloquer les messages dhcp sur une interface
« Réponse #3 le: 13 mai 2013 à 22:51:28 »
Comprends toujours pas non plus :)

Tu utilises quel mécanisme entre tes interfaces ? Un bridge ? Si oui, c'est ebtables qu'il faut utiliser.

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
(linux) Bloquer les messages dhcp sur une interface
« Réponse #4 le: 13 mai 2013 à 23:00:49 »
c'est un switch L3 en fait ton routeur dans ce cas precis ? c'est le mot 'routeur' qui met la confusion la.

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 607
  • FTTH orange
(linux) Bloquer les messages dhcp sur une interface
« Réponse #5 le: 13 mai 2013 à 23:10:20 »
kgersen exact je modifie

et badmax oui c'est un bridge apparament(br0)

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 607
  • FTTH orange
(linux) Bloquer les messages dhcp sur une interface
« Réponse #6 le: 13 mai 2013 à 23:14:18 »
voici la sortie d'un ifconfig en ssh sur le switch:

ifconfig
br0       Link encap:Ethernet  HWaddr 98:FC:11:6F:43:46 
          inet addr:192.168.23.2  Bcast:192.168.23.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:35307 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33544 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3541527 (3.3 MiB)  TX bytes:16519507 (15.7 MiB)

br0:0     Link encap:Ethernet  HWaddr 98:FC:11:6F:43:46 
          inet addr:169.254.255.1  Bcast:169.254.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

eth0      Link encap:Ethernet  HWaddr 98:FC:11:6F:43:46 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36613 errors:2 dropped:0 overruns:0 frame:1
          TX packets:44446 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:5018797 (4.7 MiB)  TX bytes:18594115 (17.7 MiB)
          Interrupt:4 Base address:0x2000

eth1      Link encap:Ethernet  HWaddr 98:FC:11:6F:43:48 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:618 errors:0 dropped:0 overruns:0 frame:15615
          TX packets:5688 errors:11 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:70952 (69.2 KiB)  TX bytes:1224255 (1.1 MiB)
          Interrupt:3 Base address:0x1000

eth2      Link encap:Ethernet  HWaddr 98:FC:11:6F:43:49 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:6 Base address:0x8000

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING MULTICAST  MTU:16436  Metric:1
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3432 (3.3 KiB)  TX bytes:3432 (3.3 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet addr:172.16.35.1  P-t-P:172.16.35.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

vlan1     Link encap:Ethernet  HWaddr 98:FC:11:6F:43:46 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:32609 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38031 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3418096 (3.2 MiB)  TX bytes:17701203 (16.8 MiB)

vlan2     Link encap:Ethernet  HWaddr 98:FC:11:6F:43:46 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4004 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6415 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:941667 (919.5 KiB)  TX bytes:892912 (871.9 KiB)

les vlans il ne faut pas s'en occuper (il faut que je les dégagent)
et tun0 c'est l'interface pour le vpn

Electrocut

  • Abonné Orange Fibre
  • *
  • Messages: 512
  • Pont-Péan (35)
(linux) Bloquer les messages dhcp sur une interface
« Réponse #7 le: 13 mai 2013 à 23:17:04 »
Tu ne pourrais pas faire 2 sous-réseaux distincts ?
- 1er sous-réseau = Livebox + décodeur TV + 1 port du routeur
- 2ème sous-réseau = 2ème port du routeur + tes autres équipements

Par contre, pour que tes équipements puissent communiquer avec Internet, il te faudra soit faire du NAT au niveau du routeur :-\, soit que tu puisses configurer une route dans la Livebox ...

Edit : ça ne solutionne pas le problème, ça le contourne  :P
La solution de BadMax (ebtables) parait plus respectueuse de ton idée de départ (le bridge).

kgersen

  • Modérateur
  • Abonné Bbox fibre
  • *
  • Messages: 9 091
  • Paris (75)
(linux) Bloquer les messages dhcp sur une interface
« Réponse #8 le: 13 mai 2013 à 23:28:46 »
ebtables si supporté par ton routeur/switch devrait marcher mais tout le traffic risque d'en pâtir car ca monte dans le CPU pour traitement (alors qu'en switch pur c'est tout géré par la puce switch de ton routeur enfin en principe...).

ou faire 2 lan distincts et les bridger en filtrant le trafic dhcp entre les 2.

la encore ca dépend des possibilités que ton routeur/switch supporte et de débit que tu souhaites.

butler_fr

  • Client Bbox adsl
  • Modérateur
  • *
  • Messages: 3 607
  • FTTH orange
(linux) Bloquer les messages dhcp sur une interface
« Réponse #9 le: 13 mai 2013 à 23:56:22 »
pas cool si ça dégrade les perfs...
j'avais déjà viré le nat du routeur (pour le transformer en switch), vus que les perfs ne suivaient pas correctement sur du 100mbps

et en passant le cable ethernet du décodeur sur un port de la lb3 et avec blocage sur le switch via iptable de tous les paquets dhcp sur eth0?

thenico

  • Expert.
  • Abonné OVH
  • *
  • Messages: 1 009
  • FTTH >500 Mb/s (13)
(linux) Bloquer les messages dhcp sur une interface
« Réponse #10 le: 14 mai 2013 à 01:59:26 »
Dés que les hooks netfilter sont activé dans le code du bridging linux, les perfs morflent.
Si tu avais un vrai switch (style Cisco Catalyst 2960), tu pourrais détourner les fonctionnalités de dhcp snooping (qui sont au niveau HW) pour filtrer les trames dhcp parasites.

corrector

  • Invité
iptables/ip6tables est utilisable sur pont
« Réponse #11 le: 14 mai 2013 à 03:32:44 »
Tu utilises quel mécanisme entre tes interfaces ? Un bridge ? Si oui, c'est ebtables qu'il faut utiliser.
Pas forcèment, on peut utiliser iptables/ip6tables sur un pont, aussi.

What's bridge-netfilter?

Citer
The bridge-netfilter code enables the following functionality:
  • {Ip,Ip6,Arp}tables can filter bridged IPv4/IPv6/ARP packets, even when encapsulated in an 802.1Q VLAN or PPPoE header. This enables the functionality of a stateful transparent firewall.
  • All filtering, logging and NAT features of the 3 tools can therefore be used on bridged frames.
  • Combined with ebtables, the bridge-nf code therefore makes Linux a very powerful transparent firewall.
  • This enables, f.e., the creation of a transparent masquerading machine (i.e. all local hosts think they are directly connected to the Internet).
  • Letting {ip,ip6,arp}tables see bridged traffic can be disabled or enabled using the appropriate proc entries, located in/proc/sys/net/bridge/:
    • bridge-nf-call-arptables
    • bridge-nf-call-iptables
    • bridge-nf-call-ip6tables
    • Also, letting the aforementioned firewall tools see bridged 802.1Q VLAN and PPPoE encapsulated packets can be disabled or enabled with a proc entry in the same directory:
      • bridge-nf-filter-vlan-tagged
      • bridge-nf-filter-pppoe-tagged
    • These proc entries are just regular files. Writing '1' to the file (echo 1 > file) enables the specific functionality, while writing a '0' to the file disables it.
Certains diront : beurk.
« Modifié: 14 mai 2013 à 05:27:37 par corrector »