pcdwarf

option dhcp119 – Search Domains

 Sans catégorie  Commentaires fermés sur option dhcp119 – Search Domains
Fév 022019
 

Je voulais passer plusieurs domaines de recherche dans l’option dhcp 119. Après plusieurs essais, mon client dhcp me dit toujours « suspect value in domain_search option – discarded »

Je cherche un peu sur le net, et il s’avère qu’il y a une syntaxe
rigolotte décrite dans la RFC3397

ci dessous un encodeur fait à l’arrache pour générer la chaine en hexadécimal correspondant a une liste

#include <stdio.h>

int main(void) {

    const char * StrToEncode = "lan chez.moi.net ailleurs.com";

    const char * ptrA = StrToEncode;
    const char * ptrB = StrToEncode;

    printf("\nSTART\n");

    printf("Chaine initiale : '%s'\n", StrToEncode);
    printf("Chaine resultat : '0x");

    while (1) {
        int cpt=0;
        const char * ptrB=ptrA;

        while (1) {
            if ( *ptrA =='\0' ) break;
            if ( *ptrA =='.' ) break;
            if ( *ptrA ==' ' ) break;
            cpt++;
            ptrA++;
        }

        printf("%02x", cpt);

        while ( ptrB != ptrA ) {
            printf("%02x", *ptrB);
            ptrB++;
        }

        if ( *ptrA ==' ' ) printf("00");        //separateur
        if ( *ptrA =='\0' ) { printf("00'\n");  break; }   //Fin de chaine

        ptrA++;
    }

    printf("END\n");
    return 0;
}

ATtiny13a

 Sans catégorie  Commentaires fermés sur ATtiny13a
Nov 192017
 

Le microcontrôleur ATtiny13a est un AVR minimaliste à très faible cout (trouvable à moins de 0.30€ pièce). Ce boitier 8 broches ne nécessite aucun composant externe et est donc très pratique pour réaliser des fonctions simples nécessitant usuellement plusieurs composants discrets (monostable, PWM, ce genre de choses)

Citation : Diplomatie

 Sans catégorie  Commentaires fermés sur Citation : Diplomatie
Fév 032017
 

Quand un diplomate dit ‘oui’, cela signifie ‘peut-être’ ; quand il dit ‘peut-être’, cela veut dire ‘non’ ; et quand il dit ‘non’, ce n’est pas un diplomate.

H. L. Mencken

Client OpenVpn sur routeur Mikrotik

 Sans catégorie  Commentaires fermés sur Client OpenVpn sur routeur Mikrotik
Jan 162017
 

Petites mises au point

Mikrotik ne permet pas toutes ce que openVPN permet usuellement.
Pour faire simple :

  • Mode TCP obligatoire (même pas réglable)
  • Utiliser exclusivment le mode IP (mode ethernet au comportement plus qu’étrange si on tente du bridging donc, si c’est pour finir par faire du L3 dessus, c’est sans intéret)
  • Il y a une seule instance du serveur (On ne peut pas en mettre polusieurs sur plusieurs ports avec des conf différentes
  • Utilisation du mode d’authentification « user/password » (presque) obligatoire

Donc.

Etape1 : Générer les certificats.
C’est plus simple en SSH

/certificate
add ca-template key-usage=key-cert-sign,crl-sign days-valid=3650 key-size=4096
country=FR organization=orgName common-name=CA+orgName

ça, ça crée juste un template (cert request avec tout les params)
A noter que ca-template est en fait un nom tout à fait libre. C’est juste un identifiant. Mais c’est plus parlant de mettre un nom qui correspond à ce qu’on va faire et d’y integrer le mot clé « template » pour bien piger que c’est pas un certificat fini.

(auto) Signature
sign ca-template name=CA+orgName
A noter que le champs name est en fait libre. C’est juste un identifiant. Mais c’est plus parlant de le rendre égal au common-name.
Comme il n’y a aucun ca spécifié, il crée un autosigné.

set trusted=yes
Tada! Ce certif est desormais un CA.

export-certificate CA+orgName
Le certificat CA est exporté sous forme de fichier (section /files)
Il y en aura besoin pour le client openVPN

Création d’un Certif serveur pour OpenVpn

add name=server-template key-usage=digital-signature,key-encipherment,data-encipherment,crl-sign,tls-server,tls-client days-valid=3650 key-size=2048
country=FR organization=orgName common-name=OvpnServer

Idem, le champs name est en fait libre. C’est juste un identifiant.

sign server-template name=OvpnServer ca=CA+orgName

Re-Idem, le champs name est en fait libre. Mais c’est plus parlant de le rendre égal au common-name.
la signature se fait avec la clé du CA spécifié. (Il faut que cette clé ait l’attribut key-cert-sign, ce qu’on a fait plus haut)

Configuration du serveur OpenVpn
/ppp profile
add change-tcp-mss=yes name=default_ovpn use-compression=no use-encryption=yes use-mpls=no
/interface ovpn-server server
set certificate=OvpnServer cipher=aes256 default-profile=default_ovpn enabled=yes keepalive-timeout=30 max-mtu=1400

Configuration du client OpenVpn

Installer le client openvpn sur la machine.

Aller dans le dossier de configuration (Il n’y a pas de GUI config)
Y déposer le fichier CA.crt créé plus haut.

créer un fichier texte monvpn.ovpn

client
dev tun
proto tcp
remote 89.83.98.218 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca nomdufichier.crt ///// a modifier
auth-user-pass login.txt
tun-mtu 1400
mssfix
route-nopull
route 10.25.0.0 255.255.0.0 ///// a modifier : Réseau auquel le client accède
cipher AES-256-CBC
verb 4

créer un fichier texte login.txt

myusername
mekmitasdigoat

Cliquez sur connecter,
C’est fini

Recuprer son mot de passe gpon sur l’ONT Orange.

 Sans catégorie  Commentaires fermés sur Recuprer son mot de passe gpon sur l’ONT Orange.
Déc 232016
 

Brancher un PC et l’ONT Huawei directement entre eux par un cable Ethernet
Configurer le pc en 192.168.100.10/24
telnet 192.168.100.1
login « root »
passwd « admin »

puis saisir la commande « passwd get »

Login: root
Password: admin
TERMINAL(gpon)#passwd get
PASSWORD: xxxxxxxx <- Ce qui m'interesse.

PiHat encodeur SFP

 Sans catégorie  Commentaires fermés sur PiHat encodeur SFP
Oct 112016
 

Après avoir eu pas mal de problèmes avec des switches tatillons avec les marques de modules SFP, j’ai essayé de me procurer un « encodeur ».

Pas de bol, c’est largement trop cher.

Et puis, on m’a indiqué cet article :

http://eoinpk.blogspot.fr/2014/05/raspberry-pi-and-programming-eeproms-on.html

Je fais le test : yeah, ça marche ! enfin ça a l’air.
Sauf que c’est franchement la bidouille,

Photo-2016-10-11-09-41-12_1987

Les données se lisent et s’écrivent comme dans une eeprom I2C générique.
Les outils de base tels que i2cdetect, i2cget et i2cset peuvent suffire mais vous pouvez aussi vous faire vos propres programmes en C ou en python.

FAITES DES SAUVEGARDES !!!

IL est par ailleurs évident que ces informations sont purement déclaratives. Si vous copiez les infos d’un 100M SX sur un 1G LX, ça serait miraculeux que ça fonctionne correctement.

Attention: La structure de la mémoire comporte des checksums, Voir la documentation specification SFP Tout les switches que j’ai testé ont reffusé d’utiliser des SFP où le checksum était faux.

Le plus simple est généralement de copier les infos d’un SFP qui est connu pour être accepteé sur un autre SFP « générique ».

ETAPE SUIVANTE

Faire un petit PCB avec une cage SFP qui fait la même chose que la bidouille précédente

Quelques jours plus tard, Tada! c’est arrivé.

Photo-2016-10-11-09-49-17_1994

Photo-2016-10-11-09-40-49_1984

Pour ceux qui seraient intéressés, j’ai encore quelques PCB.
N’hésitez pas à me contacter à l’adresse que l’on peut lire sur la photo.
Je peux également faire des kits PCB+composants.
Enfin si vous avez un peu peur des soudures CMS à pas fin, je peux aussi les assembler pour vous.

openssl – création de CA + certificats signés par ce CA

 Sans catégorie  Commentaires fermés sur openssl – création de CA + certificats signés par ce CA
Mai 272016
 

1 Créer une clé rsa (protégée par mdp )
(Il faudra donner ce mdp pour utiliser la clé privée et donc pour signer les autres certificats)

openssl genrsa -des3 2048 > ca.key

2 Créer un certificat autosigné avec cette clé (valable 10 ans ou +)

openssl req -new -x509 -days 3650 -key ca.key > ca.crt

—–

Création du certificat serveur

openssl genrsa 2048 > srv.key
openssl req -new -key srv.key > srv.csr
openssl x509 -req -in srv.csr -out srv.crt -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.srl

ARP gratuit sur IP non locales

 Sans catégorie  Commentaires fermés sur ARP gratuit sur IP non locales
Mai 202016
 

Le but est qu’un routeur (par exemple une gateway VPN niveau 3) puisse se comporter comme si elle portait réellement les adresses située au bout du VPN
(et donc vis à vis du lan comme si l’adresse annoncée était locale)


#!/bin/bash
#SpoofIp="IP que l'on veut prétendre locale (renseigner dans les tables ARP des voisins)
#IFACE="Interface qui émettra l'arp gratuit (avec sa propre macaddr)
echo 1 > /proc/sys/net/ipv4/ip_nonlocal_bind
/usr/bin/arping -c1 -U $SpoofIp -I $IFACE
echo 0 > /proc/sys/net/ipv4/ip_nonlocal_bind