dimanche 25 août 2013

Debian : Installer un serveur Counter-Strike : Global Offensive



Installation des librairies nécessaires
Pour installer un dedicated server steam, les librairies ia32-libs sont nécessaires. Celles-ci concernent uniquement les serveurs Linux qui tournent avec un noyau 64-bit.

apt-get install ia32-libs

Installation serveur csgo :

cd /var/steamcmd

wget http://blog.counter-strike.net/wp-content/uploads/2012/04/steamcmd.tar.gz

tar xvzf steamcmd.tar.gz

steamcmd +login anonymous +force_install_dir ../csgo_ds +app_update 740 validate +quit

login anonymous

force_install_dir ./cs_go/

app_update 740 validate

app_update 740

quit 


Lancement du serveur csgo:

cd /var/steamcmd/cstrike

screen -A -m -d -S serv1 ./srcds_run -game csgo -console -usercon -maxplayers_override 16 +game_type 0 +game_mode 0 +map awp_india_csgo -port 27015 +ip monip -tickrate 66


Les paramètres game_type et game_mode

La combinaison de ces deux paramètres permet de définir le type de jeu qui tournera sur le serveur. Voici une grille permettant d’avoir une idée de ce que vous démarrerez.

game_typegame_mode
00Classic Casual
01Classic Competitive
10Arms Race
11Demolition

samedi 24 août 2013

Serveur vpn PPTP avec debian en MS-CHAPv2

Bonjour,

Ayant besoin d’un VPN en pptp pour contrer le filtrage de free sur les sites de videos youtube vimeo ect.., j’ai installer une serveur pptp sur un de mes serveur dédié.
Donc pour tous ceux qui ont des dedibox, kimsufi et autre serveur ovh et qui veulent un serveur vpn plus simple à mettre en place que openvpn et moins sécurisé ce tuto est pour vous !



Je vais donc vous prouver aujourd’hui que n’importe quel novice peut être capable de monter son propre réseau VPN sous debian et le tout enquelques minutes !

Etape 1 : Installer PPTPD

PPTPD est en réalité un simple soft sous linux qui va tout simplement vous permettre de créer un VPN utilisant le protocole PopTop.
Pour l’installer il vous suffit de vous rendre dans un terminal avec les droits root et de taper la ligne suivante :

Installation du serveur pptpd :

# apt-get install pptpd

Configuration du serveur :


# nano /etc/pptpd.conf

Il faut décommenter les 2 lignes localip et remonteip. Vous indiqué l’ip du votre serveur et ensuite la plage d’adresse d’ip locale que vous voulez attribué au pc qui se connecteront au VPN

localip IP.DE.VOTRE.SERVEUR
remoteip 192.168.0.234-238,192.168.0.245


A présent nous allons configurer la méthode d’authentification. Nous allons utiliser le MS-CHAPv2. Mais les autres protocole que ce soit pap ou chap sont aussi possible c’est a vous de le configurer.


# nano /etc/ppp/options

Il faut rajouter ces lignes a la fin du fichier :


refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp

Maintenant il reste a créer les utilisateurs.


# nano /etc/ppp/chap-secrets

Cela se présente ainsi :

artiflo pptpd artiflopassword "*"



* est pour signifier que les utilisateurs peuvent se connecter de n’importe quel ip. Dans le cas contraire spécifié l’ip.

Et enfin, pour ce concerne le firewall il faut en premier que vous autoriser le port 1723 et le protocole GRE ainsi :


# iptables -A INPUT -p tcp –-dport 1723 -j ACCEPT
# iptables -A INPUT -p gre -j ACCEPT

Et ensuite il faut configurer le routage en spécifiant que toutes les adresse locale que vous avez définis toutes a l’heure doivent être rediriger sur l’adresse de la carte eth0. Et en activant l’ip forwarding.


# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to IP.DE.VOTRE.SERVEUR
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

Redémarrer pptp et cela doit fonctionner


# /etc/init.d/pptpd restart

NFS

Ou comment partager des fichiers sous GNU/Linux
Pré-requis: 2 ordinateurs (pour du partage c'est mieux) disposant chacun d'une interface réseau (pour faire du réseau ça simplifie les choses)
Paquetage à installer: nfs-kernel-server
Note: Oon considérera un serveur qui a pour ip 192.168.0.1, et un poste client qui a pour ip 192.168.0.15.

Coté serveur

Il est nécessaire d'éditer 3 fichiers pour la configuration de notre serveur : /etc/exports, /etc/hosts.allow, /etc/host.deny

/etc/exports

C'est lui qui va permettre de définir quels sont les répertoires à partager et qui a quels droits dessus (on parle ici de clients et pas d'utilisateurs)
  # Syntaxe : /chemin/de/partage Client1(droits)[,Client2(droits)[...]]
  # Exemples :
  # Partage du répertoire /home/user1 avec l'hôte 192.168.0.15 et les droits de lectures seulement
  /home/user1 192.168.0.15(ro,sync)
  # Partage du répertoire /home/user2 avec l'hôte 192.168.0.11 et les droits de lecture écriture et
  #                                   avec l'hôte 192.168.0.15 et les droits de lectures seulement
  /home/user2 192.168.0.11(rw,sync) 192.168.0.15(ro,sync)
  # Partage du répertoire /home/user3 avec tous les membres du réseau 192.168.0.1/24 en lecture 
  simplement
  /home/user3 192.168.0.1/24(ro,sync)
Pour de plus amples informations sur la gestion des droits, je vous invite à consulter les pages du manuel : man 5 exports

Attention !

Si :
  1. sur le serveur le répertoire partagé appartient à l'utilisateur 1002
  2. et si vous donnez les droits d'écriture à l'hôte 192.168.0.11,
l'utilisateur de cet hôte qui aura le droit d'écriture dans ce répertoire
 est celui dont le numéro, sur cet hôte, est 1002.
Si ce numéro ne correspond à aucun utilisateur sur l'hôte :
 personne, pas même root, ne pourra écrire dans le dossier partagé à partir de cet hôte !

/etc/hosts.allow

Comme son nom l'indique, ce fichier va permettre de définir quels postes clients auront accès aux partages (quels postes seront autorisés à la connexion et à l'utilisation des services)
  # Syntaxe : service:hote.domain.com, .domain.com
  # Exemple basique (et un peu bourrin)
  ALL:192.168.0.1/24
Pour de plus amples informations sur la gestion des access, je vous invite à consulter les pages du manuel : man 5 hosts_acces

/etc/hosts.deny

Là aussi, comme son nom l'indique, ce fichier va permettre de définir quels postes clients n'auront pas accès aux partages (quels postes seront interdis à la connexion et à l'utilisation des services)
  # Syntaxe : service:hote.domain.com, .domain.com
  # Exemple basique (et un peu bourrin)
  ALL:PARANOID
Pour de plus amples informations sur la gestion des access, je vous invite, là encore, à consulter les pages du manuel : man 5 hosts_acces

(Re)Démarrage ses services

  # invoke-rc.d nfs-kernel-server restart
Et voilà qui termine la configuration du serveur.

Coté client

Montage manuel MOUNT

Pour accéder aux fichiers partagés un simple mount suffit, on va donc monter le répertoire /home/user1 du serveur dans le répertoire /mnt/user1 du client :
  # mount -t nfs 192.168.0.1:/home/user1 /mnt/user1

Montage automatique FSTAB

Il est également possible de monter automatiquement les répertoires partagés au démarrage de l'ordinateur client. Pour ce faire on va rajouter une ligne dans le fichier /etc/fstab
  # fichier /etc/fstab
  # <file system>         <mount point>   <type>  <options>  <dump>  <pass>
  192.168.0.1:/home/user1 /mnt/user1      nfs     defaults   0       0
Pour pas redémarrer et avoir accès pour la première fois au dossier partagé on peut utiliser mount comme suit :
  # mount -a
Et voila nous en avons terminé avec l'utilisation de NFS pour le partage de fichiers

Montage graphique : Rox-Filer

Installation

Regardez voir ici :
Logiciel Rox-Filer

Utilisation

Un simple (ou double) click sur le répertoire serveur monté avec nfs donne l'accès au contenu dans une fenêtre !
Avec rox-filer, la fermeture de la fenêtre proposera le démontage du point.
Voir le protocole avec les autres gestionnaires de fichiers (en général click-droit)

Montage par une commande ad-hoc au menu

Voici un complément permettant le montage par l'utilisateur si celui-ci n'a pas eu lieu pendant le démarage du client. Toutes les manipulations suivantes sont à faire sur le client.
Tout d'abord, modifier /etc/fstab pour autoriser le montage par les utilisateurs :
  # fichier /etc/fstab
  # <file system>         <mount point>   <type>  <options>  <dump>  <pass>
  192.168.0.1:/home/user1 /mnt/user1      nfs     rw,users   0       0
Il est alors possible de monter le partage par la commande suivante en mode “utilisateur” :
  mount /mnt/user1
  
Pour ajouter une entrée au menu, créez ce script sous /usr/local/bin/partage.sh
  # fichier /etc/fstab
  #! /bin/sh 
  mount /mnt/user1
  
Et rendez-le exécutable. Créez ce fichier desktop sous /usr/share/applications/partage.desktop
  # fichier partage.desktop
  [Desktop Entry]
  Categories=Network;
  Exec=/usr/local/bin/partage.sh
  GenericName=Network Manager
  Icon=preferences-system-network
  Icon[en_US]=preferences-system-network
  Name=Activer le partage NFS
  Comment=Activer le partage de répertoire NFS
  Terminal=false
  Type=Application
  Version=1.0
La commande devrait apparaître dans le menu et le partage exécutable par l'utilisateur

autofs

Autofs permet un montage et un démontage automatique des répertoires partagés en NFS.
L'avantage est qu'au démarrage du PC, si la connexion au réseau local n'est pas établie, il n'y aura pas d'erreur car automatiquement le répertoire utilisé ne sera pas monté.

Préalable

Il faut d'abord que le partage soit opérationnel. :-)

Installation

aptitude install autofs

auto.master

Par souci de sécurité, sauvegarder votre fichier
cp /etc/auto.master /etc/auto.master.old
Puis, éditer, en Root1) , le fichier auto.master et ajouter la dernière ligne comme ici :
  # $Id: auto.master,v 1.4 2005/01/04 14:36:54 raven Exp $
  #
  # Sample auto.master file
  # This is an automounter map and it has the following format
  # key [ -mount-options-separated-by-comma ] location
  # For details of the format look at autofs(5).
  #/misc /etc/auto.misc --timeout=60
  #/smb /etc/auto.smb
  #/misc /etc/auto.misc
  #/net /etc/auto.net
  /emplacement/du_point_de_montage_local /etc/auto.nfs --timeout=30

Création du fichier auto.nfs

Créer2) le fichier /etc/auto.nfs et ajouter ceci
  repertoire_de_montage -fstype=nfs hote:/repertoire/distant
  
en remplaçant hote par l'adresse ip ou le nom d'hôte du serveur.
Le répertoire repertoire_de_montage sera automatiquement créé dans /emplacement/du_point_de_montage_local
Par exemple, on peut envisager une ligne de auto.master comme celle-là :
  /home/user /etc/auto.nfs --timeout=30
  
et un auto.nfs comme celui-ci :
  serveur -fstype=nfs hote:/repertoire/distant
  
Votre répertoire distant apparaîtra alors dans le dossier serveur de votre répertoire personnel.