Pork Center

Linksys WRT54GL

De Hack-it.org.

(Important en cas de ras le cul)
(To be continued)
Ligne 84 : Ligne 84 :
Si clochard.org c'est trop paysan pour toi, t'as pas confiance, démerde toi à trouver le firmware sur le site linsksys avec leur javascript de merde qu'il faudrait les tuer à la naissance. Et courage pour le wget.
Si clochard.org c'est trop paysan pour toi, t'as pas confiance, démerde toi à trouver le firmware sur le site linsksys avec leur javascript de merde qu'il faudrait les tuer à la naissance. Et courage pour le wget.
-
==To be continued==
+
==Retour vers le début de l'install==
-
On va s'y mettre.
+
Donc, après une bonne nuit de sommeil, on reprend. On peut charger le firmware directement depuis l'interface web d'origine du routeur (192.168.1.1 admin/admin par défaut)
 +
 
 +
OpenWrt qui va bien est ici: http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/openwrt-wrt54g-2.4-squashfs.bin
 +
 
 +
Cliquez sur http://192.168.1.1/Upgrade.asp choisissez le firmware que vous venez de télécharger. Cliquez sur ok, priez pour qu'EDF coupe pas le courant. Si tout s'est bien passé y'a écrit "machin successful" si c'est pas le cas, vous pourrez toujours vous servir du routeur pour caler une porte (en fait non y'a plusieurs moyen de le debricker)
 +
 
 +
Bravo, félicitations au lieu d'avoir une interface web pour régler le routeur vous voilà avec une interface en ligne de commande, vous voilà devenu un homme.
 +
 
 +
<pre>
 +
telnet 192.168.1.1
 +
</pre>
 +
L'autre avantage par rapport à l'interface web c'est qu'il y a pas besoin de faire des copies d'écran pour vous montrer. Et ouais copier/coller et balise pre et je vous montre ce que vous devez obtenir:
 +
<pre>
 +
Trying 192.168.1.1...
 +
Connected to 192.168.1.1.
 +
Escape character is '^]'.
 +
=== IMPORTANT ============================
 +
  Use 'passwd' to set your login password
 +
  this will disable telnet and enable SSH
 +
------------------------------------------
 +
 
 +
 
 +
BusyBox v1.4.2 (2007-09-29 09:01:24 CEST) Built-in shell (ash)
 +
Enter 'help' for a list of built-in commands.
 +
 
 +
  _______                    ________        __
 +
|      |.-----.-----.-----.|  |  |  |.----.|  |_
 +
|  -  ||  _  |  -__|    ||  |  |  ||  _||  _|
 +
|_______||  __|_____|__|__||________||__|  |____|
 +
          |__| W I R E L E S S  F R E E D O M
 +
KAMIKAZE (7.09) -----------------------------------
 +
  * 10 oz Vodka      Shake well with ice and strain
 +
  * 10 oz Triple sec  mixture into 10 shot glasses.
 +
  * 10 oz lime juice  Salute!
 +
---------------------------------------------------
 +
root@OpenWrt:/# echo "alors les petites tapettes?"
 +
alors les petites tapettes?
 +
root@OpenWrt:/#
 +
</pre>
 +
 
 +
Bon la recette du cocktail j'ai pas essayé. J'ai pas non plus tapé passwd ce qui aurait bloqué telnet en faveur de ssh. Parce que les passwords moi je les oublie en général. Mais je le ferais. Plus tard.
 +
 
 +
Et c'est là où la doc officielle merdouille. Sur les anciennes versions d'OpenWrt tout se faisait en écrivant dans la nvram (nvram set etc). Maintenant y'a des fichiers de config. Alors la nvram on commence par tout effacer, comme déconseillé sur le site d'OpenWrt mais que ça marche très bien quand même.
 +
 
 +
<pre>
 +
mtd -r erase nvram
 +
</pre>
 +
 
 +
Maintenant c'est comme vous voulez, si vous préférez garder les 400 lignes de conf inutiles et susceptibles de tout faire planter de l'ancien firmware Linksys, on peut pas vous empêcher. Le routeur reboute (option -r)
 +
 
 +
Tout ce qu'on rajoutera dans la nvram pour l'instant c'est ça:
 +
 
 +
<pre>
 +
nvram set boot_wait=on
 +
nvram set boot_time=10
 +
nvram commit && reboot
 +
</pre>
 +
 
 +
Après on utilisera seulement uci (vous pouvez aussi éditer les fichiers dans /etc/conf à grands coups de vi, c'est bien aussi)
 +
[modifier]
 +
 
 +
==PPPoE==
 +
 
 +
<pre>
 +
uci set network.wan.proto=pppoe
 +
uci set network.wan.username=<pppoe_psername>
 +
uci set network.wan.password=<pppoe_password>
 +
uci commit network
 +
ifup wan
 +
</pre>
 +
 
 +
On peut pinger un site depuis le routeur voir qu'on est bien connecté à l'internet. Ça fait pro.
 +
 
 +
<pre>
 +
PING youporn.com (74.86.111.8): 56 data bytes
 +
64 bytes from 74.86.111.8: icmp_seq=0 ttl=41 time=172.5 ms
 +
64 bytes from 74.86.111.8: icmp_seq=1 ttl=41 time=183.4 ms
 +
64 bytes from 74.86.111.8: icmp_seq=2 ttl=41 time=170.2 ms
 +
</pre>
 +
 
 +
C'est bon, youpi je suis connecté.
 +
 
 +
Qu'est-ce qu'on peut faire encore, avant d'envisager des perversions comme installer directement irssi sur le routeur? Ah oui, le wifi
 +
[modifier]
 +
==Le wifi==
 +
 
 +
Alors deux possibilités :
 +
 
 +
    * On laisse le réseau ouvert parce qu'on est sympa qu'on aime bien ses voisins et qu'on partage tout, surtout les procès en piratage de copyright de films pédophiles d'Al Qaida qu'on dira qu'on avait un wifi mal protégé que la doc d'OpenWrt est super compliquée à lire d'ailleurs vous avez qu'à essayer monsieur le juge et ça doit sûrement être la voisine du dessus qui m'a hacké mon access point pas protégé. Dans ce cas, tape:
 +
 
 +
<pre>
 +
uci set wireless.wl0.disabled=0
 +
uci commit wireless && wifi
 +
</pre>
 +
 
 +
    * Si au contraire tu préfères un truc rien que pour toi qu'on vienne pas te faire chier à te voler ta bande passante et que tu réponds de tes actions devant le juge, il te faut du WPA2. Tape:
 +
 
 +
 
 +
<pre>
 +
uci set wireless.wl0.disabled=0
 +
uci set wireless.cfg2.encryption=psk2
 +
uci set wireless.cfg2.key=<password>
 +
uci commit wireless && wifi
 +
</pre>
 +
 
 +
Moi j'ai fignolé à la main après avec vi /etc/conf/wireless, parce que je voulais un nom de SSID qui déchire.
 +
 
 +
    * WEP n'est pas une option sérieuse. Si tu veux faire marrer le gosse du voisin, démerde-toi.
 +
 
 +
==Assigner une ip statique à une station==
 +
 
 +
Vérifiez que dans le fichier /etc/dnsmasq.conf vous avez bien la ligne:
 +
 
 +
<pre>
 +
#use/etc/ethersforstatichosts;sameformatas--dhcp-host
 +
#<hwaddr><ipaddr>
 +
read-ethers
 +
</pre>
 +
 
 +
Récupérez l'adresse MAC de votre interface, notez la sur un coin de papier ou collez-là dans le buffer.Créez le fichier /etc/ethers s'il n'existe pas et ajoutez les lignes <adresse MAC> <IP> selon vos besoins, par exemple:
 +
<pre>
 +
xx:xx:xx:xx:xx:xx 192.168.1.100
 +
xx:xx:xx:xx:xx:xx 192.168.1.101
 +
</pre>
 +
Pour finir: tapez
 +
<pre>
 +
/etc/init.d/dnsmasq reload
 +
</pre>
 +
 
 +
 
 +
==Forward du port 80==
 +
 
 +
Dans le fichier /etc/firewall ajoutez les lignes:
 +
<pre>
 +
iptables -t nat -A prerouting_wan -p tcp --dport 80 -j DNAT --to 192.168.1.100
 +
iptables        -A forwarding_wan -p tcp --dport 80 -d 192.168.1.100 -j ACCEPT
 +
</pre>
 +
Entrez la commande:
 +
<pre>
 +
/etc/init.d/firewall reload
 +
</pre>
 +
 
 +
 
 +
==Le script qui va bien pour updater freedns (freedns.afraid.org)==
 +
 
 +
source: http://forum.openwrt.org/viewtopic.php?id=9331
 +
<pre>
 +
#!/bin/sh
 +
#FreeDNS updater script
 +
 
 +
UPDATEURL="http://freedns.afraid.org/dynamic/update.php?JHGHgKhvJHgKKhjbkhBkjhKuhKug"
 +
DOMAIN="my.domain.org"
 +
 
 +
registered=$(nslookup $DOMAIN|tail -n2|grep A|sed s/[^0-9.]//g)
 +
 
 +
  current=$(wget -q -O - http://checkip.dyndns.org|sed s/[^0-9.]//g)
 +
      [ "$current" != "$registered" ] && {                         
 +
          wget -q -O /dev/null $UPDATEURL
 +
          echo "DNS updated on:"; date
 +
  }
 +
</pre>
 +
à foutre dans /etc/ppp/ip_up.d/
 +
 
 +
==Tutoriel iptables==
 +
 
 +
l'original: http://iptables-tutorial.frozentux.net/iptables-tutorial.html
 +
 
 +
la traduction française: http://www.linux-france.org/prj/inetdoc/guides/iptables-tutorial/ipcharacteristics.html
 +
 
 +
==Utiliser le bouton Cisco SES pour activer/desactiver le wifi==
 +
 
 +
Le bouton SES c'est le bouton avec le logo qu'on sait même pas que c'est un bouton en fait, il ressemble à ça:
 +
 
 +
Cisco.png
 +
 
 +
Ça peut être pratique, une sorte d'arrêt d'urgence. On va donc programmer sa fonction (mettre le wifi on/off) ainsi que l'allumage des leds SES, WLAN et power.
 +
 
 +
Créez le répertoire button dans /etc/hotplug.d et le fichier 01-radio-toggle dans celui-ci
 +
<pre>
 +
cd /etc/hotplug.d
 +
mkdir button
 +
vi 01-radio-toggle
 +
</pre>
 +
dans ce fichier vous copiez le script suivant:
 +
<pre>
 +
if [ "$BUTTON" = "ses" ] ; then
 +
        if [ "$ACTION" = "pressed" ] ; then
 +
                WIFI_RADIOSTATUS=$(wlc radio)
 +
                case "$WIFI_RADIOSTATUS" in
 +
                0)
 +
                        echo 2 > /proc/diag/led/power
 +
                        wlc radio 1
 +
                        wifi
 +
                        echo 1 > /proc/diag/led/ses_white
 +
                        echo 1 > /proc/diag/led/power ;;
 +
                1)
 +
                        echo 2 > /proc/diag/led/power
 +
                        wlc radio 0
 +
                        echo 0 > /proc/diag/led/ses_white
 +
                        echo 2 > /proc/diag/led/wlan
 +
                        echo 1 > /proc/diag/led/power ;;
 +
                esac
 +
        fi
 +
fi
 +
</pre>
 +
source: http://wiki.openwrt.org/OpenWrtDocs/Customizing/Software/WifiToggle voir aussi: http://wiki.openwrt.org/OpenWrtDocs/Customizing/Software/WifiToggle
 +
 
 +
 
 +
 
 +
==aircrack-ng==
 +
<pre>
 +
ipkg install wl
 +
ipkg install aircrack-ng
 +
</pre>
 +
et là c'est assez étrange, y'a une couille quelque part pour faire apparaitre l'interface prism0...
 +
<pre>
 +
wl monitor 1
 +
ifup prism0
 +
airodump-ng wl0
 +
airodump-ng prism0
 +
</pre>
 +
ifconfig montre maintenant une interface prism0 et iwconfig montre que wl0 est en mode monitor. La commande airodump-ng wl0 affiche une erreur mais semble nécessaire...
 +
 
 +
(la doc officielle dit: " wl monitor 1" puis "ifup prism0" qui retourne interface not found) voir http://wiki.openwrt.org/AircrackHowTo
 +
 
 +
==monter un système de fichier distant NFS==
 +
<pre>
 +
ipkg install kmod-fs-nfs
 +
</pre>
 +
sous linux, la box qui exportera le système de fichier:
 +
<pre>
 +
nano /etc/exports
 +
</pre>
 +
Par exemple:
 +
<pre>
 +
/srv/wrt 192.168.1.1(rw)
 +
</pre>
 +
 
 +
on rend /srv/wrt writable, chmod toussa
 +
 
 +
sur le routeur:
 +
<pre>
 +
mount -t nfs hostname:/srv/wrt /mnt/point -o rw,nolock
 +
</pre>
 +
http://wiki.openwrt.org/RemoteFileSystemHowTo
 +
 
 +
Préferer sshfs cependant.
==Bonus warez (mais fermez vos gueules)==
==Bonus warez (mais fermez vos gueules)==

Version du 2 décembre 2008 à 04:53