pcdwarf

Créer un lanceur systemD (equiv rc.local) sous debian stretch

 Sans catégorie  Commentaires fermés sur Créer un lanceur systemD (equiv rc.local) sous debian stretch
Avr 082019
 

1 – Créer un fichier Service

/etc/systemd/system/monpetitnomde.service

2 – Dans ce fichier, on met le code qui suit

[Unit] 
Description=Texte de description du service
ConditionPathExists=/full/path/of/script.sh

[Service]
Type=forking
ExecStart=/full/path/of/script.sh start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99

[Install]
WantedBy=multi-user.target

3 – Créer ensuite le script avec chmod+x

4 – Enfin, ajouter au systeme avec

systemctl enable monpetitnomde

Remarques

cette config executera ça une seule fois au boot au moment ou on passse en mode multi-user. C’est l’équivalent du script rc.local de l’ancien système

Important : Si on veut lancer des démons, il vaut mieux faire plusisuers services car 1) c’est plus modulaire et surtout le process de boot va forker et tout lancer en parallèle ce qui accélère énormément sur les machine multi-cpu

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.