Bonjour,

J'ai un serveur Linux Mdk 9.0 sur ADSL free, un client Win 98 et un client 
Mdk 9.0.

Après moult efforts, j'ai réussi à faire fonctionner Internet sur le serveur 
et le réseau. Il me reste à faire fonctionner Internet sur les 2 postes 
clients.

Les outils de partage et pare-feu du centre de contrôle Mandrake sont tout à 
fait inutiles car ils ne savent pas traiter l'arrivée ADSL par modem ISB 
Sagem.

Après consultations de pas mal de pages web, j'en suis arrivé à la 
conclusiion que je devais utiliser le pare-feu iptables pour effectuer le 
partage.

J'ai procé dé de 2 façons :

======================
=========== Méthode 1
J'ai lancé un certain nombre de commandes de type :
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s  192.168.0.0/24 -o ppp0 -j MASQUERADE
/sbin/service iptables save
Cela m'a généré un fichier /etc/sysconfig/iptables suivant :
======
# Generated by iptables-save v1.2.6a on Fri Dec 13 14:28:31 2002
*nat
:PREROUTING ACCEPT [40:2550]
:POSTROUTING ACCEPT [20:3030]
:OUTPUT ACCEPT [25:3340]
[5:310] -A POSTROUTING -o ppp0 -j MASQUERADE 
[0:0] -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o ppp0 -j MASQUERADE 
COMMIT
# Completed on Fri Dec 13 14:28:31 2002
# Generated by iptables-save v1.2.6a on Fri Dec 13 14:28:31 2002
*filter
:INPUT ACCEPT [6939:693786]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9338:879242]
[0:0] -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j 
ACCEPT 
[0:0] -A FORWARD -i ppp0 -o eth0 -j ACCEPT 
COMMIT
# Completed on Fri Dec 13 14:28:31 2002
=======
iptables étant lancé avec /etc/init.d/iptables start (ou /sbin/service 
iptables start)

======================
=========== Méthode 2
J'ai créé le fichier /etc/rc.d/init.d/parefeu ci-dessous et je lance 
iptables avec la commande /etc/rc.d/init.d/parefeu start

Dans les 2 cas, je n'arrive toujours pas à avoir Internet à partir de mes 
clients, sur lesquels j'ai pourtant déclaré le serveur comme passerelle.

Arrivé à ce point, des conseils seraient bienvenus. Ou, si vous avez mis en 
place un tel partage, une copie de fichier de config serait intéressante...

-- 
Alain Beyrand

======== fichier /etc/rc.d/init.d/parefeu de la méthode 2
#!/bin/sh

# Script IPTables générique, accepte tout par défaut

# chemin de l'exécutable iptables
IPT=/sbin/iptables
# mettez l'adresse de votre réseau local ci-dessous
mynet=192.168.52.0/24


# l'interface réseau que vous voulez sécuriser
# Ici, toute interface PPP si vous vous connectez à internet grâce à un lien 
modem PPP.
iface=ppp0
case "$1" in
  start)
        echo  "Starting firewall:"


# les listes de ports à rejeter
# rejeter tout sauf ssh, + postgres squid apache linuxconf
    tcp="1:19  26:79 81:109 111:1022 3128 3306 4100:4300 10000"
# rejeter tout + nfs sauf dns
    udp="1:52 54:1022 2049"

# effacer les précédentes rêgles
    $IPT -F INPUT
    $IPT -F OUTPUT
    $IPT -F FORWARD
    $IPT -F POSTROUTING -t nat
    $IPT -F PREROUTING -t nat
    $IPT -F OUTPUT -t nat

# rêgles pour l'IP masquerading
    $IPT -t nat -A POSTROUTING -s $mynet -o $iface -d 0/0 -j MASQUERADE
    $IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -d 0/0 -j 
MASQUERADE

# modules pour FTP et IRC sur les PC clients
#    modprobe ip_conntrack_irc
#    modprode ip_conntrack_ftp

##### IMPLANTATION DES FORWARDS ICI #####

 # blocage des tentatives d'IPspoofing (et log)
    $IPT -A INPUT -i $iface -s $mynet -j LOG
    $IPT -A INPUT -i $iface -s $mynet -j DROP

# blocage des ports serveurs
for p in $tcp ; do
        $IPT -A INPUT -p tcp -i $iface -s 0/0 -d 0/0 --dport $p -j REJECT
done
for p in $udp ; do
        $IPT -A INPUT -p udp -i $iface -s 0/0 -d 0/0 --dport $p -j REJECT
done
        echo  "syslog droped packets"
        echo " Firewall lancé"

        echo
        ;;
  stop)
        echo "Shutting down firewall:"

        $IPT -F INPUT
        $IPT -F OUTPUT
        $IPT -F FORWARD

        $IPT -P INPUT ACCEPT
        $IPT -P OUTPUT ACCEPT
        $IPT -P FORWARD ACCEPT

        $0 status

        echo
        ;;
  status)
        $IPT -L -n
        ;;

  verbose)
        $IPT -L -v
        ;;

  reset)
        $IPT -L -Z
        ;;

  restart)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|status|verbose|reset}"
        exit 1
esac

exit 0

###### FIN DU SCRIPT IPTABLES ######



Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à