08/04/2009 @ 11:34:25: blietaer: [iptables] Mini-gateway sur mon laptop
Je m'en vais dans quelques semaines pour quelques jours dans les bois d'Arlon. La seule connectique sanitaire avec le monde extérieur sera des cartes 3G.
Cela créera donc une interface ppp0 sur ma Linux préférée, grâce aux petits scripts que l'on trouve sur le net pour utiliser l'E220 de Huawei/vodafone/proximus.
L'eth0 sera quant à lui bien connecté à un petit LAN interne.
Le but du jeu est, vous l'aurez compris, de connecter un, ou plusieurs (allez on commence par un) des PCs du LAN vers l'internet.
Je sais qu'il y a ici quelques têtes brulées de l'iptable (ou alors on prononce ipchains de nos jours? jamais su...)
#Donc j'imagine que la première chose à faire c'est d'écrire un "1" respectivement dans :
echo "1" > /proc/sys/net/ipv4/ip_forward
# (ça paraît évident)
# et dans
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
# (bcp moins évident, mais ça sonne bien)
# Ensuite on purge les iptables qui pourraient traîner (?!):
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
# et puis on ouvre en grand la porte de sortie:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
mais...après...?
08/04/2009 @ 13:08:32: loots: [iptables] Mini-gateway sur mon laptop
Assure toi de configurer ta carte réseau LAN avec une adresse IP fixe par exemple 192.168.1.1
Crée un fichier avec le contenu suivant :
# Defines the location of iptables executables.
iptables=/sbin/iptables
#Clears if any old iptable rules/ policies are there.
iptables --flush -t nat
# Now we will do Masquerading ie. we are doing NAT.
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables --append FORWARD --in-interface eth0 -j ACCEPT
# Enabling packet forwarding.
echo 1 > /proc/sys/net/ipv4/ip_forward
Après avoir crée le fichier, n'oublies pas le "chmod +x tonfichier" pour le rendre exécutable.
Note que c'est la façon la plus simple de le faire.
Par contre, tu devras configurer chaque stations de ton LAN avec une adresse IP fixe, et spécifier les DNS de ta connexion mobile (Proximus, SFR, que sais-je).
Si tu veux aller plus loin dans la démarche, tu peux installer un serveur DHCP sur ton laptop + un serveur DNS mais là, je crois que tu vas passer des heures avant de faire tourner le tout !
08/04/2009 @ 13:37:10: ovh: [iptables] Mini-gateway sur mon laptop
Comment ça des heures ?
Un serveur dhcp c'est simple à configurer
Un dns cache aussi
(y a rien à configurer pour le dns, il fait la fonction de cache dans l'install par défaut) Puis sinon il peut utiliser les dns de son provider et les donner dans les informations dhcp, c'est quand même plus facile pour les machines clients et c'est simple à faire.
08/04/2009 @ 14:34:21: blietaer: [iptables] Mini-gateway sur mon laptop
Ouais pour le DNS j'utilise bind9 mais ici pour le coup je compte faire les deux en un avec l'excellentissime dnsmasq, c'était bien prévu.
Mais ça ne répond pas encore à ma question de laisser passer une ou deux machine sur le net (ou à l'inverse bloquer un range d'IP...)
et j'imagine que dans ton script il manque quelques petits "$" devant les iptables.
mais donc, point de vue philosophique, iptables reste bien le maître achat? ipchains est un fantome?
08/04/2009 @ 14:46:47: kortenberg: [iptables] Mini-gateway sur mon laptop
pour iptables, ipchains, ... ->
http://www.netfilter.org/
#pour filtrer, j'ai l'habitude de faire drop par défaut:
iptables -P FORWARD DROP
#d'accepter les connections déjà en route:
iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# de bloquer les cas particuliers
iptables -A FORWARD -i eth0 -o ppp0 -s 192.168.4.1 -m state --state NEW -j DROP
#accepter ce qu'il faut
iptables -A FORWARD -i eth0 -o ppp0 -s 192.168.4.0/24 -m state --state NEW -j ACCEPT
08/04/2009 @ 15:17:45: ovh: [iptables] Mini-gateway sur mon laptop
ipchains est l'ancien nom d'iptables.
Sinon franchement bli des tuto sur ce que tu demandes il y en a plein sur le net
Il existe aussi des interfaces graphiques comme Firestarter et Firewall Builder si tu veux.
08/04/2009 @ 16:18:07: loots: [iptables] Mini-gateway sur mon laptop
Comment ça des heures ?
Un serveur dhcp c'est simple à configurer
Un dns cache aussi
(y a rien à configurer pour le dns, il fait la fonction de cache dans l'install par défaut) Puis sinon il peut utiliser les dns de son provider et les donner dans les informations dhcp, c'est quand même plus facile pour les machines clients et c'est simple à faire.
Vivi, quand on connait. En l'occurrence, je pensais avoir à faire un quelqu'un qui débutait donc, quand on débute, on a vite fait de passer des heures même sur des choses aussi basiques que la configuration d'un serveur DNS bind en forward
08/04/2009 @ 16:41:29: ovh: [iptables] Mini-gateway sur mon laptop
bli fait semblant d'être débutant, mais en fait il maîtrise linux
17/04/2009 @ 13:56:06: blietaer: [iptables] Mini-gateway sur mon laptop
tiens, certaines règles nécessites des modules que je ne trouve pas...je ne vois même pas comment/où les compiler dans le kernel....
iptables_nat n'est trouvable nulle part.
# iptables -F -t nat
iptables v1.4.2: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
17/04/2009 @ 14:12:17: max: [iptables] Mini-gateway sur mon laptop
iptable_nat sans le s
17/04/2009 @ 14:30:22: blietaer: [iptables] Mini-gateway sur mon laptop
oui voilà, exactement.
Tu sais comment le pondre?
17/04/2009 @ 15:08:49: kortenberg: [iptables] Mini-gateway sur mon laptop
Quelle distro tu utilises?
je n'ai jamais vu une distro retirer iptable_nat des modules compilés.
17/04/2009 @ 15:19:40: max: [iptables] Mini-gateway sur mon laptop
oui, je pense, dans les options netfilter normalement
17/04/2009 @ 15:23:01: ovh: [iptables] Mini-gateway sur mon laptop
Quelle distro tu utilises?
je n'ai jamais vu une distro retirer iptable_nat des modules compilés.
Connaissant blibil, il est capable d'avoir tout recompilé à la main...
17/04/2009 @ 15:33:02: blietaer: [iptables] Mini-gateway sur mon laptop
sam> oui oui, mais plus précisément dans NF_NAT. Trouvé et compilé.
Vais rebooter.
ovh> ben...oui, gentoo & kernel fait maison obligent
17/04/2009 @ 15:56:47: ovh: [iptables] Mini-gateway sur mon laptop
ovh> ben...oui, gentoo & kernel fait maison obligent
C'est trop cool de devoir recompiler plein de brols à la moindre modif
Kesske chuis content avec les Debian / Ubuntu
17/04/2009 @ 15:59:06: kortenberg: [iptables] Mini-gateway sur mon laptop
Pourquoi tu ne compiles pas "tout le reste" en module?
A part prendre un peu de place, ça ne fait pas pas de mal chose.
Edit:
C'est trop cool de devoir recompiler plein de brols à la moindre modif
Kesske chuis content avec les Debian / Ubuntu
j'utilise une debian et pourtant je recompile mon kernel.
Mais la plus part de ce que je n'utilise pas ou rarement, je les garde en modules au cas où.