Auteur Sujet: [Résolu] Renouvellement DHCP  (Lu 21143 fois)

0 Membres et 1 Invité sur ce sujet

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #48 le: 29 septembre 2020 à 19:07:30 »
 # uname -a
Linux cerber.nbux.org 5.8.8-arch1-1 #1 SMP PREEMPT Wed, 09 Sep 2020 18:59:45 +0000 x86_64 GNU/Linux

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #49 le: 29 septembre 2020 à 19:13:04 »
Je m'avoue confus.

D'un côté, tu as obtenu MARK=200:
Citer
Sep 29 14:30:02 cerber netfilter_MWANSL2 IN= OUT=wan1 MAC= SRC=192.168.3.254 DST=80.10.247.48 LEN=411 TOS=00 PREC=0x00 TTL=64 ID=13429 PROTO=UDP SPT=68 DPT=67 LEN=391 UID=0 GID=0 MARK=200

De l'autre tu devrais avoir MARK=0xquelquechose, quelle que soit la valeur utilisée :
$ grep -Irn MARK= linux-5.8.8/net/
net/ipv6/netfilter/nf_log_ipv6.c:280:   /* Max length: 16 "MARK=0xFFFFFFFF " */
net/ipv6/netfilter/nf_log_ipv6.c:282:           nf_log_buf_add(m, "MARK=0x%x ", skb->mark);
net/ipv4/netfilter/nf_log_ipv4.c:253:   /* Max length: 16 "MARK=0xFFFFFFFF " */
net/ipv4/netfilter/nf_log_ipv4.c:255:           nf_log_buf_add(m, "MARK=0x%x ", skb->mark);

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #50 le: 29 septembre 2020 à 19:18:31 »
Ne serait-ce pas un pb de priorité ou d'ordre ?

# ip rule show
0:      from all lookup local
100:    from 192.168.3.254 lookup 100 <= coupable
101:    from all fwmark 0x100 lookup 100
200:    from <mon_ip_orange2> lookup 200
201:    from all fwmark 0x200 lookup 200
300:    from 192.168.4.254 lookup 300
301:    from all fwmark 0x300 lookup 300
500:    from 192.168.251.2 lookup 500
501:    from all fwmark 0x500 lookup 500
600:    from 10.1.194.244 lookup 600
601:    from all fwmark 0x600 lookup 600
700:    from 10.2.1.242 lookup 700
701:    from all fwmark 0x700 lookup 700
900:    from 10.3.6.17 lookup 900
901:    from all fwmark 0x900 lookup 900
32766:  from all lookup main
32767:  from all lookup default

Mais sinon, OUI, c'est un problème de priorité : c'est ta règle "from 192.168.3.254 lookup 100" qui matche tout de suite vu que 192.168.3.254 est l'adresse source erronnée dont a hérité ton paquet :)

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #51 le: 29 septembre 2020 à 19:55:02 »
Ah ! Dis comme ça c’est plus clair. Du coup, je fais quoi docteur ? Parce qu’il faut que mes autres paquets passent pas la bonne interface quand même...
quand tu fais : ip rule add fwmark 0x200 lookup 200, elle est ajoutee prio 99, mais ça ne donne rien.
La règle en prio 100 semble l’emporter ...

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #52 le: 29 septembre 2020 à 19:59:08 »
Tu peux remonter ta règle "from all fwmark 0x200 lookup 200" tout en haut. fwmark avec une valeur unique (par opposition à un masque), c'est déjà un marquage très, très spécifique, ça ne matchera rien d'autre que tes paquets DHCP marqués via Netfilter.

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #53 le: 29 septembre 2020 à 20:00:50 »
quand tu fais : ip rule add fwmark 0x200 lookup 200, elle est ajoutee prio 99, mais ça ne donne rien.
La règle en prio 100 semble l’emporter ...
Ah, ça c'est problématique par contre, parce que ip rule, c'est strictement linéaire (enfin, sauf quand on invoque certains mots-clés particuliers).

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #54 le: 29 septembre 2020 à 20:01:46 »
voici mes nouvelles regles :

# ip rule show
0:      from all lookup local
99:     from all fwmark 0x200 lookup 200
100:    from 192.168.3.254 lookup 100
101:    from all fwmark 0x100 lookup 100
200:    from 82.127.187.99 lookup 200
201:    from all fwmark 0x200 lookup 200
300:    from 192.168.4.254 lookup 300
301:    from all fwmark 0x300 lookup 300
500:    from 192.168.251.2 lookup 500
501:    from all fwmark 0x500 lookup 500
600:    from 10.1.194.244 lookup 600
601:    from all fwmark 0x600 lookup 600
700:    from 10.2.1.242 lookup 700
701:    from all fwmark 0x700 lookup 700
900:    from 10.3.6.17 lookup 900
901:    from all fwmark 0x900 lookup 900
32766:  from all lookup main
32767:  from all lookup default


et ca n'a pas l'air de changer quoique ce soit

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #55 le: 29 septembre 2020 à 20:06:46 »
Tu testes comment au fait ? Tu regardes juste la sortie de dhclient ou tu logges dans mangle/output ET dans nat/postrouting ?

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #56 le: 29 septembre 2020 à 20:09:12 »
je regarde la sortie de dhclient qui retry ses requests indéfiniment
Sep 29 20:07:05 cerber.nbux.org dhclient[244426]: DHCPREQUEST for <mon_ip_orange2> on orange2 to 80.10.247.48 port 67

et les logs netfilter qui continuent a monter des MARK 200 via wan1 :
Sep 29 20:08:27 cerber netfilter_MWANSL2 IN= OUT=wan1 MAC= SRC=192.168.3.254 DST=80.10.247.48 LEN=411 TOS=00 PREC=0x00 TTL=64 ID=31407 PROTO=UDP SPT=68 DPT=67 LEN=391 UID=0 GID=0 MARK=200



xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #57 le: 29 septembre 2020 à 20:11:26 »
Justement, tes logs netfilter, ils sont générés dans quelle table ? Comme dit précédemment, je te conseille mangle/output et nat/postrouting (avec un préfixe pour les distinguer bien sûr), soit avant et après l'étape de "reroute check".

cyayon

  • Abonné Orange Fibre
  • *
  • Messages: 648
  • Cordon 74 - Orange Fibre Pro
[Résolu] Renouvellement DHCP
« Réponse #58 le: 29 septembre 2020 à 20:13:08 »
ils sont bien générés dans la chain mangle/OUTPUT
J'ai essayé mangle/POSTROUTING, pas mieux.

xavierg

  • Abonné Orange Fibre
  • *
  • Messages: 96
[Résolu] Renouvellement DHCP
« Réponse #59 le: 29 septembre 2020 à 20:18:49 »
Ok, garde les deux, et colle-moi :
  • tes règles nft pertinentes (mangle/output et nat/postrouting donc)
  • ip rule
  • ip route show table 200
  • tes logs kernel mangle/output et nat/postrouting

On doit louper un épisode, reste à trouver lequel...