Auteur Sujet: TUTO - Mode DHCP sur firmware Tomato  (Lu 13006 fois)

0 Membres et 1 Invité sur ce sujet

xavier66

  • Abonné Orange Fibre
  • *
  • Messages: 7
  • Paris 15 (75)
TUTO - Mode DHCP sur firmware Tomato
« Réponse #12 le: 09 novembre 2018 à 08:57:33 »
C'est une option a activer dans Tomato ou ça devrait etre activer de base si mon routeur le supporte ?

Dans mon investigation, je n'ai pas trouvé comment gérer la QoS DHCP via l'interface tomato. J'imagine qu'il va donc falloir faire de l'iptables à la main. Tu devrais pouvoir rajouter ces instructions dans le script init.
N'hésite pas à partager ton progrès pour que je mette à jour le tuto !

benoqkuke

  • Abonné Orange Fibre
  • *
  • Messages: 3
  • Antibes 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #13 le: 11 novembre 2018 à 22:54:44 »
En repartant des scripts de DD-WRT que j'ai un peu modifié:

Init:

user=fti/abcdefg
pass=hijklmn
maclivebox=01:23:45:67:89:AB
verlivebox=3

### Modification du client DHCP pour prise en compte des options Orange

cp -a /sbin /tmp/sbin_rw
mkdir /tmp/sbin
ln -s /bin/busybox /tmp/sbin/udhcpc
rm /tmp/sbin_rw/udhcpc

cat << \EOF > /tmp/sbin_rw/tohex
#!/bin/sh
for h in $(echo $1 | sed "s/\(.\)/\1 /g")
do
  printf "%2502x$2" \'$h
done | sed "s/$2$//"
EOF

maclivebox=$(echo $maclivebox |  tr '[a-z]' '[A-Z]')
cat << EOF > /tmp/sbin_rw/udhcpc
#!/bin/sh
if echo \$* | grep vlan832
then
  r=GPJD0Qqwe5EuiiNy
  s=3c12\$(tohex \$r)0313\$(tohex \${r:15})
  h=\$(echo -n \${r:15}$pass\$r | md5sum | cut -c1-32)
  exec /tmp/sbin/udhcpc \$* \\
  -x 0x3c:\$(tohex sagem) \\
  -x 0x3d:01${maclivebox//:/} \\
  -x 0x4d:\$(tohex +FSVDSL_livebox.Internet.softathome.Livebox$verlivebox) \\
  -x 0x5a:00000000000000000000001a0900000558010341010d\$(tohex $user)\$s\$h
fi
exec /tmp/sbin/udhcpc \$*
EOF

chmod +x /tmp/sbin_rw/tohex
chmod +x /tmp/sbin_rw/udhcpc
mount -o bind /tmp/sbin_rw /sbin

### Restart du client DHCP sur le VLAN 832 (et de dnsmasq)

service wan stop
service wan start

Attention: dans tohex on souhaite printf "%02x$2" \'$h mais l'interface semble interpreter le %02 (peut etre un bug de AdvancedTomato) et le modifie printf "^Bx$2" \'$h. Il faut donc entrer   printf "%2502x$2" \'$h pour que %25 soit interpreter en %
  r=GPJD0Qqwe5EuiiNy devrait etre aleatoire mais openssl ne semble pas avoir la fonction rand chez moi => il faut que je trouve comment le remplacer

Et firewall: 

### Version 16 20181010
### https://lafibre.info/remplacer-livebox/tuto-remplacer-la-livebox-par-un-routeur-dd-wrt-internet-tv/

### Priorite / CoS pour Internet

# File 0 (par defaut) pour le DHCP (raw-socket), file 1 pour le reste du trafic
vconfig set_egress_map vlan832 0 6
vconfig set_egress_map vlan832 1 0

### On classe le trafic Internet dans les bonnes files

# Tout le trafic priorite 1 (CoS 0)
iptables -t mangle -A POSTROUTING -j CLASSIFY --set-class 0000:0001

# Client DHCP non raw-socket (pas le cas de udhcpc) mais sert aussi pour le renew
iptables -t mangle -A POSTROUTING -o vlan832 -p udp --dport 67 -j CLASSIFY --set-class 0000:0000

J'arrive a me connecter en DHCP et j'ai mes 300MBs.

Seul 1 problème persiste:
  • Avoir un générateur aléatoire de chaine de char
« Modifié: 14 novembre 2018 à 22:46:29 par benoqkuke »

zethis

  • Abonné Orange Fibre
  • *
  • Messages: 23
  • Mandelieu 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #14 le: 07 janvier 2019 à 19:38:07 »
Salut et merci pour ce tuto,

Je suis un peu newbie dans le firmware tomato, cela fonctionne très bien en PPOE sauf le débit évidemment ...

Par contre je rencontre 2 difficulteés:
1- Comment faire pour sauvegarder le fichier /sbin/udhcp ? a chaque reboot, le binaire reviens en lieu et place du mount.
2- pour la commande qui alimente ce fameux fichier, je dois uniquement convertir mon identifiant fti/xxxx ? ou je dois coller mon mot de passe également et convertir le tout en héxa ?

Merci pour vos lumières !

zethis

  • Abonné Orange Fibre
  • *
  • Messages: 23
  • Mandelieu 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #15 le: 07 janvier 2019 à 21:33:44 »
Je continue mes recherches, ça pourra servir au prochain passages sur ce forum:
Mon Routeur (Netgear R7000) avec tomato a besoin d'une mémoire externe pour avoir de la mémoire persistante, et nécessite un lancement de script d'init pour lancer éditer un fichier de configuration.

@benoqkuke j'ai tester ton script, il fonctionne parfaitement bien, et de nouvelle questions me viennent à l'esprit:
1- Comment être sur que le script sera joué avant la connexion ?
2- Si je le lance à la main, doit-il fonctionner ?

Merci :)
« Modifié: 08 janvier 2019 à 11:18:31 par zethis »

zethis

  • Abonné Orange Fibre
  • *
  • Messages: 23
  • Mandelieu 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #16 le: 08 janvier 2019 à 20:00:18 »
En repartant des scripts de DD-WRT que j'ai un peu modifié:

Init:

user=fti/abcdefg
pass=hijklmn
maclivebox=01:23:45:67:89:AB
verlivebox=3

### Modification du client DHCP pour prise en compte des options Orange

cp -a /sbin /tmp/sbin_rw
mkdir /tmp/sbin
ln -s /bin/busybox /tmp/sbin/udhcpc
rm /tmp/sbin_rw/udhcpc

cat << \EOF > /tmp/sbin_rw/tohex
#!/bin/sh
for h in $(echo $1 | sed "s/\(.\)/\1 /g")
do
  printf "%2502x$2" \'$h
done | sed "s/$2$//"
EOF

maclivebox=$(echo $maclivebox |  tr '[a-z]' '[A-Z]')
cat << EOF > /tmp/sbin_rw/udhcpc
#!/bin/sh
if echo \$* | grep vlan832
then
  r=GPJD0Qqwe5EuiiNy
  s=3c12\$(tohex \$r)0313\$(tohex \${r:15})
  h=\$(echo -n \${r:15}$pass\$r | md5sum | cut -c1-32)
  exec /tmp/sbin/udhcpc \$* \\
  -x 0x3c:\$(tohex sagem) \\
  -x 0x3d:01${maclivebox//:/} \\
  -x 0x4d:\$(tohex +FSVDSL_livebox.Internet.softathome.Livebox$verlivebox) \\
  -x 0x5a:00000000000000000000001a0900000558010341010d\$(tohex $user)\$s\$h
fi
exec /tmp/sbin/udhcpc \$*
EOF

chmod +x /tmp/sbin_rw/tohex
chmod +x /tmp/sbin_rw/udhcpc
mount -o bind /tmp/sbin_rw /sbin

### Restart du client DHCP sur le VLAN 832 (et de dnsmasq)

service wan stop
service wan start

Attention: dans tohex on souhaite printf "%02x$2" \'$h mais l'interface semble interpreter le %02 (peut etre un bug de AdvancedTomato) et le modifie printf "^Bx$2" \'$h. Il faut donc entrer   printf "%2502x$2" \'$h pour que %25 soit interpreter en %
  r=GPJD0Qqwe5EuiiNy devrait etre aleatoire mais openssl ne semble pas avoir la fonction rand chez moi => il faut que je trouve comment le remplacer

Et firewall: 

### Version 16 20181010
### https://lafibre.info/remplacer-livebox/tuto-remplacer-la-livebox-par-un-routeur-dd-wrt-internet-tv/

### Priorite / CoS pour Internet

# File 0 (par defaut) pour le DHCP (raw-socket), file 1 pour le reste du trafic
vconfig set_egress_map vlan832 0 6
vconfig set_egress_map vlan832 1 0

### On classe le trafic Internet dans les bonnes files

# Tout le trafic priorite 1 (CoS 0)
iptables -t mangle -A POSTROUTING -j CLASSIFY --set-class 0000:0001

# Client DHCP non raw-socket (pas le cas de udhcpc) mais sert aussi pour le renew
iptables -t mangle -A POSTROUTING -o vlan832 -p udp --dport 67 -j CLASSIFY --set-class 0000:0000

J'arrive a me connecter en DHCP et j'ai mes 300MBs.

Seul 1 problème persiste:
  • Avoir un générateur aléatoire de chaine de char

En respectant ton script d'init et ton script firewall à la lettre, ca ne fonctionne pas :( ai-je loupé une étape ?
L'adresse mac de la livebox est mandatory ?
Merci pour ta réponse :)

zethis

  • Abonné Orange Fibre
  • *
  • Messages: 23
  • Mandelieu 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #17 le: 09 janvier 2019 à 00:06:31 »
J'ai finalement réussi en mixant deux parties du tuto:

N°1 dans tomato administration > script > onglet init:

cp -R /sbin/ /tmp/sbin
rm /tmp/sbin/udhcpc
echo 'exec busybox udhcpc -O 0x4d -O 0x5a -x 0x4d:2b46535644534c5f6c697665626f782e496e7465726e65742e736f66746174686f6d652e4c697665626f7833 -x 0x5a:00000000000000000000001a0900000558010341010d6674692fxxxxxxxx "$@"' > /tmp/sbin/udhcpc
chmod +x /tmp/sbin/udhcpc
mount --bind /tmp/sbin/ /sbin


Pour obtenir les 'xxx' a remplacer rendez vous ci: https://jsfiddle.net/kgersen/45zudr15/embedded/result/
renseignez votre identifiant en fti/xxxx
récupérer uniquement les chiffre après "2f" et enlever les ':' entre chaque groupe de nombres.

N°2 dans tomato administration > script > onglet firewall utilisé la partie de benoqkuke:
### Version 16 20181010
### https://lafibre.info/remplacer-livebox/tuto-remplacer-la-livebox-par-un-routeur-dd-wrt-internet-tv/

### Priorite / CoS pour Internet

# File 0 (par defaut) pour le DHCP (raw-socket), file 1 pour le reste du trafic
vconfig set_egress_map vlan832 0 6
vconfig set_egress_map vlan832 1 0

### On classe le trafic Internet dans les bonnes files

# Tout le trafic priorite 1 (CoS 0)
iptables -t mangle -A POSTROUTING -j CLASSIFY --set-class 0000:0001

# Client DHCP non raw-socket (pas le cas de udhcpc) mais sert aussi pour le renew
iptables -t mangle -A POSTROUTING -o vlan832 -p udp --dport 67 -j CLASSIFY --set-class 0000:0000


N°3 dans tomato:
Dans Basic > network choisissez DHCP
Dans Advanced > VLAN fait comme l'image en première page (vlan 1 et vlan 832)

rebooter et le tour est joué !

Merci !

johnx102

  • Abonné Orange Fibre
  • *
  • Messages: 10
TUTO - Mode DHCP sur firmware Tomato
« Réponse #18 le: 17 avril 2019 à 11:45:19 »
Bonjour a tous, je viens de tester la solution proposer a la fin de ces post par zethis..
J'ai enfin un ipv4 en dhcp sur tomato .
Par contre je soulève 3 problème,
 le port wan sur lequel je branche l'ont devient le port ethernet 4 a la fin du déroulement de ce tutoriel quand j'ai la connection. en soit c'est pas gênant mais pkoi ne clignote il plus en tant que wan mais eth 4 ?
Ensuite je n'ai pas l'air d'avoir d'IPV6, quand je lance les site de test je suis a 0
Enfin je suis désormais plafonné en debit a 500 Mbit, lors qu'avant je plafonné dans les 900 quand sur le meme routeur j'étais sous dd wrt ...
Merci pour vos piste et votre aide !!

zethis

  • Abonné Orange Fibre
  • *
  • Messages: 23
  • Mandelieu 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #19 le: 25 avril 2019 à 10:26:20 »
Salut !
Je ne vais pas pouvoir t'aider plus que ça, je suis passer chez free en fibre.
De plus j'etais chez sosh avant ça et je n'ai jamais eu plus de débit que le 300/300Mbps proposé chez sosh :(

zethis

  • Abonné Orange Fibre
  • *
  • Messages: 23
  • Mandelieu 06
TUTO - Mode DHCP sur firmware Tomato
« Réponse #20 le: 05 mars 2022 à 18:41:59 »
Hello, je déterre le sujet, ayant déménagé, je suis retourné chez Sosh, pas moyen d'obtenir une IPV4 publique avec mon ancienne configuration, quelque chose à changer coté infra orange ou coté Fresh Tomato ?

Merci :)