Notre blog en mousse \o/ - Geekerie2024-03-01T10:31:54+01:00Les Lamas !urn:md5:16d806c26b4faf0eabfff608393c3d26DotclearConfiguration d'un EdgeRouter 4 pour fibre optique Bouyguesurn:md5:804d56862eb8d64f64c3ebdf0270986e2023-01-07T22:55:00+01:002023-01-07T22:58:44+01:00RulianeGeekeriebouyguesipv6nat<p>Voici ma configuration de routeur Ubiquiti Edgerouter-4 en fibre optique chez Bouygues. Ceci ne configure que internet, pas la télévision ni le téléphone.</p> <p>On commence par donner une IP au routeur, sur le LAN :</p>
<pre>
interfaces {
ethernet eth1 {
address 192.168.1.254/24
}
}
</pre>
<p>Pour le WAN, maintenant. Bouygues fait passer le trafic sur le VLAN 100, on configure donc une sous-interface sur ce VLAN. On peut récupérer une adresse IP en DHCP :</p>
<pre>
interfaces {
ethernet eth2 {
description "WAN Bouygues (eth2)"
vif 100 {
address dhcp
description "VLAN internet Bouygues (eth2.100)"
}
}
}
</pre>
<p>On ajoute ensuite le NAT :</p>
<pre>
service {
nat {
rule 5010 {
description "masquerade for WAN"
outbound-interface eth2.100
type masquerade
}
}
}
</pre>
<p>Ensuite, ça se complique un peu. On veut aussi de l'IPv6. Et ça tombe bien, Bouygues le fournit nativement. La récupération des adresses utilise un mécanisme nommé "Prefix Delegation". La seule chose à savoir ici est qu'on demande un préfixe de longueur /60. Et c'est parti :</p>
<pre>
interfaces {
ethernet eth2 {
vif 100 {
dhcpv6-pd {
pd 1 {
interface eth1 {
prefix-id :0
service slaac
}
prefix-length 60
}
prefix-only
rapid-commit enable
}
}
}
}
</pre>
<p>Désormais, le routeur demande un préfixe sur eth2 et le redistribue sur eth1.</p>
<p>Enfin, n'oublions pas une petite règle pour bloquer le trafic entrant en IPv6 :</p>
<pre>
interfaces {
ethernet eth2 {
vif 100 {
firewall {
in {
ipv6-name WANv6_IN
}
}
}
}
}
firewall {
ipv6-name WANv6_IN {
default-action reject
description "WAN inbound traffic forwarded to LAN"
rule 10 {
action accept
description "Allow established/related sessions"
state {
established enable
related enable
}
}
}
}
</pre>Configuration d'un EdgeRouter 4 pour fibre optique Freeurn:md5:41a7546555c5fe9cc3b90016f1695a8a2020-10-07T05:49:00+02:002021-01-26T22:26:46+01:00RulianeGeekerie<p>Voici ma configuration de routeur Ubiquiti Edgerouter-4 en fibre optique chez Free, avec IPv4 full stack et IPv6. Ceci ne configure que internet, pas la télévision ni le téléphone.</p> <p>Fonctionnement de base, IPv4 :<br />
<br />
D'abord, on configure l'interface interne du routeur, c'est-à-dire côté LAN. Dans mon cas j'ai choisi eth1.</p>
<pre>
interfaces {
ethernet eth1 {
address 192.168.1.254/24
}
}
</pre>
<p><br />
Côté WAN maintenant :<br />
Chez Free, internet passe sur le VLAN 836. Le VLAN 835 est réservé aux services, notamment la télévision. Il faut donc configurer ce VLAN, sous forme d'une sous-interface (de eth3 dans mon cas). Côté adressage IPv4, Free fait tout simplement du DHCP. On a donc la configuration suivante :<br /></p>
<pre>
interfaces {
ethernet eth3 {
description eth3-sfp
vif 836 {
address dhcp
description internet
}
}
}
</pre>
<p><br />
Une petite chose importante à ajouter : le NAT. On pense à le faire sur la sous-interface, et non sur eth3.<br /></p>
<pre>
service {
nat {
rule 5010 {
description "masquerade for WAN"
outbound-interface eth3.836
type masquerade
}
}
}
</pre>
<p><br />
Le temps d'appliquer la configuration et le WAN récupère une IPv4, on a accès à internet. On a des étoiles dans les yeux, mais ce n'est pas fini !<br />
La partie plus difficile concerne IPv6.<br />
Dans mon cas, IPv6 est transporté sur IPv4 au moyen d'un tunnel 6rd. Ce mécanisme est géré nativement par l'OS, mais il se trouve que son implémentation est boguée. Il sera donc impossible de joindre *en IPv6* les adresses de votre sous-réseau IPv4. Oubliez donc le peer-to-peer avec votre voisin en IPv6.<br />
<br />
Quelques petites choses à savoir :<br /></p>
<ul>
<li>À ma connaissance, le préfixe 6rd est le même chez tous les abonnés Free : 2a01:e30::/28</li>
<li>La gateway 6rd chez Free est à l'adresse 192.88.99.101</li>
<li>Il faut connaître votre IPv4 et votre préfixe IPv6 (en principe un /64), disponibles sur votre compte Freebox.</li>
</ul>
<p><br />
Je crée donc une interface tun0 avec tous ces paramètres. Je lui affecte la première IPv6 disponible, avec un masque de /128.<br /></p>
<pre>
interfaces {
tunnel tun0 {
6rd-prefix 2a01:e30::/28
6rd-default-gw ::192.88.99.101
address <Préfixe IPv6>::1/128
description "IPv6 6rd tunnel"
encapsulation sit
local-ip <IPv4>
mtu 1480
multicast disable
ttl 64
}
}
</pre>
<p><br />
Facile, non ?<br />
Il faut ensuite configurer l'interface LAN. Je lui affecte l'adresse IPv6 avec le bon masque cette fois-ci. Puis, important, il faut activer le router advertisment pour prévenir les machines du LAN qu'IPv6 est désormais disponible !<br /></p>
<pre>
interfaces {
ethernet eth1 {
address <Préfixe IPv6>::1/60
ipv6 {
dup-addr-detect-transmits 1
router-advert {
cur-hop-limit 64
link-mtu 1480
managed-flag false
max-interval 600
name-server 2001:910:800::12
name-server 2001:910:800::40
other-config-flag false
prefix <Préfixe IPv6>::/64 {
autonomous-flag true
on-link-flag true
valid-lifetime 2592000
}
reachable-time 0
retrans-timer 0
send-advert true
}
}
}
}
</pre>
<p><br />
Pas besoin de NAT en IPv6, mais <strong>il est fortement recommandé de bloquer le trafic entrant</strong> !<br /></p>
<pre>
interfaces {
tunnel tun0 {
firewall {
in {
ipv6-name WANv6_IN
}
}
}
}
firewall {
ipv6-name WANv6_IN {
default-action drop
description "WAN inbound traffic forwarded to LAN"
rule 10 {
action accept
description "Allow established/related sessions"
state {
established enable
related enable
}
}
}
}
</pre>Échec de l'installation de Mint 17 depuis un live-PXEurn:md5:5af325fc61ccd1c1e7cff22050a2ed262015-05-18T14:32:00+02:002017-02-09T14:14:31+01:00RulianeGeekeriebootdisklessinstallationinstallerlinuxlivemintpxe <p>Suite à <a href="http://www.leslamas.net/index.php?post/2012/08/02/Linux-Mint-Live-en-PXE-par-NFS" hreflang="fr" title="Linux Mint Live en PXE par NFS">ce billet</a>, je me suis rendu compte que l'installateur plante s'il est lancé depuis un "live-PXE".<br />
À l'origine du problème, la procédure de fabrication du fichier de configuration d'APT (gestionnaire de paquets), qui n'est pas adaptée à un "live-PXE". Néanmions, voici comment le contourner.<br />
<br /></p>
<h3>Solution 1 : one-shot</h3>
<p>Une fois Mint démarré, éditer /usr/lib/ubiquity/apt-setup/apt-setup et trouver la ligne suivante :<br /></p>
<pre>
mv $ROOT/etc/apt/sources.list.new $ROOT/etc/apt/sources.list
</pre>
<p>La remplacer par ceci :</p>
<pre>
if [ -f $ROOT/etc/apt/sources.list.new ]; then
mv $ROOT/etc/apt/sources.list.new $ROOT/etc/apt/sources.list
fi
</pre>
<p>Attention : cette modification n'est pas enregistrée. Elle doit donc être faite à chaque redémarrage.<br />
<br /></p>
<h3>Solution 2 : correction permanente</h3>
<p>Cette solution consiste à appliquer le patch ci-avant à l'image SquashFS. Pour ceci, installer les outils squashfs :<br /></p>
<blockquote><p>apt-get install squashfs-tools</p></blockquote>
<p>Décompresser le squashfs de Mint :</p>
<blockquote><p>unsquashfs casper/filesystem.squashfs</p></blockquote>
<p>Appliquer le patch indiqué précédemment.<br />
Recompresser le squashfs :<br /></p>
<blockquote><p>mksquashfs squashfs-root/ filesystem.squashfs -noappend -always-use-fragments</p></blockquote>
<p><br />
3... 2... 1... bootez !</p>Rsync (avec transport SSH) sur un autre port que le 22urn:md5:5bd3b0ffe7a19339b79420a4efdf8c0e2014-02-10T22:12:00+01:002014-03-20T10:39:09+01:00RulianeGeekerielinuxshellSSH <p>rsync -e 'ssh -p 42'<br />
(Sinon j'oublie !)</p>Remplacer la Freebox par un modem Alcatel Speed Touch Homeurn:md5:382922b20e8777af4040900ad3a8b4212013-01-21T12:22:00+01:002013-01-21T12:24:51+01:00RulianeGeekerieadslalcatelfreefreeboxipoamodemnatpasserellerouteurréseauspeed touchsth <p>Comme avec le <a href="http://www.leslamas.net/index.php?post/2012/04/11/Remplacer-la-Freebox-par-un-routeur-Cisco-SOHO-97" hreflang="fr" title="Remplacer la Freebox par un routeur Cisco SOHO 97">SOHO97</a>, le but ici est de configurer un modem Alcatel Speed Touch Home (STH dans la suite) pour se connecter à une ligne dégroupée chez Free. Notons qu'il est nécessaire d'avoir passé le STH en Speed Touch Pro.<br />
<br />
Avant de commencer, il faut savoir que Free utilise de l'IPoA, c'est-à-dire où IP est encapsulé directement dans ATM. L'encapsulation utilisée est VC-MUX. Or, même si le STH support l'IPoA et le VC-MUX, il ne permet pas d'utiliser les deux à la fois. Heureusement, il existe une version patchée du firmware qui remédie à ce problème. Originalement posté sur Forpage, il est devenu difficile à trouver et il figure en pièce jointe de ce billet.<br />
Attention, deux remarques concernant ce firmware :<br />
- il s'adresse à la version K du STH, pas la version G ;<br />
- <strong>il fait disparaître le mode "EXPERT"</strong> du STH. Je recommande donc de conserver en passif une version qui autorise ce mode.<br />
<br />
La première étape consiste donc à envoyer le nouveau firmware. La manière la plus simple est de passer par l'interface web du modem (http://10.0.0.138/) ; si cela échoue, il reste la méthode du telnet/FTP.<br />
<br />
Ensuite, il faut configurer le VP/VC : sur la page "phonebook", supprimer le VP/VC 8/36 et le recréer de type "CIP".<br />
Puis, sur la page CIP, ajouter une interface avec l'adresse IP publique et un masque de 255.255.255.0. Ajouter une connexion CIP utilisant le canal (8/36) créé précédemment, avec comme destination l'adresse IP de la passerelle Free, généralement la dernière adresse du sous-réseau (x.x.x.254)<br />
Il convient ensuite d'ajouter la route suivante :<br />
Destination : 0.0.0.0/0<br />
Source : any<br />
Passerelle : <adresse_IP_passerelle><br />
Le NAT doit être configuré depuis telnet :</p>
<pre>
nat enable addr=<adresse_ip_publique> type=pat
</pre>
<p><br />
D'ailleurs, toute la configuration décrite précédemment est réalisable par telnet :</p>
<pre>
phonebook delete name=Br2
phonebook add name=cip1 addr=8*36 type=cip
cip ifadd addr=<addresse_IP_publique> netmask=255.255.255.0
cip pvcadd dest=8*36 destaddr=<adresse_IP_passerelle>
ip rtadd dst=0.0.0.0 gateway=<adresse_IP_passerelle>
</pre>dns2tcpurn:md5:02fc0584e4e1e8eb1ba7bc535e15ea4a2012-08-28T16:27:00+02:002012-08-28T15:38:13+02:00chauchreGeekerie <p>Petit tutoriel rapide pour installer et configurer un environnement dns2tcp.
Juste rapidement, le but de cet environnement est d'utiliser les requêtes DNS pour établir une connexion TCP entre un client et un serveur (très pratique quand seul le DNS est autorisé ... ).</p>
<p>/!\ Ce tuto par d'un VKS tout fraichement installé, mais peut être adapté à tout type d'environnement. /!\</p>
<p>-- Parenthèse</p>
<p>Je passe la configuration du système lui-même mais en profite pour rappeler
que pouvoir se connecter en root sur un serveur, c'est pas top, et que laisser
des clés SSH d'OVH, ben c'est pas top non plus :</p>
<pre>
bash ~# cat /etc/ssh/sshd_config
[...]
PermitRootLogin no
bash ~# rm ~/.ssh/authorized_keys2
</pre>
<p>-- Fin parenthèse</p>
<p>-- Pré-requis</p>
<p><< un serveur accessible sur Internet (évidemment)</p>
<p><< un nom de domaine (pour l'exemple : poney.net)</p>
<p><< le port 53 disponible sur le serveur (si bind est installé par défaut, il faudra arréter le service ou le désinstaller, et certainement modifier la configuration dans /etc/resolv.conf)</p>
<p>-- Fin pré-requis</p>
<p>1) Déjà, un petit update du système ne fait pas de mal</p>
<pre>
bash ~# aptitude update && aptitude dist-upgrade
[...]
</pre>
<p>2) Récupérer et compiler dns2tcp</p>
<pre>
bash ~# aptitude install build-essential
bash ~$ wget http://hsc.fr/ressources/outils/dns2tcp/download/dns2tcp-0.5.2.tar.gz
bash ~$ tar xzf dns2tcp-0.5.2.tar.gz && rm dns2tcp-0.5.2.tar.gz
bash ~$ cd dns2tcp-0.5.2
bash ~$ ./configure && make
bash ~# make install
</pre>
<p>3) Configuration du DNS</p>
<p><< Nouvelle entrée pour poney.net.</p>
<pre>
dnstcp NS dnstcp.poney.net.
dnstcp A @IP_Serveur
</pre>
<p><<</p>
<p>4) Confiugration et lancement du service</p>
<p>Plusieurs mode de fonctionnement sont configurables avec dns2tcp, nous allons
voir comment configurer un tunnel SSH (pour plus d'informations :
http://hsc.fr/ressources/outils/dns2tcp/download/README).</p>
<pre>
bash ~# mkdir /var/dns2tcp
bash ~# cat /etc/dns2tcp.conf
# listen = 0.0.0.0
port = 53
user = nobody
domain = dnstcp.poney.net
chroot = /var/dns2tcp
key = macleavecpleindecaracteresquiveulentriendiredjizeojzeoi23E3EZDKJoczhir
ressources = ssh:127.0.0.1:22
bash ~# /usr/local/bin/dns2tcpd -f /etc/dns2tcp.conf -d 1
</pre>
<p>-- Script à appeler depuis un cron pour vérifier que le service tourne bien</p>
<pre>
bash ~# cat test_services.sh
if [ `pidof dns2tcpd` ]
then
echo "[+] dns2tcp OK"
else
echo "[-] dns2tcp KO"
echo "[-] * kill processus (just to be sure)"
killall dns2tcpd
echo "[-] * laucnh daemon"
/usr/local/bin/dns2tcpd -f /etc/dns2tcp.conf -d 1
echo "[+] dns2tcp OK"
fi
bash ~# crontab -l
*/1 * * * * /bin/bash /root/test_services.sh &> /dev/null
</pre>
<p>-- Fin script</p>
<p>5) Configuration du client</p>
<p><< Même étape que la 2) pour la compilation</p>
<pre>
bash ~$ dns2tcpc -z dnstcp.poney.net -r ssh -k macleavecpleindecaracteresquiveulentriendiredjizeojzeoi23E3EZDKJoczhir -l 4443 &
bash ~$ ssh -D 1234 -p 4443 user@localhost
</pre>
<p>L'option -D 1234 permet de créer un proxy SOCKS4/5 en local sur le port 1234, qui utilisera automatiquement la connexion SSH comme tunnel.</p>Cntlm Authentication Proxyurn:md5:b5d6876d554699cf6f5716e23b385fa42012-08-20T17:39:00+02:002012-08-23T19:45:36+02:00Moh@GeekerieproxyputtySSH <p><a href="http://cntlm.sourceforge.net/">Cntlm</a> est un utilitaire permettant de s'authentifier auprès d'un proxy.</p>
<p>Une fois l'utilitaire installé (téléchargeable <a href="http://sourceforge.net/projects/cntlm/files/">ici</a>), il faut modifier le finir <strong>cntlm.ini</strong> :</p>
<pre>
Username identifiant_AD
Domain nom_domaine
Auth mode_auth
PassNTLMv2 hash_trouvé
Proxy ip_proxy:port_proxy
Listen 3128
SOCKS5Proxy 8010
</pre>
<p>Il est possible de remplir le fichier <strong>cntlm.ini</strong> avec votre mot de passe de domaine en clair, mais il est préférable de le laisser vide et d'utiliser <strong>cntlm</strong> pour récupérer la méthode d'authentification de votre AD ainsi que le hash de votre mot de passe.
Il suffit d’exécuter la commande suivante dans le dossier de <strong>cntlm</strong></p>
<pre>
cntlm -I -M http://test.com
Config profile 1/11... OK (HTTP code: 200)
Config profile 2/11... OK (HTTP code: 200)
Config profile 3/11... OK (HTTP code: 200)
Config profile 4/11... OK (HTTP code: 200)
Config profile 5/11... OK (HTTP code: 200)
Config profile 6/11... Credentials rejected
Config profile 7/11... Credentials rejected
Config profile 8/11... OK (HTTP code: 200)
Config profile 9/11... OK (HTTP code: 200)
Config profile 10/11... OK (HTTP code: 200)
Config profile 11/11... OK (HTTP code: 200)
----------------------------[ Profile 0 ]------
Auth NTLMv2
PassNTLMv2 4AC6525378DF8C69CF6B6234532943AC
------------------------------------------------
</pre>
<p>Il suffit alors de rajouter les 2 lignes dans le fichier <strong>cntlm.ini</strong>.</p>
<p>On peut ensuite configurer <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">Putty</a> pour utiliser <strong>cntlm</strong> :<br />
Dans l'onglet <strong>Connexion/proxy</strong> :<br />
proxy type : <strong>SOCKS 5</strong><br />
proxy hostname : <strong>127.0.0.1</strong><br />
port : <strong>8010</strong><br /></p>Linux Mint Live en PXE par NFSurn:md5:d949a4a9011100bce40c585f91170f442012-08-02T12:33:00+02:002012-11-21T21:24:04+01:00RulianeGeekeriebootdisklesslinuxlivenfspxe <p>Il est possible, très simplement, de démarrer la distribution Linux Mint depuis un serveur PXE. Cette façon de faire peut être adaptée à d'autres distributions, elle est d'ailleurs inspirée de celle d'Ubuntu (d'où est tirée Mint).<br /></p>
<ul>
<li>Télécharger l'ISO : <a href="http://www.linuxmint.com/download.php" hreflang="en">http://www.linuxmint.com/download.php</a><br /></li>
<li>Monter l'image et copier le répertoire <em>casper</em> à un endroit accessible en TFTP :</li>
</ul>
<pre>
mount -o loop linuxmint-13-mate-dvd-64bit.iso /media/imagecd
mkdir /tftpboot/mint
cp -r /media/imagecd/casper /tftpboot/mint/
umount /media/imagecd
</pre>
<ul>
<li>Rendre ce répertoire accessible en NFS. Pour cela, installer le serveur NFS et ajouter une ligne d'export au fichier /etc/exports :</li>
</ul>
<pre>
apt-get install nfs-kernel-server
echo '/tftpboot/mint *(ro,no_root_squash,no_subtree_check,async)' >> /etc/exports
/etc/init.d/nfs-kernel-server restart
</pre>
<ul>
<li>Ajouter une entrée dans le fichier <racine TFTP>/pxelinux.cfg/default. Pour ma part j'ai aussi passé l'OS en français :</li>
</ul>
<pre>
LABEL mint
MENU LABEL Mint Live (NFS)
KERNEL mint/casper/vmlinuz
APPEND initrd=mint/casper/initrd.lz boot=casper netboot=nfs nfsroot=192.168.1.1:/tftpboot/mint locale=fr_FR keymap=fr console-setup/layoutcode=fr
</pre>
<p><br />
<br />
Mise à jour (21/11/2012) : le réseau fonctionne sous Linux Mint 13, mais plus sous Mint 14. Il faut alors redemander une IP :</p>
<pre>
sudo dhclient eth0
</pre>Remplacer la Freebox par un routeur Cisco SOHO 97urn:md5:1ee1845863f346f0f6a967e61dd565172012-04-13T14:54:00+02:002012-05-25T07:43:11+02:00RulianeGeekerieadslciscofreefreeboxipoamodemnatrouteursoho97 <p>Voici une configuration possible du Cisco SOHO97 pour se connecter sur une ligne ADSL Free en dégroupage total (donc en IPoA). On y voit la configuration de l'encapsulation des VP/VC 8/36, l'adressage fixe (le DHCP ne fonctionne qu'avec certaines versions d'IOS) et le NAT. On peut aussi ajouter des redirectiosn de ports.<br />
<br />
Attention toutefois, le SOHO97 ne fait pas d'ADSL2+, seulement de l'ADSL. Sur une ligne de piètre qualité (2,5 km), je perds environ 26 % de débit en download, 14 % en upload et 20 ms de ping, ce qui est énorme.<br />
<br /></p>
<pre>
interface Ethernet0
ip address 192.168.1.254 255.255.255.0
ip nat inside
hold-queue 100 out
!
interface ATM0
no ip address
no atm ilmi-keepalive
no atm address-registration
no atm ilmi-enable
dsl operating-mode auto
!
interface ATM0.1 point-to-point
ip address <adresse_ip_publique> 255.255.255.0
ip nat outside
pvc 8/36
encapsulation aal5mux ip
!
!
ip nat inside source list 1 interface ATM0.1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 ATM0.1
ip http server
no ip http secure-server
!
access-list 1 permit 192.168.1.0 0.0.0.255
</pre>
<p>Débit montant : 107,6 ko/s avec la Freebox ; 92,7 ko/s avec le SOHO97. (envoi en FTP de 32768.rnd vers un FTP Free)<br />
Débit descendant : 380 ko/s avec la Freebox ; 281 ko/s avec le SOHO97. (<em>wget http://test-debit.free.fr/32768.rnd</em>)<br />
Ping : 20,4 ms avec la Freebox, 39,6 ms avec le SOHO97. (<em>ping -f <ip_passerelle></em> pendant une minute)</p>Ouvrir une session sous Windows 7 sans mot de passeurn:md5:abe11109f16ea8e08121b81c21d06b8a2012-01-20T16:22:00+01:002012-07-11T18:06:30+02:00RulianeGeekeriesécuritéwindows <p>Le saviez-vous ? Il est possible de créer un compte administrateur sur Windows 7, sans avoir à ouvrir de session (donc sans connaître le mot de passe admin).<br />
En effet sur l'écran d'ouverture de session figure un bouton "Options d'ergonomie" qui démarre <em>%windir%\system32\utilman.exe</em> en administrateur. Il suffit donc, depuis un liveCD, de remplacer cet exécutable par <em>cmd.exe</em> puis redémarrer, pour qu'un clic sur le bouton "Options d'ergonomie" démarre une invite de commande à partir de laquelle on peut exécuter une MMC pour aller créer un deuxième compte administrateur.</p>Passerelle vers un réseau Torurn:md5:33fbf867df05622f8d52743c37d291242011-01-05T14:10:00+01:002011-01-15T23:35:07+01:00chauchreGeekerieanonymatiptablesnetfilterpasserelleproxytor <p>Le but de ce billet est de créer une passerelle qui sort directement sur le réseau Tor.<br />
A quoi cela peut bien servir ? Par exemple en changeant la route par défaut d'un client lui permettre d'être anonyme sur la toile (attention aux données sensibles qui transitent dans le réseau Tor tout de même), ou encore fournir une passerelle, potentiellement ouverte, vers internet sans être reconnu comme IP source des paquets sortants.<br />
<br />
<a href="http://www.torproject.org" hreflang="en">Tor</a> est un réseau d'ordinateurs (volontairement) zombies qui permet de faire du multi-proxy.</p>
<h4>Installer Tor</h4>
<p>La première étape est l'installation de Tor sur un serveur:<br />
<code># apt-get install tor</code><br />
... et ben voilà, première étape terminée ;)<br />
| Comme toujours, il est possible d'installer Tor à partir de ses <a href="http://www.torproject.org/dist/" hreflang="en">sources</a> afin d'avoir la dernière version:<br />
<code>$ wget http://www.torproject.org/dist/tor-0.2.1.28.tar.gz</code><br />
<code>$ tar xzf tor-0.2.1.28.tar.gz && rm tor-0.2.1.28.tar.gz</code><br />
<code>$ cd tor-0.2.1.28</code><br />
<code>$ ./configure</code><br />
<code>$ make</code><br />
<code>$ su -c 'make install'</code></p>
<p>|| Requirements:<br />
<code># apt-get install build-essential</code><br />
<code># apt-get install libevent-dev</code><br />
<code># apt-get install libssl-dev</code></p>
<h4>Configuration de Tor</h4>
<p>(Rappel: on ne souhaite pas dans ce billet configurer Tor comme relais, mais simplement comme point d'entrée dans le réseau Tor)<br />
<br />
Emplacement: <code>/etc/tor/torrc</code> ou <code>/urs/local/etc/tor/torrc<br /></code><br />
<code>RunAsDaemon 1<br /># Port et adresse d'écoute du démon Tor(relai)</code><br />
<code># ORPort 9001</code><br />
<code># ORListenAddress 127.0.0.1</code><br />
<code># Port et adresse d'écoute pour les requêtes DNS</code><br />
<code>DNSPort 53</code><br />
<code># Port et adresse d'écoute pour Tor en mode proxy transparent</code><br />
<code>TransPort 8118</code><br />
<code>TransListenAddress 0.0.0.0</code><br />
<br />
A présent, vous pouvez lancer Tor:<br />
<code># invoke-rc.d tor start</code><br />
ou<br />
<code># tor</code></p>
<h4>Configuration IP forward</h4>
Un simple<code> echo 1 > /proc/sys/net/ipv4/ip_forward</code> suffit, il est également possible d'éditer le fichier <code>/etc/sysctl.conf</code> afin d'activer l'IP forward systématiquement:<br /><code><br />net.ipv4.ip_forward=1</code><br /><h4>Configuration netfilter/iptables</h4>
<p>Afin de concentrer tout le trafic entrant vers le proxy transparent local, on configure quelques règles iptables simples:<br />
<code>iptables -F -t nat</code><br />
<code>iptables -F</code><br />
<code>iptables -X</code><br />
<code>## Règles locales</code><br />
<code>iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 8118</code><br />
<code>iptables -t nat -A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 53</code><br />
<code>## Règles extérieures</code><br />
<code>iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 8118</code><br />
<code>iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 53</code></p>
<p>Vous pouvez tester si le proxy fonctionne en local simplement en vous rendant sur www.whatismyip.org (et vérifier que ce n'est pas votre IP) ou:<br />
<code>$ GET whatismyip.org</code><br />
ou<br />
<code>$ w3m whatismyip.org</code><br />
Le même test est réalisable à partir d'un client extérieur après lui avoir modifié sa route par défaut.</p>
<h4>Configuration annexe</h4>
<p>Si vous voulez que l'ensemble du trafic d'un hôte passe systématiquement dans le réseau Tor, il suffit de configurer le serveur DHCP en rajoutant une entrée host. Par exemple pour dhcpd, on peut rajouter l'entrée suivante dans le fichier <code>/etc/dhcp3/dhcpd.conf</code><br />
<br />
<code>host monHote{</code><br />
<code> fixed-address A.B.C.D;</code><br />
<code> hardware ethernet XX:XX:XX:XX:XX:XX;</code><br />
<code> option routers {adresse IP du serveur Tor}</code><br />
<code>}</code></p>
<h5><strong>Mise à jour:</strong> Commande socat:</h5>
<code>socat -d -d TCP4-LISTEN:8118,fork,reuseaddr TCP4:<address_ip>:8118</code><br /><br />John the ripper en multicoreurn:md5:ae1e40f1d6bbf33f3244e989abf83a812010-12-14T21:16:00+01:002012-02-27T00:05:57+01:00chauchreGeekerieJohn The RipperJTRmulticoreOpenMPI<p>John The Ripper fait parti des meilleurs crackers de mot de passe, de part sa puissance et sa connaissance de nombreux algorithmes. Cependant, sa version officielle ne permet pas son exécution sur plusieurs core. Heureusement, une implémentation de JTR utilisant OpenMPI existe pour palier à ce problème.</p> <p>Utilisation de <a href="http://www.openwall.com/john/" hreflang="en">JTR</a> (John The Ripper) sur plusieurs cœur grâce à <a href="http://www.open-mpi.org/" hreflang="en">OpenMPI</a> (Open Source High Performance Computing):</p>
<h3>1. Installation d'OpenMPI</h3>
<h4>1.1 Pour les mauviettes</h4>
<p>Sous Debian :<br />
<code>$ su -c 'apt-get install openmpi-bin openmpi-dev'</code><br />
<br />
Pour info:<br />
<code>$ mpirun -version</code><br />
<code>mpirun (Open MPI) 1.2.7rc2</code><br /></p>
<h4>1.2 Pour les plus geeks</h4>
<p>Récupérer les sources de la dernière version (actuellement 1.4.3), compiler et installer sur le système:<br /></p>
<p><code>$ wget http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-1.4.3.tar.gz</code><br />
<code>$ tar xzf openmpi-1.4.3.tar.gz && rm openmpi-1.4.3.tar.gz</code><br />
<code>$ cd openmpi-1.4.3</code><br />
<code>$ mkdir build && cd build</code><br />
<code>$ ../configure</code><br />
<code>$ make all</code><br />
<code>$ su -c 'make install'</code><br />
<br />
Une fois ceci fait, il est nécessaire de recharger le path vers les librairies:<br />
<code>$ su -c '/sbin/ldconfig'</code></p>
<h3>2. Installation de JTR</h3>
<p>Il faut utiliser une version patchée de JTR pour qu'il soit compatible avec OpenMPI. Cette version est présente sur le site de BindShell : <a href="http://www.bindshell.net/tools/johntheripper" hreflang="en">http://www.bindshell.net/tools/johntheripper</a><br />
<br />
Version acutelle de JTR non patchée: 1.7.6<br />
Version actuelle de JTR patchée: 1.7.3<br />
<br />
<code>$ wget http://www.bindshell.net/tools/johntheripper/john-1.7.3.1-mpi8.tar.gz</code><br />
<code>$ tar xzf john-1.7.3.1-mpi8.tar.gz && rm john-1.7.3.1-mpi8.tar.gz</code><br />
<code>$ cd john-1.7.3.1-mpi8/src</code><br />
<code>$ make</code><br />
<code>$ make generic</code><br />
<code>$ cd ../run/</code><br /></p>
<h3>3. Utilisation</h3>
<p><code>$ mpirun -np {nombre de core utilisés} {commande}</code><br />
<br />
Différence entre JTR monocore et multicore:<br />
<br />
<code>$ ./john -test</code><br />
et<br />
<code>$ mpirun -np 4 ./john -test</code><br />
<br />
Enjoy :)<br />
---<br />
Pour la compilation, si nécessaire, ceci devrait suffir:<br />
<code>$ su -c 'apt-get install build-essential'</code></p>Subsonic : serveur de Streaming audiourn:md5:a06a88213183cdb7d36e8cd17e7051382010-12-07T16:29:00+00:002012-02-07T10:29:51+00:00BishopGeekerieaudiostreamingSubsonic <h5>1) Installer Java</h5>
<p><code># sudo apt-get install openjdk-6-jre</code></p>
<h5>2)Télécharger le paquet</h5>
<p><code># sudo wget http://downloads.sourceforge.net/project/subsonic/subsonic/4.2/subsonic-4.2.deb </code></p>
<h5>3) Installer le paquet</h5>
<p><code># sudo dpkg -i subsonic-x.x.deb</code></p>
<h5>4) Installation des transcoders</h5>
<p><code># sudo aptitude install lame flac faad vorbis-tools ffmpeg</code></p>
<h5>5) Configuration</h5>
<p><code> # sudo vi /etc/default/subsonic </code><br />
<code> # sudo service subsonic restart</code></p>
<h5>6) Accès</h5>
<p><code>http://adresse_ip:4040</code></p>
<h5>7) Voir les logs</h5>
<p><code># sudo tail -100f /var/subsonic</code></p>