samedi, novembre 10 2018

Load Balancing 4G/LTE USB - ADSL sur Ubiquiti EdgeRouter 4

Les grandes étapes pour configurer une balance de charge entre une clé USB 4G (ZTE dans mon cas) et un lien internet type ADSL sur un routeur Ubiquiti EdgeRouter 4.

Première étape :

Le module de la clé n'est pas actif dans le kernel au boot !

1°) Créer le script avec le code ci dessous

vi /etc/init.d/modem.sh
#!/bin/sh -e
modprobe cdc_ether
ifconfig usb0 up
exit 0

2°)chmod

chmod 755 /etc/init.d/modem.sh

3°)charger au boot

update-rc.d modem.sh defaults 01

Seconde étape :

Le routeur ne permet pas de faire de la balance de charge nativement entre une interface ethX et une interface usbX. Pour feinter un peu le truc j'ai donc créé un bridge dans lequel j'ai mis ma clé usb.

1°)Créer le bridge

set interfaces bridge br1

2°)Affecter l'interface USB

brctl addif br0 usb0

Dernière étape:

La configuration de la balance de charge comme décris dans la doc. Dans mon cas j'utilise l'interface eth1 pour le LAN, eth0 pour ADSL et usb0 pour la clé.

configure

set firewall group network-group PRIVATE_NETS network 192.168.0.0/16
set firewall group network-group PRIVATE_NETS network 172.16.0.0/12
set firewall group network-group PRIVATE_NETS network 10.0.0.0/8

set firewall modify balance rule 10 action modify
set firewall modify balance rule 10 destination group network-group PRIVATE_NETS
set firewall modify balance rule 10 modify table main

set firewall modify balance rule 20 action modify
set firewall modify balance rule 20 destination group address-group ADDRv4_eth0
set firewall modify balance rule 20 modify table main

set firewall modify balance rule 30 action modify
set firewall modify balance rule 30 destination group address-group ADDRv4_""usb0""
set firewall modify balance rule 30 modify table main

set firewall modify balance rule 110 action modify
set firewall modify balance rule 110 modify lb-group G

set interfaces ethernet ""eth1"" firewall in modify balance

set load-balance group G interface eth0
set load-balance group G interface ""usb0""
set load-balance group G lb-local enable
set load-balance group G lb-local-metric-change disable

commit ; save

Normalement avec tout ça vous devriez avoir une balance de charge entre eth1 et usb0.

En complément, si vous utilisez du NAT vers un serveur web ou autre il faut ajouter une regle qui permet de diriger correctement le trafic vers la bonne sortie internet (celle du nat).

1°)Créer un groupe d'adresse (ici mes serveurs public 192.168.1.2 et .3)

set firewall group address-group NO_BALANCE address 192.168.1.2-192.168.1.3

2°)Créer une règle de routage ou 78.X.Y.Z est votre ip de sortie.

set protocols static table 11 mark 11
set protocols static table 11 route 0.0.0.0/0 next-hop 78.X.Y.Z

3°)Affecter cette règles a celle de la balance du firewall.

set firewall modify balance rule 40 action modify
set firewall modify balance rule 40 destination group address-group NO_BALANCE
set firewall modify balance rule 40 modify table 11

Liens utiles:

  1. EdgeRouter-WAN-Load-Balancing
  2. EdgeRouter-Policy-Based-Routing

jeudi, avril 5 2018

Xiaomi Mibox 3 mise à jour Android TV 7.0 nougat.

Une petite astuce pour mettre à jour automatiquement le firmware d'une Mibox3

Le dernier firmware est dispo ici : https://forum.xda-developers.com/android-stick--console-computers/amlogic/mi-box-3-mdz-16-ab-update-v1560-t3718857

1°)Créer un fichier "xiaomi_update" (sans extension) puis écrire dans ce fichier le texte suivant : "--update_package=/udisk/update.zip". 2°)Copier le fichier de mise à jour sur une clé en FAT32 et nomer le fichier update.zip. 3°) Démarrer la mixbox avec le combo de touche back et ok en meme temps.

dimanche, octobre 15 2017

Récupération du flux caméra de la Babymoov Babycamera 0 Emission

Babymoov Babycamera 0 Emission que peux on faire avec ça ?

Déjà ce qu'on peu voir c'est que la partie electronique ne viens pas de babymoove mais de ELANSAT

c'est une puce WIF-H100C01

Pour cela j'ai fait quelques analyse afin de trouver les URL qu'utilise l'application mobile pour se connecter à la camera.

Quelques capture wireshark plus tard voici ce que j'ai pu trouver.

Voici ci dessous les URL disponible.

Afficher le flux video en VGA (640x480) ou en QVGA (320x240) sans le son :

http://@IP/media.live?videocodec=mjpeg&resolution=vga

http://@IP/media.live?videocodec=mjpeg&resolution=qvga

Afficher les différentes propriétées de la camera:

http://@IP/param.cgi?action=list&group=Properties.Image

http://@IP/param.cgi?action=list&group=Brand

http://@IP/param.cgi?action=list&group=Network

http://@IP/param.cgi?action=list&group=System

http://@IP/param.cgi?action=list&group=Properties

http://@IP/param.cgi?action=list&group=Image

Pour l'intégration dans Jeedom deux solution passer par le plugin RTSP ou installer Zoneminder.

Si vous souhaitez utiliser cette caméra sans passer par la CPL en déplacement par exemple, une clé wifi exite. Elle permet de connecter directement un Smartphone/Tablette à la caméra.

vendredi, juillet 28 2017

Authentification d'un Sous-groupe LDAP dans apache.

Ci-dessous un exemple d'authentification LDAP dans apache avec prise en compte des groupes imbriqué (Sous groupe)

AuthLDAPMaxSubGroupDepth 2 indique deux niveau de sous groupe possible.

<Location />
        AuthType Basic
        AuthName "Connection Trac"
        AuthBasicProvider ldap
        Order Allow,Deny
        Allow from All
        AuthLDAPURL "ldap://ldap.domain.local:389/DC=mon,DC=domain,DC=local?sAMAccountName?sub?(objectClass=*)"
        AuthLDAPBindDN "CN=UserLdap,OU=Users,OU=Groups,DC=mon,DC=domain,DC=local
        AuthLDAPBindPassword "password6"
        AuthLDAPGroupAttribute "member"
        AuthLDAPSubGroupClass "group"
        AuthLDAPSubGroupAttribute "member"
        AuthLDAPMaxSubGroupDepth 2
        Require ldap-group CN=Mon_Groupe,OU=Groups,DC=mon,DC=domain,DC=local
</Location>

jeudi, avril 27 2017

Déplacer/Migrer des VM entre deux ESXI

Lors du remplacement d'un ESXi il peut être pratique de déplacer les machines virtuel directement d'un Host vers l'autre. Pour cela il existe des outils payant VEEAM, VCENTER, VMConverter... ou alors simple une copie à l'aide de la commande SCP via SSH.

En prérequis il faut déjà activer SSH client/serveur sur ESXi source et SSH serveur sur la destination Pour ce faire sur vSphere Client :

Configuration -> Security Profile -> Firewall -> Properties

Activer ensuite "SSH Client" et SSH Serveur

Ensuite pour lancer la copie, se connecter sur ESXi source en SSH puis, exécuter la commande :

scp -rp /vmfs/volumes/<datastore_source/<vm> root@<hôte2>:/vmfs/volumes/<datastore_destination>/

Remplacer bien sûr les valeurs entre <> par ceux de vos serveurs.

lundi, avril 11 2016

Migration serveur SVN multi-depot

Lors du renouvellement d'un serveur, j'ai eu besoin de déplacer une centaine de dépôts SVN sur le nouveau.

Pour mémo j'en profite pour me faire une petite procédure avec installation de subversion et connexion sur LDAP.

Installation du serveur SVN sur Debian :

apt-get update
apt-get install subversion subversion-tools

Pour la partie LDAP j'ai aussi besoin de ça :

apt-get install libapache2-svn apache2-mpm-worker

Ensuite, il faut créer l’arborescence de base. Dans mon cas je la place dans /var/svn

cd /var
mkdir svn

A partir d'ici, le SVN fonctionne. Il est déjà possible de créer un premier dépôt.

svnadmin create subversion/depot

Configuration de la liaison LDAP :

On commence par adapter le fichier /etc/apache2/mods-enabled/dav_svn.conf à nos besoins.

<Location /svn>
  DAV svn
  SVNParentPath /var/svn
  SVNAutoversioning on

  AuthzSVNAccessFile /var/svn/svnaccess
  AuthBasicProvider ldap
  AuthType Basic
  AuthName "Connection subversion"
  AuthLDAPURL "ldap://ldap.entreprise:389/DC=mon,DC=entreprise,DC=net?sAMAccountName?sub?(objectClass=*)"
  AuthLDAPBindDN "CN=Utilisateur LDAP,DC=mon,DC=entreprise,DC=net"
  AuthLDAPBindPassword "MotDePasse"
  Require valid-user
</Location>

Relancer apache pour valider.

/etc/init.d/apache2 restart

Ensuite on crée le fichier /var/svn/svnaccess qui vas contenir la liste des droits:

Dans mon cas j'ai créé un groupe @admin et j'ai placé Benoit qui a tous les droits sur l'ensemble des repository.

 ### This file is an example authorization file for svnserve.
 ### Its format is identical to that of mod_authz_svn authorization
 ### files.
 ### As shown below each section defines authorizations for the path and
 ### (optional) repository specified by the section name.
 ### The authorizations follow. An authorization line can refer to:
 ###  - a single user,
 ###  - a group of users defined in a special [groups] section,
 ###  - an alias defined in a special [aliases] section,
 ###  - all authenticated users, using the '$authenticated' token,
 ###  - only anonymous users, using the '$anonymous' token,
 ###  - anyone, using the '*' wildcard.
 ###
 ### A match can be inverted by prefixing the rule with '~'. Rules can
 ### grant read ('r') access, read-write ('rw') access, or no access
 ### ('').
 
 [aliases]
 # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research
 # Institute/CN=Joe Average
 
 [groups]
 # harry_and_sally = harry,sally
 # harry_sally_and_joe = harry,sally,&joe
 admin = benoit,toto
 
 # [/foo/bar]
 # harry = rw
 # &joe = r
 # * =
 
 # [repository:/baz/fuz]
 # @harry_and_sally = rw
 # * = r
 
 [/]
 @admin = rw

Passons à la migration des dépôts en deux étapes.

Première étape sauvegarder l'ensemble des dépôts. Pour cela j'utilise le dump de SVN et je zip l'ensemble dépôt par dépôt.

Script d'export export.sh:

for repo in `ls -1`
 do
        echo "Processing $repo"
        svnadmin dump -q --deltas $repo | gzip -c > "/var/svn/"$repo".svn.gz"
 done

Déplacer ensuite les zip sur le nouveau serveur avec filezilla par exemple.

Puis, utiliser le script d'import. Celui-ci dezip les dump puis crée les dépôts svn pour finir par replacer les données.

Script d'import import.sh:

for repo in `ls -1`
 do
        temp=`echo $repo | sed 's/\..*//'`
        echo "Creation du depot: $temp"
        svnadmin create $temp &&
        gzip -d |
        sed -e '/^svn:log$/,/^PROPS-END$/ s/\x0D/ /' -e '/^svn:ignore$/,/^PROPS-END$/ s/\x0D/\n/' |
        cat $repo | gzip -d | svnadmin load -q --force-uuid $temp
 done

Si tout s'est bien passé, se rendre sur la page http://votreserveur/svn/depot Vous devriez retrouver vos dépôts.

lundi, août 3 2015

Utiliser Git derrière un proxy

Pour pouvoir utiliser les dépôts en git:// derrière un proxy passer la commande :

git config --global url.https://github.com/.insteadOf git://github.com/

en plus de la configuration classique du proxy :

Configurer un proxy sous linux

lundi, juillet 13 2015

Réparation Acer Iconia A3-A10

J'ai récupéré une tablette Acer Iconia A3-A10 avec deux problèmes.

Problème numéro 1 : Bootloop ou redémarrage en boucle avec de temps en temps de logo Acer ou juste le rétroéclairage.

Solution : ici ou détail ci dessous.

  • Step 1: Download the Acer Iconia A3-A10 Firmware Click to download .
  • Step 2: Download SP Flash Tool Click here to download . ( you may find different version, but this one only works with A3-A10).
  • Step 3: Turn off the tablet via long press power button, or insert a needle in a hole between the HDMI and the speaker.
  • Step 4: Remove the back Cover of the tablet, and unplug the battery
  • Step 5: Insert usb cable and connect to PC, let windows install the mtk65xx driver, once its done , download usb view and unistall the installed driver and follow instructions from this site here.
  • Step 6: Launch SP Flash Tool.

- Press "File" -> "Open Scatter-loading file..." and choose mt****_Android_scatter_emmc.txt from firmware folder.- Press "Window" -> "Write Memory". New tab will appear, open it.- Press "Open Raw Data...", choose secouff.img from firmware folder.- Choose EMMC Memory setting.

- Put 0x3D80000 in begin address(HEX).

- Put whatever the value in File Size in Container length (HEX).

-Press "Write Memory", connect turned-off tablet to PC and wait.

-Progress bar will fill with red, then with gray-green, then ou will see grenn circle.

- Disconnect tablet from PC, go to Download tab.

  • Step 7: -Press "Firmware -> Upgrade" and connect your turned-off tablet to PC.

-Progress bar will fill with purple for few times, then red, then flash with green few times, then yellow, and then (probaly) gray-green. After this you will see green circle.

Problème numéro 2 : l'écran tactile ne fonctionne que sur la moiter de sa surface.

Solution :

Démontage du panneau arrière puis déconnecter et reconnecter les deux nappes du touch screen sur le haut de la tablette.

acer_icona_touche_screen.PNG

jeudi, juillet 9 2015

Linux recherche avancé !

Pour recherche un fichier en fonction de sa taille et de sa date :

find . -type f -size +10000k -mtime +7 -exec ls -lh {} \; | awk '{ print $9 ": " $5 }'

dans l'exemple si dessous je cherche a la racine les fichiers de plus de 10000K et de plus de 7 jours. Remplacer le "." par le chemin ou vous souhaitez chercher.

FortiSSLVPNClient bloque à 98% sous windows 8.1

Voici la procédure en cas de probleme avec FortiSSLVPN CLient qui bloque a 98% sur windows 8.1

1. Open IE, go to Options -> Connections -> Remove FortiSSL device

2. Go to Control Panel -> Programs and features -> FortiSSL client -> Open, select REPAIR package

3. Open Network connections and you will se new FortiSSL device with icon of vintage phone.

4. Test and it should work now

Sous windows 7 la desactivation et IPV6 et un reboot suffise souvent a corrgier le probleme

mercredi, avril 15 2015

Désactiver les notifications mails des taches Cron de AWSTATS

To disable all output (STDERR and STDOUT) add the following to your awstats_updateall and logrotate cron jobs:

/dev/null 2>&1

To disable only STDOUT while getting notifications of errors add the following:

/dev/null

mardi, avril 14 2015

VMware ESXi status S.M.A.R.T

Pour contrôler l'état S.M.A.R.T des disques sur un serveur ESXi un script est a disposition.

Pour l'utiliser :

- Se connecter en SSH sur le serveur

- Se rendre dans le répertoire : /usr/lib/vmware/vm-support/bin

- Exécuter le script : ./smartinfo.sh

Ce qui renvoi un tableau des états S.M.A.R.T de l'ensemble des disques du système.

 Device:  t10.ATA_WDC_WD10EZRX2D22L4HB0_WD2DWCC4J0963826
 Parameter                     Value  Threshold  Worst
 -
 Health Status                 OK     N/A        N/A
 Media Wearout Indicator       N/A    N/A        N/A
 Write Error Count             N/A    N/A        N/A
 Read Error Count              200    51         200
 Power-on Hours                92     0          91
 Power Cycle Count             100    0          100
 Reallocated Sector Count      200    140        200
 Raw Read Error Rate           200    51         200
 Drive Temperature             108    0          103
 Driver Rated Max Temperature  N/A    N/A        N/A
 Write Sectors TOT Count       200    0          200
 Read Sectors TOT Count        200    0          200
 Initial Bad Block Count       N/A    N/A        N/A

mardi, avril 7 2015

Script de mise à jour DtDns

Depuis que dyndns est devenu payant, j'utilise comme alternative encore gratuite DtDns. J'ai une machine derrière du NAT que j'utilise pour mettre à jour le DNS. J'ai donc bricoler a partir d'un script dispo chez DtDns qui ne fonctionne pas derrière un routeur (il me renvoi mon ip local).

Ca donne ça :

#!/bin/bash
IPADDR=`wget -qO- http://ipecho.net/plain | awk '{ print $1 }'`
LASTIP=`nslookup gaers.dtdns.net | grep -A1 gaers | grep Address | awk '{
print $2 }'`

echo -n "`date` - "

if "$IPADDR" != "$LASTIP"; then
  echo -e "GET /api/autodns.cfm?id=DNS&pw=PASSWORD&client=NOM_CLIENT
HTTP/1.1\nHost: www.dtdns.com\nUser-Agent: bash\n\n" | \
            nc www.dtdns.com 80 > /dev/null 2>&1
  echo "Posted IP change from $LASTIP to $IPADDR"
else
  echo "IP still $IPADDR"
fi

mardi, février 10 2015

Configurer un proxy HTTP sur SVN

Pour configurer un proxy HTTP dans SVN la première methode et d'utiliser la variable d'environnement :

export http_proxy=http://mon-proxy-server.com:8080/ (Dommage avec SVN ca ne fonctionne pas)

Pour SVN il faud configurer le fichier :

Win : C:\Documents and Settings\user\Application Data\Subversion\servers Linux: /etc/subversion/servers

Décommenter les lignes ci dessous et completer avec les informations de votre proxy

global http-proxy-host = mon-proxy-server.com http-proxy-port = 8080

si vous avez un message du genre :

svn: C:\Documents and Settings\user\Application Data\Subversion\servers:144: Option expected

C'est que vous avez laissé un espace en début de ligne !

mardi, décembre 30 2014

Mise à jour VMWare ESXi

Voici la procédure utilisé pour migrer mon serveur HP N54L de esxi 5.1 standard vers esxi 5.5 HP Bundle.

1°)Télécharger le Zip de la mise à jour ici : https://www.vmware.com/patchmgr/findPatch.portal

2°)Copier le fichier télécharger dans le datastore

3°)Entrer le serveur en mode maintenance

4°)Dans un CLI lancer la commande :

esxcli software vib update -d /vmfs/volumes/<your_volume>/update-from-esxiXXXXX_update01.zip

5°)Redémarrer le serveur avec la commande : reboot

6°)Quitter le mode maintenance.

Mise à jour avec les VIB HP

Les vib son dispo ici : http://vibsdepot.hpe.com/hpe/

La commande pour mettre à jour :

esxcli software vib install -d http://vibsdepot.hp.com/hpq/<release date="">/index.xml</release>

samedi, mai 10 2014

Utiliser la camera d'un Raspberry avec Surveillance Station DSM 5

Comment ajouter un raspberry pi muni d'une camera pi pour DSM 5

Valable pour la version DSM 5 et SurveillanceStation 6

Se connecter en SSH à son Synology avec Putty

ssh.jpg

Editer camera_model.conf, ce fichier qui se trouve : /volume1/@appstore/

SurveillanceStation/device_pack/camera_support

Ajouter ces informations

RaspberryPi*generic

        port=8554

        video source="/"

Créer le fichier RaspberryPi.conf dans

/volume1/@appstore/SurveillanceStation/device_pack/camera_support

RaspberryPi*PiCam

api = rasbpicam-h264

channel_list = 1

default_channel = 1

resolutions_h264 = 1920x1080

default_resolution_h264 = 1920x1080

fps_h264_1920x1080 = 15

default_fps_h264_1920x1080 = 15

default_image_quality = 5

h264 = rtsp

Redémarrer surveillance station, via le gestionnaire de paquet.

Vous pouvez ajouter le Pi dans votre SS6 Beta.

Merci charly pour l'article

lundi, mai 5 2014

Permaling 404 et wordpress

- Enable mod_rewrite in your apache2 installation

a2enmod rewrite; /etc/init.d/apache2 restart

- Change "AllowOverride None" to "AllowOverride All" in your virtual host config.

- Create an .htaccess file in your WP's root dir.

BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /content/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /content/index.php L </IfModule> END WordPress

mardi, janvier 28 2014

Ajouter utilisateur avec droits Sudo.

Pour ajouter un compte utilisateur utiliser la commade :

sudo adduser NomUtilisateur

Puis répondre aux questions.

Pour ajouter le compte au group Admin

usermod -a -G admin NomUtilisateur

samedi, janvier 18 2014

Install ESXi 5.X on HP Microserver with 2GB memory

Boot the system from USB Stick with ESXi installer on it.

Once the installer welcome screen shows up, press alt+F1 to go to the first console (login prompt)

Login as root, no password.

  1. cd /usr/lib/vmware/weasel/util

There are a few files but the upgrade_precheck.py is of interest to us

  1. rm upgrade_precheck.pyc // (the compiled version) -
  1. mv upgrade_precheck.py upgrade_precheck.py.old // because the file can not be edited due to some immortal flags and lack of tools to remove these flags
  1. cp upgrade_precheck.py.old upgrade_precheck.py
  1. vi upgrader_precheck.py // then search for line that has ((1024 * 2 ) - 32)

Replace value of MEM_MIN_SIZE =(4 * 1024 -32) Size_MiB with something like this (1 * 1024 -32) and save (:w! in vi)

  1. ps -c | grep weas // find the PID
  1. kill -9 #### // where #### is the python PID

Return to the second console with installer (alt+F2) Continue as normal

jeudi, décembre 12 2013

HTTP Analyse avec tshark

La commande qui vas bien pour afficher les requettes HTTP avec tshark

/usr/local/bin/tshark -R "http.response or http.request" \ -T fields -E separator="|" \ -e frame.time_epoch \ -e ip.src \ -e tcp.srcport \ -e ip.dst \ -e tcp.dstport \ -e http.request.version \ -e http.request.method \ -e http.host \ -e http.request.uri \ -e http.user_agent \ -e http.response.code \ -e http.content_type \ -e http.content_length \ -e http.location \ -e http.referer \

la source

- page 1 de 117