mardi 29 mai 2018

Configurer chrony Ubuntu chez AWS

Hello,

Souvent on oublie de configurer le temps et la zone et avec le temps (justement), il y a un dephasage, pour eviter ce probleme configurer NTP, remplace par Chrony.

Sur Ubuntu AWS :
  • sudo apt install chrony
  • sudoedit /etc/chrony/chrony.conf
  • Indiquer l'IP du serveur NTP AWS:
# Note that if Chrony tries to go "online" and dns lookup of the servers
# fails they will be discarded. Thus under some circumstances it is
# better to use IP numbers than host names.
server 169.254.169.123 prefer iburst
server 0.debian.pool.ntp.org offline minpoll 8
server 1.debian.pool.ntp.org offline minpoll 8
server 2.debian.pool.ntp.org offline minpoll 8
server 3.debian.pool.ntp.org offline minpoll 8
  • sudo /etc/init.d/chrony restart
on controle :

    • chronyc sources -v
    • chronyc tracking 
      • Leap status doit etre normal
    • date
      Ne pas oublie de refaire son image ensuite. 


      jeudi 22 mars 2018

      GCP SQL instance secure users

      Hello

      J'aime beaucoup Google Cloud Platform et leur solution de SQL instance.
      Facile de creer des bases de donnees, des utilisateurs, le cloud sql proxy, ...

      Mais attention quand vous creez des utilisateurs, ils auront les permissions root sur toute l'instance Mysql, quand vous avez plusieurs base de donnees dev, prod,  il vaut mieux securiser.

      Facile a faire, une fois creer la bd et l'utilisateur, il suffit de revoker les droits et de mettre les droits necessaire sur la nouvelle bd.

      Avec Sql-proxy on se connecte :
      mysql -h 127.0.0.1 -u monusr -p mabd
      Puis directement depuis Mysql on change les droits
      revoke all privileges,grant option from monusr;
      GRANT ALL ON mabd.* TO 'monusr';
      Et voila comment ca l'utilisateur peut administrer seulement sa base de donnees.
      On peut bien sur ajuster le grant en fonction des besoins.

      dimanche 11 février 2018

      Memo commandes GCP

      J'utilise beaucoup Google Cloud Platform.

      Je suis tres fan de leur CLI mais j'utilise plusieurs compte, projets et parfois je me souviens plus tres bien comment faire.

      Ci-dessous un petit memo des commandes :

      Pour ajouter un nouveau compte et selectionner le compte, projets, zones, ...
      $ gcloud init

      Pour lister ses configurations
      $ gcloud config configurations list

      Pour passer d'une configuration a l'autre
      $ gcloud config configurations activate NAME

      Pour lister les projets
      $ gcloud projects list

      Pour changer de projets
      $ gcloud config set project projectname

      Pour activer le compte lie a une configuration
      $ gcloud config set account monemail@gmail.com

      Pour tester les droits et l'environnement actif je liste les VM pour confirmer:
      $ gcloud compute instances list

      jeudi 16 novembre 2017

      Stackdriver installer agent sur version non supporte de Ubuntu

      Je teste GCP, l'objet d'un futur post ?
      Et je teste le monitoring avec Stackdriver mais de chance stackdriver ne supporte pas Ubuntu 17.04.
      Impossible d'installer l'agent a moins de modifier le script d'installation : stack-install.sh

      En trichant un peu, remplacer la commande lsb_release -sc par la derniere version supportee : xenial
        -local CODENAME="$(lsb_release -sc)"
        +local CODENAME="xenial"


      Et le tour est joue.

      lundi 13 novembre 2017

      Nginx proxy pass Redis

      Salut,

      Un petit reverse proxy Redis avec Nginx, utile dans le cas ou votre Redis est accessible uniquement en interne

      Installer nginx, compiler avec l'option --with-stream ou installer paquet nginx-extra.
      Dans nginx.conf, directement au meme niveau que http{} declare le stream :

      stream {
          upstream backend {
              server 10.0.0.4:6379;
          }

          server {
              listen 6379;
              proxy_pass backend;
          }
      }

      De cette facon on peut faire passer tout ce qu'on veut, dans ce cas Redis (tcp/6379). Facile.

      mercredi 1 novembre 2017

      Curl IPv6

      Hello,

      J'ai cherche comment curl des IPv6, aucun probleme si IPv6 est bien active depuis votre serveur.
      Pour tester j'ai pris une instance chez DigitalOcean et active l'option a la creation.

      Par exemple :

      curl -v -g -6 "http://[2a00:1450:4001:81b::200e]
      curl -g -6  [2a00:1450:4001:81b::200e]:80

      <!DOCTYPE html>
      <html lang=en>
        <meta charset=utf-8>
        <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
        <title>Error 404 (Not Found)!!1</title>
        <style>
          *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
        </style>
        <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
        <p><b>404.</b> <ins>That’s an error.</ins>
        <p>The requested URL <code>/</code> was not found on this server.  <ins>That’s all we know.</ins>

      Indiquer le port apres les brackets

      Encore mieux
      curl -6L https://google.com
      -6 pour travailler en IPv6
      -v pour activer le verbose
      -L pour suivre le HTTP/301

      Resultat partiel :
      <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="de"><head><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><meta content="/logos/doodles/2017/hannah-hochs-128th-birthday-4907642756530176-l.png"

      mercredi 23 août 2017

      VMWare resize disk avec LVM

      Avec VMWARE souvent, on a besoin d'etendre le disque virtuel d'une VM.
      Plutot que de creer un nouveau disque, le plus simple et de resize le disque existant.

      Dans la console Vcenter augmenter la taille du disque souhaite.

      Puis a niveau de l'OS,il faut faire reconnaire a la VM la taille du nouveau disque, sdX etait son disque.
      Pour connaitre l'emplacement du disque on peut utiliser lsscsi ou regarder les dernieres entrees de dmesg.
      Pour rescan :
      echo 1 > /sys/block/sdX/device/rescan

      Si tout va bien, on peut faire un pvresize pour faire reconnaitre a LVM la nouvelle taille
      pvresize /dev/sdX
      Si tout va bien l'espace disponible apparait dans VGS et dans ce cas on peut extend le logical volume, par example :
      lvextend VGname/LVname -l +100%FREE


      Enfin reste a augmenter le filesystem avec simplement un resize2fs et le tour est joue.


      Alternative, si on souhaite augmenter la partition d'un disque.

      Dans ce cas, on rescan puis cfdisk /dev/sdX pour verifier l'espace libre du disque. Eliminer la partition a etendre, puis la recreer avec le meme type (le plus souvent 8e pour LVM), sauvegarder, partprobe pour reconnaitre la nouvelle taille de la partition. Puis suivre les meme etapes, pvresize, lvextend.