Home (autres pages) Léa Linux TrustOn Me OpenVPN French Linux Doc Project

Catalogue des services

Je veux pouvoir proposer les services suivants :

  • passerelle VPN,
  • service DNS,
  • serveur Apache avec une base de données MySQL,
  • une PKI (Public Key Infrastructure pour créer et gérer les clés privées / publiques de mon domaine),
  • un service SSH par machine,
  • un serveur Proxy (qui utilisera Squid).
  • un serveur SAMBA pour partager des données avec mon réseau local

Voilà pour commencer.

Services DNS et Proxy

Définition des flux

Un accès aux DNSun accès à l'internet via un proxy

On doit avoir une matrice des flux comme suit :


LAN

Internet

DMZ_PUB

DMZ_PRIV

LAN




HTTP 80

HTTPS 443

DNS

Internet








DMZ_PUB



HTTP 80

HTTPS 443


DNS

DMZ_PRIV








Avec ça, on devrait pouvoir surfer sur Internet !

Mais comment mettre en oeuvre...

Règles à mettre en oeuvre

Comme j'ai déjà présenté dans mes précédentes pages, pour la passerelle simple, on fait exactement la même chose sauf qu'on se retrouve avec plus d'interfaces ! Mais fondamentalement, rien ne change, c'est toujours une histoire de flux qui passe d'un endroit à un autre...

On commence par se connecter sur le pare-feu depuis Dom0 !

# xm console dom_fw

Ensuite, on pourrait créer un script comme suit :

#! /bin/sh

# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

IPTABLES="/sbin/iptables"

# On initialise netfilter, on nettoie, on prépare...
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -F -t mangle

# La police par défaut est, comme toujours, de ne rien laisser passer !
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP

$IPTABLES -A INPUT -i $LOOPBACK_INTERFACE -j ACCEPT
$IPTABLES -A OUTPUT -o $LOOPBACK_INTERFACE -j ACCEPT

$IPTABLES -X
$IPTABLES -X -t nat
$IPTABLES -X -t mangle

$IPTABLES -Z

# Ensuite on fait du masquerading vers l'interface Internet, toutes les DMZ
# et le LAN
$IPTABLES -A POSTROUTING -t nat -o eth0 -j MASQUERADE

# Et on va autoriser nos divers flux

# Tout d'abord le SSH vers notre pare-feu

$IPTABLES -A INPUT -s 192.168.100.0/24 -d 192.168.100.254 -p TCP -m state \
       --state NEW --dport 22 -j ACCEPT
$IPTABLES -A OUTPUT -d 192.168.100.0/24 -s 192.168.100.254 -p TCP -m state \
       --state ESTABLISHED,RELATED --dport 22 -j ACCEPT

# Ensuite le DNS
# depuis le LAN vers la DMZ_Privée
$IPTABLES -A FORWARD -s 192.168.100.0/24 -d 172.16.100.1 -p UDP \
       --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.100.0/24 -s 172.16.100.1 -p UDP \
       --dport 53 -j ACCEPT

# depuis le LAN DMZ_Privée vers l'Internet
$IPTABLES -A FORWARD -s 172.16.100.1 -p UDP \
       --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -d 172.16.100.1 -p UDP \
       --dport 53 -j ACCEPT

# depuis la DMZ Publique vers la DMZ Privée
$IPTABLES -A FORWARD -s 172.16.50.1 -d 172.16.100.1 -p UDP \
       --dport 53 -j ACCEPT
$IPTABLES -A FORWARD -d 172.16.50.1 -s 172.16.100.1 -p UDP \
       --dport 53 -j ACCEPT

# Enfin les flux de type HTTP et HTTPS
# depuis le LAN vers la DMZ_Publique
$IPTABLES -A FORWARD -s 192.168.100.0/24 -d 172.16.50.1 -p TCP -m state \
       --state NEW -m multiport --dport 80,443 -j ACCEPT
$IPTABLES -A FORWARD -d 192.168.100.0/24 -s 172.16.50.1 -p TCP -m state \
       --state ESTABLISHED,RELATED -m multiport --dport 80,443 -j ACCEPT

# depuis la DMZ_Publique vers l'Internet
$IPTABLES -A FORWARD -s 172.16.50.1 -p TCP -m state \
       --state NEW -m multiport --dport 80,443 -j ACCEPT
$IPTABLES -A FORWARD -d 172.16.50.1 -p TCP -m state \
       --state ESTABLISHED,RELATED -m multiport --dport 80,443 -j ACCEPT

Normalement, avec toutes ces règles, on devrait pouvoir surfer !

Pour cela, il faut configurer les postes clients dans le LAN 192.168.100.0/24, comme passerelle 192.168.100.254. Le DNS doit être 172.16.100.1.

Me contacter | ©2004-2005 Raum