Routeur Nat et OpenVPN

Cet article a pour but d’expliquer de façon synthétique comment réaliser un routeur relativement simple d’emploi présentant les fonctionnalité suivante:

  • Routage NAT (Network Address Translation) entre une ip publique et un sous réseau privé
  • Possibilité de ce connecter en VPN au sous réseau privé, mais aussi de surfer sur le net via ce réseau privé (pour outrepasser les limites de hot-spot par exemple)
  • Possibilité d’ouvrir un port sur l’ip externe et le rediriger sur un autre port sur l’une des machines du réseau privé.
    Pourquoi ne pas utiliser IPCOP ou autres ? Parce qu’IPCOP ne supporte pas nativement les réglages quelques peut « spéciaux » des IP FAIL OVER d’OVH.
    Certes, il existe des scripts qui permettent de modifier les configuration de passerelles, mais cela est trop hasardeux sur un système en production car il faut être sur que le routeur redémarre sans intervention en cas de coupure.

Le routage NAT, est nommé MASQUERADE dans les firewall linux, correspond a masquer les IP des postes du réseau privé derrière l’unique adresse ip publique.
Par exemple, c’est ce que font les box internet pour permettre l’usage de plusieurs ordinateurs derrière une seule connexion.
Plus d’info ici: https://fr.wikipedia.org/wiki/Network_address_translation

 

1ère étape, installer Ubuntu (non décrit car ce n’est pas le but de ce tutoriel).

=> Installez le module ssh durant l’installation car en console hyper-v, pas de copier coller possible avec votre poste local.
=> Installez au minimum la 14.04.2 lts car le noyau 3.16 offre une meilleur compatibilité hyper-v.

 

2ème étape installer openVPN (voir tutoriel sur le sujet).

Si vous avez suivi le tutoriel sur OpenVPN le routage est déjà activé par l’activation de net.ipv4.ip_forward=1 dans sysctl.conf

=> une fois redémarré, le routage est activé. mais il n’y pas encore de NAT entre eth0 (le wan) et eth1 (le lan)

3ème étape, la mise en place du routage NAT.
Pour cela, on utilisera le firewall le plus simple, c’est UFW.

On activera également cette translation entre l’interface VPN (tun0) et le WAN (interface eth0) pour permettre aux usagers du VPN de pouvoir naviguer sur le net via le VPN.

Avant de commencer a activer un pare-feu, il est très important de ne pas perdre la main en bloquant l’interface SSH.

Si vous l’avez laisser par défaut sur le port 22,

la commande

sudo ufw allow ssh

si vous l’avez modifié (ce qui est une sécurité contre les scripts d’attaques):

sudo ufw allow votre_port_ssh/tcp

exemple: si vous avez déplacé votre port ssh en 1234

sudo ufw allow 1234/tcp

 

Pour activer le transfert des paquets entre les interfaces, il faut active le parametre DEFAULT_FORWARD_POLICY.
Dans le fichier /etc/default/ufw, changez le ce paramètre comme suit:

DEFAULT_FORWARD_POLICY="ACCEPT"

L'activation du routage nat ce fera dans le fichier before.rules situé dans /etc/ufw on ajoutera juste après les premier commentaires:
#règles pour la table NAT
*nat
:PREROUTING - [0:0]
:POSTROUTING ACCEPT \[0:0]

#on efface les règle precedentes (flush)
-F
# transmission du trafic provenant de eth1 (reseau prive) vers eth0
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
# transmission du trafic provenant de tun0 (VPN) vers eth0
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

# Ouverture des ports
#-A PREROUTING -i <iface> -p tcp --dport <port public> -j DNAT --to-destination <adr lan>:<port prive>
# exemple d'ouverture de port  port public 8080 vers port prive 80 d'un poste:
#-A PREROUTING -i eth0 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.10:80

# ne pas oublier le 'COMMIT' sinon ces lignes ne seront pas traitée
COMMIT

puis activer UFW avec la commande

sudo UFW enable

=> La translation NAT est alors activée pour votre réseau privé mais aussi pour vos utilisateurs VPN.

=> il est possible d’ajouter d’autres ouvertures de port. aussi bien en tcp qu’en udp. Si le port privé est identique au port public, il n’est pas nécessaire de le mentionner:
exemple:

-A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10

Dans cet exemple j’ai pris comme principe:

le wan est sur eth0
le lan est sur eth1 en 192.168.1.0/24
le vpn est sur tun0 en 10.10.10.0/24

Il convient, bien évidement d’adapter cet exemple a votre cas.

A bientôt.

Dépasser les 2To sur un serveur HP Gen8 non équipé uEFI

Les serveurs HP de la gen8, contrairement à leurs équivalents IBM, ne sont pas équipés de rom uEFI.

C’est pourtant le pré-requis indispensable pour pouvoir booter sur un disque au format GPT, seul format Microsoft permettant le partitionnement de plus de 2To, capacité aujourd’hui très courante.

La seule solution est donc de créer deux lecteurs logiques sur le raid. L’un de 300Go par exemple qui restera en mbr pour être compatible avec le bios, et l’autre, qui servira pour les données qui sera converti en GPT depuis Windows après l’installation du système.

La 1ère étape est donc de créer cette configuration dans le raid avant de procéder a l’installation via l’intelligent provisionning:

hp1

Lors de cette étape, au moment de la création de la baie, il faudra refuser la proposition de lecteur logique incluant tout l’espace et lui redéfinir la taille à 300Go.
Une fois appliquée, créez un second lecteur logique avec la capacité restante.

hp2

hp3

Une fois cette configuration réalisée, vous pouvez installer le système d’exploitation, en indiquant a l’intelligent provisionning de ne pas toucher au réglage de la carte raid.

hp4

hp5

Une fois le système d’exploitation installé, vous pouvez alors convertir votre lecteur logique dédié au données en GPT.

hp6

Puis ensuite le formater.

hp7

Et enfin, vous aurez accès a l’ensemble de l’espace de votre RAID.

hp8

Billet d’humeur: Je trouve cependant très dommage que contrairement a IBM dont les serveurs de la série X sont équipé d’uEFI  depuis plus de 5 ans, HP, partenaire étroit de Microsoft, promoteur de l’uEFI depuis 2005, ne fasse que commencer a intégrer ce standard dans la gen9 et obligent ses utilisateurs au bricolage indiqué ci dessus. Standard pourtant intégré dans de simple cartes mères de PC à 99€…

 

Mettre à jour Windows 8.0 en 8.1 sans faire toutes les mises à jours du 8.0

En mettant a rude épreuve la patience de ses utilisateurs et l’écologie, Microsoft est très loin du « Green IT » dans sa démarche de mise à jour des ordinateurs neufs pré-installés en Windows 8.0 vers Windows 8.1.

En effet, il faut d’abord installer toutes les mises a jours (soit parfois 140 Mises à jours (près de 1,5Go) pour ensuite écraser le système par un autre… donc bien inutilement, puisque le système est remplacé.
(Réparer vous votre voiture avant de la mettre à la casse ?)

– Le coût carbone d’une telle démarche est lamentable.
– La perte de temps pour l’utilisateur l’est tout autant (surtout quand on sait que Windows 8.1 lui même dépasse les 3Go à télécharger et installer).
– Cerise sur le gâteau, sur certains ordinateurs neufs, il y a tellement de mise à jour a effectuer que le système se plante en tentant de les installer toutes.

 

Il existe une astuce pour éviter de faire l’ensemble des mises à jour du système que l’on va écraser:

1ère étape: on installe le correctif suivant:
http://support.microsoft.com/kb/2871389

Dans la barre d’adresse d’internet explorer, tapez

ms-windows-store:WindowsUpgrade

=> cela vous emmènera directement sur le store sur le package d’installation de 8.1.

Prévoyez cependant beaucoup de temps pour le téléchargement et l’installation de cette mise à jour très longue, a faire de préférence en branchant un câble réseau plutôt qu’en WIFI car en cas de coupure wifi… dommage.

Dans un monde pour Microsoft Windows n’est plus le système ultra dominant tel qu’il l’était il y a 10 ans, il serait peut-être temps que MICROSOFT prenne exemple sur MacOS qui passe en YOSEMITE sans toutes ces difficultés, idem pour UBUNTU lors d’une dist-upgrade. L’époque de la lourdeur institutionnalisée est révolue.

Windows 2012r2 hyper-v

L’édition hyper-v de Windows 2012R2 est gratuite. Seule les machines virtuelles Windows installées dessus nécessitent la licence correspondante. Mais si par exemple vous ne mettez que des Ubuntu, aucune licence n’est alors requise.

Il y’a cependant des contraintes (si vous ne pouvez remplir l’une d’elles, préférez Proxmox ou autres):

  • Elle nécessite cependant la possession d’un second serveur équipée d’une edition Standard de Windows 2012r2 pour pouvoir controler l’hyperviseur
  • de disposer d’un contrôleur de domaine pour que l’authentification entre le 2012 standard et le 2012 hyper-v se fasse correctement (le 2012 standard peut-etre le controleur de domaine).
  • il est en mode core exclusivement ce qui implique pas d’accès au gestionnaire de périphérique si la carte réseau n’est pas reconnue. extrêmement gênant en cas d’usage d’un matériel exotique.

Un fois installer, l’accroche au domaine se fait avec sconfig ou PowerShell.

Sur le 2012 standard il faut l’ajouter dans les serveurs à gérer . Il est alors pilotable depuis ce poste, vous aurez alors la possibilité de le gérer entièrement.

Teaming de carte réseau:
Si vous souhaiter créer un agrégat de carte réseau, il doit être fait avant la création du concentrateur virtuel. Si vous choisissez le teaming LACP, il est impératif que la configuration des ports du switch soit corrélée, c’est a dire également réglé en LACP sous peine de perte de dialogue avec le serveur.

Ensuite il faut créer le concentrateur virtuel. Pensez a activer SR-IOV (accélération matériel) si vous voulez pouvoir l’utiliser ensuite pour les machines virtuelles.

Et la dernière dans l’installation de de machines virtuelles.

attention aux migrations: les machines virtuelles créés sur un hyper-v 2008 ou 2008r2 ne fonctionneront pas sur un 2012r2. Dans ce cas, il faudra reprendre les vhd et recreer une vm avec, mais ceci aura pour effet de faire sauter vos activations de licences.

Monter un partage NFS d’un nas netgear sur Ubuntu

Si, par exemple pour sauvegarder vos données ou avoir un partage commun entre plusieurs machine
Ubuntu vous souhaitez partager un dossier sur un nas NETGEAR voici la méthode.

Un préambule a savoir:
Les nas netgear comporte un dossier parent dans lequel se trouve les partages que vous pouvez créer. Selon la version de Raidiator (nom du firmware) présente, ce dossier ne porte pas le même nom.

Sur la version 4.xxxx de RAIDiator celui-ci s’appelle « c ».
Sur la version 6.xxxx de RAIDiator celui-ci s’appelle « data »
dans cette exemple, on prendra la version 4. donc /c/ comme début de chemin. a remplacer donc par /data/ pour une version 6.

Méthode:
Sur le Nas:
– Il faudra activer le protocole NFS dans les services
– Creer le partage NFS

Sur la version 6, (au design palot pour suivre la mode Microsoft/Apple et comportant multiples bugs non existant dans la version 4):

La même chose sur la version 4:

Notez un point très important:

Pour avoir le droit de faire un CHMOD sur les dossiers, vous devrez Obligatoirement définir l’ip de l’ordinateur Ubuntu ayant l’autorisation d’acces racine (ROOT) sinon vous chercherez un moment pour comprendre pourquoi un CHMOD lancé en root depuis votre ubuntu échoue avec des problèmes de droits.
Sur Ubuntu:
– Il faudra installer NFS
– Creer un dossier pour recevoir le montage
– Puis monter le partage soit pour l’usage unique, soit pour qu’il se recrée à chaque démarrage.
 

sudo apt-get install nfs-common

cd /
sudo mkdir /monpointdemontage
sudo mount -o soft,intr,rsize=8192,wsize=812 ipdemonnas:/c/partagesurmonnas /monpointdemontage
pour l’auto-monter au démarrage:

sudo vi /etc/fstab

et ajouter la ligne

ipdemonnas:/c/monpartage /monpointdemontage nfs soft,intr,rsize=8192,wsize=8192

puis rebooter: sudo shutdown -r 0

après le reboot, voir le resultat avec la commande df -h

Sql server express (2008 ou 2012)

 
sqlIl est aisé d’installer sql server express, l’usage depuis le réseau d’une instance nécessite quelques astuces a connaitre.

 

 

Le service sqlbrowser doit être démarré automatiquement et autorisé sur le pare-feu. Attention l’exécutable de ce service est 32 bits et se trouve dans le répertoire de la version 2005. (version 9.0)

Dans la propriété de l’instance souhaitée, le tcp-ip doit être activé. (a régler a l’outils de gestion des connexions)

le service sqlserver.exe correspondant à l’instance doit être autorisé dans le pare feu.

il est possible de raccrocher une table a une instance avec le sql management studio. Celui-ci ce trouve être proposer sur la même page de téléchargement que sql server 2012 express et fait pour l’instant 630 Mo.
Une autre méthode est de le faire en requête SQL avec Transact-sql en suivant cette méthode

Référence complémentaire:

http://www.windows8facile.fr/installer-sql-server-2008-r2-express/

Bonjour à tous !

Sur le principe du partage de la connaissance, le premier but de ce site est de faire connaitre les solutions au jours le jours des différents problèmes auquel je suis confronté dans les domaines de:
– la programmation web (html,php, jquery),
– l’administration linux,
– les réseaux Microsoft
– les logiciels conçu par des martiens (tel que Microsoft Exchange).

Afin que peut être, cette modeste contribution permette de sortir une épine du pied a quelques IT qui comme moi perdent un temps précieux a trouvé la petite astuce…