Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1754 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  iptables et dns...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

iptables et dns...

n°721662
vincent0
Posté le 26-08-2005 à 13:25:58  profilanswer
 

Bonjour,
 
Je suis loin d'être un pro en réseau mais j'aimerais bien que mon pc portable puissent partager une connection internet pour d'autres pc.
J'ai donc fait ceci:
Chain FORWARD (policy ACCEPT)
target     prot opt source                       destination          
ACCEPT     tcp  --  vinc                         7.147-200-80.adsl.skynet.be tcp spt:www  
ACCEPT     tcp  --  7.147-200-80.adsl.skynet.be  vinc                        tcp spt:www  
 
Est-ce juste ?
 
Maintenant il faudrait autoriser le passage des DNS, comment faire ?
 
Merci...

mood
Publicité
Posté le 26-08-2005 à 13:25:58  profilanswer
 

n°721686
l0ky
Posté le 26-08-2005 à 13:47:09  profilanswer
 

vu la politique par défaut (ACCEPT) tout est autoriser
 
Pour le DNS c'est UDP en port 53


Message édité par l0ky le 26-08-2005 à 13:47:47
n°721726
vincent0
Posté le 26-08-2005 à 14:32:59  profilanswer
 

Voila ce que j'ai:
Chain FORWARD (policy ACCEPT) //Je m'occuperai de ça après...
target     prot opt source               destination          
ACCEPT     tcp  --  vinc                7.147-200-80.adsl.skynet.be tcp spt:www  
ACCEPT     tcp  --  7.147-200-80.adsl.skynet.be  vinc                tcp spt:www  
ACCEPT     udp  --  7.147-200-80.adsl.skynet.be  vinc                udp spt:domain  
ACCEPT     udp  --  vinc                7.147-200-80.adsl.skynet.be udp spt:domain  
 
Donc ceci se trouve sur mon portable qui possède Internet.
 
Sur mon pc de bureau, j'ai mis dans les paramètres de ma carte réseau: passerelle: 192.168.0.1 (donc l'ip du portable) et j'ai mis les 2 dns de mon FAI.
Depuis mon pc de bureau j'arrive à pinger l'adresse Internet (80.200.147.7) mais je n'arrive pas à avoir internet sur Firefox ou IE !
 
Une idée ?

n°721728
vomegaz
~Libriste & Gulden Draak fan~
Posté le 26-08-2005 à 14:33:33  profilanswer
 

l0ky a écrit :

vu la politique par défaut (ACCEPT) tout est autoriser
 
Pour le DNS c'est UDP en port 53


 
ça utilise pas également le TCP sur le port 53 ?

n°721730
vincent0
Posté le 26-08-2005 à 14:37:38  profilanswer
 

J'ai mis aussi le tcp mais ça ne change rien...
 
Qui peut confirmer si le dns utilise le protocol tcp ?

n°721733
l0ky
Posté le 26-08-2005 à 14:40:30  profilanswer
 

non
Pour lister tes règles fait  
iptables -L FORWARD -v -n
et mets dans un bloc fixed pour que ce soit lisible
Ensuite je suis pas sur que tu es bien saisit comment faire des regle iptables
 
tu met en destination une seule adresse (celle de 7.147-200-80.adsl.skynet.be et le port source en 80) c'est pas ca !
la tu n'autorisera que les paquets provenant de la machine ayant comme nom vinc à destination 7.147-200-80.adsl.skynet.be et ayant comme port source  le port 80
 
ca marchera jamais si tu mets ensuite une politique à DROP :/
 
 
Ensuite a tu activer le routage ?
 
sysctl -w net.ipv4.ip_forward=1
 
Regarde ici:
http://christian.caleca.free.fr/netfilter/


Message édité par l0ky le 26-08-2005 à 14:42:02
n°721760
vincent0
Posté le 26-08-2005 à 15:08:59  profilanswer
 

Quand je vais sur google, le paquet il est à quel destination ? A destination de google ou de mon FAI (80.200.147.7) ?
 
Est-ce mieux comme ceci:

Chain FORWARD (policy ACCEPT 14 packets, 826 bytes)
 pkts bytes target     prot opt in     out     source               destination          
    0     0 ACCEPT     udp  --  *      *       80.200.147.7         192.168.0.1         udp spt:53  
    0     0 ACCEPT     udp  --  *      *       192.168.0.1          80.200.147.7        udp spt:53  
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp spt:80  
    0     0 ACCEPT     tcp  --  *      *       192.168.0.1          0.0.0.0/0           tcp spt:80


 
0.0.0.0/0 ==> je supose que ça veut bien dire que ça accepte toutes les ip ?

n°721765
l0ky
Posté le 26-08-2005 à 15:25:13  profilanswer
 

vincent0 a écrit :

Quand je vais sur google, le paquet il est à quel destination ? A destination de google ou de mon FAI (80.200.147.7) ?


Bah à destination de google [:pingouino]
Sauf si tu utilises un proxy de ton FAI (ce que je penses pas)

vincent0 a écrit :


Est-ce mieux comme ceci:

Chain FORWARD (policy ACCEPT 14 packets, 826 bytes)
 pkts bytes target     prot opt in     out     source               destination          
    0     0 ACCEPT     udp  --  *      *       80.200.147.7         192.168.0.1         udp spt:53  
    0     0 ACCEPT     udp  --  *      *       192.168.0.1          80.200.147.7        udp spt:53  
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp spt:80    
    0     0 ACCEPT     tcp  --  *      *       192.168.0.1          0.0.0.0/0           tcp spt:80


 
0.0.0.0/0 ==> je supose que ça veut bien dire que ça accepte toutes les ip ?


Oui c'est bien toutes les adresses
Tu te plantes pour les ports entre source et destination !


Message édité par l0ky le 26-08-2005 à 15:25:46
n°721767
l0ky
Posté le 26-08-2005 à 15:26:34  profilanswer
 

Quand tu fais une requetes sur un serveur Web le port destination est 80
Quand le serveur web te répond c'est le port source qui est 80 !
 

n°721772
western
AJMM
Posté le 26-08-2005 à 15:35:30  profilanswer
 

l0ky a écrit :

Quand tu fais une requetes sur un serveur Web le port destination est 80
Quand le serveur web te répond c'est le port source qui est 80 !


sauf que certains serveurs redirigent les ports et dans ce cas...
 
 
la meilleure solution pour une personne qui n'est pas pro mais qui souhaite savoir est "rules builder"... Il y a shorewall, fwbuilder, etc. Personnelement, j'ai personnalisé les scripts shorewall pour un réseau en trois zones (secure, dmz, unsecure) et ça marche bien...

mood
Publicité
Posté le 26-08-2005 à 15:35:30  profilanswer
 

n°721774
vincent0
Posté le 26-08-2005 à 15:39:32  profilanswer
 

Voila ce que j'ai mais ça ne va toujours pas :( :

Chain FORWARD (policy ACCEPT 32 packets, 1923 bytes)
 pkts bytes target     prot opt in     out     source               destination          
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp spt:80  
    0     0 ACCEPT     tcp  --  *      *       192.168.0.1          0.0.0.0/0           tcp dpt:80  
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            192.168.0.1         udp spt:53
    0     0 ACCEPT     udp  --  *      *       192.168.0.1          0.0.0.0/0           udp dpt:53


 

n°721775
l0ky
Posté le 26-08-2005 à 15:40:40  profilanswer
 

Deja tu n'as pas répondu a ca

l0ky a écrit :


Ensuite a tu activer le routage ?
 
sysctl -w net.ipv4.ip_forward=1


 
Et il faudrait également rajouter cette règle pour le nat:
iptables -A POSTROUTING -o INTERFACE_INTERNET -j MASQUERADE
 
où INTERFACE_INTERNET correspond au nom de l'interface connectée à ton FAI


Message édité par l0ky le 26-08-2005 à 15:42:23
n°721781
vincent0
Posté le 26-08-2005 à 15:50:58  profilanswer
 

sysctl -w net.ipv4.ip_forward=1 ==> C'est fait :)
 
vinc# iptables -A POSTROUTING -o ppp0 -j MASQUERADE  
iptables: No chain/target/match by that name

n°721796
vincent0
Posté le 26-08-2005 à 16:24:19  profilanswer
 

il manquait "-t nat" et maintenant tout fonctionne, merci...
 
Pour bloquer tout le reste je doit juste mettre le policy à DROP ?

n°721798
l0ky
Posté le 26-08-2005 à 16:29:32  profilanswer
 

a oui exact, j'avais oublié la table :/
sinon oui
mais je te conseilles de lire de la doc sur netfilter/iptables un peu et sur le réseau pour faire un script qui tient la route.
 
Sinon il existe pas mal de script déja tout fait qui sont pas mal

n°721808
vincent0
Posté le 26-08-2005 à 16:56:07  profilanswer
 

Il fallait biensur que ça ne fonctionne pas, lol :(
 
J'ai donc fait ceci: iptables -P FORWARD DROP
Et voila ce que ça donne:
 

vinc# iptables -L -v -n
Chain INPUT (policy ACCEPT 118K packets, 160M bytes)
 pkts bytes target     prot opt in     out     source               destination          
 
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination          
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp spt:80  
    0     0 ACCEPT     tcp  --  *      *       192.168.0.1          0.0.0.0/0           tcp dpt:80  
    0     0 ACCEPT     udp  --  *      *       192.168.0.1          0.0.0.0/0           udp dpt:53  
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            192.168.0.1         udp spt:53  
 
Chain OUTPUT (policy ACCEPT 98441 packets, 7588K bytes)
 pkts bytes target     prot opt in     out     source               destination


 
Le problème, c'est que internet ne va plus mais je sais toujours pinger le 80.200.147.7 !

n°721882
Je@nb
Kindly give dime
Posté le 26-08-2005 à 21:30:18  profilanswer
 

normal là tu accepte le http et le dns (que en udp d'ailleurs hors que c udp+tcp) et en aucun cas le ping.

n°721884
l0ky
Posté le 26-08-2005 à 21:35:07  profilanswer
 

le dns c'est uniquement de l'udp !!

n°721887
Je@nb
Kindly give dime
Posté le 26-08-2005 à 21:43:32  profilanswer
 

tcp        0      0 192.168.1.1:53          0.0.0.0:*               LISTEN     17935/named
 
 
:/

n°721893
l0ky
Posté le 26-08-2005 à 21:58:47  profilanswer
 

désolé mais les requêtes DNS chez moi et dans tous les réseaux que j'ai montés et dont j'ai l'administration se font uniquement en UDP. Les firewalls sont configurés pour n'accepter que l'udp pour le DNS et j'ai jamais eut de probleme.
 
pour moi du DNS en TCP c'est intrinsèquement trop lourd.
 
bind écoute effectivment sur le port tcp 53 mais je ne ai jamais vu de client s'en servir.
tcp est utilisé entre autres pour le transfert de zone et les choses de ce type. Je doute qu'il en ai la réelle utilité
 
[:spamafote]


Message édité par l0ky le 26-08-2005 à 22:05:00
n°722058
vincent0
Posté le 27-08-2005 à 14:19:01  profilanswer
 

J'ai mis le dns en tcp (on sais jamais) mais ça ne va tourjours pas mieux...et je sais pinger mais pas aller sur IE ou Firefox...donc pour moi ça serait un problème de DNS mais je ne voi vraiment pas où est le problème !
 

# iptables -L -v -n
Chain INPUT (policy ACCEPT 89 packets, 12422 bytes)
 pkts bytes target     prot opt in     out     source               destination          
 
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination          
    0     0            tcp  --  *      *       192.168.0.1          0.0.0.0/0           tcp dpt:80  
    0     0            tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp spt:80  
    0     0            udp  --  *      *       192.168.0.1          0.0.0.0/0           udp dpt:53  
    0     0            udp  --  *      *       0.0.0.0/0            192.168.0.1         udp spt:53  
    0     0            tcp  --  *      *       192.168.0.1          0.0.0.0/0           tcp dpt:53  
    0     0            tcp  --  *      *       0.0.0.0/0            192.168.0.1         tcp spt:53  
 
Chain OUTPUT (policy ACCEPT 63 packets, 5617 bytes)
 pkts bytes target     prot opt in     out     source               destination

n°722062
Je@nb
Kindly give dime
Posté le 27-08-2005 à 14:22:59  profilanswer
 

192.168.0.1 c'est l'ip de quoi ? De ta machine dans ton LAN ?
 
et iptables -t nat -L -v -n donne quoi ?

n°722067
vincent0
Posté le 27-08-2005 à 14:32:22  profilanswer
 

# iptables -t nat -L -v -n
Chain PREROUTING (policy ACCEPT 95 packets, 12649 bytes)
 pkts bytes target     prot opt in     out     source               destination          
 
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination          
  109  6502 MASQUERADE  all  --  *      ppp0    0.0.0.0/0            0.0.0.0/0            
 
Chain OUTPUT (policy ACCEPT 107 packets, 6395 bytes)
 pkts bytes target     prot opt in     out     source               destination


 
J'ai donc mon pc portable sur linux qui possède l'ip 192.168.0.1 et qui à la connection internet.
J'ai un pc de bureau qui possède l'ip 192.168.0.2 et j'aimerais bien qu'il dispose d'internet...
 

n°722074
Je@nb
Kindly give dime
Posté le 27-08-2005 à 14:50:59  profilanswer
 

Voila donc dans tes règles dans forward il faut mettre 192.168.0.2 et pas .1 car c'est lui l'ip source (edit : ou de destination) :)


Message édité par Je@nb le 27-08-2005 à 14:51:14
n°722076
vincent0
Posté le 27-08-2005 à 15:02:10  profilanswer
 

Merci maintenant tout fonctionne...
 
Et pour info, les dns n'utilisent pas le protocol tcp.

n°722077
l0ky
Posté le 27-08-2005 à 15:14:15  profilanswer
 

si pour le transfert de zone [:pingouino]


Message édité par l0ky le 27-08-2005 à 15:14:21
n°722082
sebchap
Share the knowledge
Posté le 27-08-2005 à 15:28:42  profilanswer
 

J'ai lu en diagonale le sujet donc dsl si j'nefonce des portes ouvertes, mais:
1) tes regles par defaut sont de tout accepté donc il ne sert a rien dans ton cas de rajouter des regles ACCEPT. La seule chose qu'il faut rajouter pour le partage de connexion, c'est le masquerading et l'ip forwarding (ce qui a été fait).
2)je partage souvent ma connexion, et je n'ai jamais eu a m'occuper des dns, ils sont toujours recuperés automatiquement, ou alors, je les mets dans mon /etc/resolv.conf ou dans les proprietés de la connexions sous windows.
3)ton firewall est en bois, là. Il ne sert pour ainsi dire a rien vu que tu acceptes tout. La premiere chose a faire dans un script de firewall, c'est de bloquer TOUT le traffic et d'autoriser ensuite certains flux.
 
En plus du site que t'a donné l0ky, tu as aussi celui qui est très bon:
http://olivieraj.free.fr/fr/linux/ [...] /firewall/


---------------
BOFH excuse #400:We are Microsoft.  What you are experiencing is not a problem; it is an undocumented feature.
n°722084
vincent0
Posté le 27-08-2005 à 15:32:35  profilanswer
 

sebchap -> maintenant le FORWARD est en DROP ! Faut-il aussi que je mettent INPUT et OUTPUT en DROP pour une meilleur sécu ?
 
Quand j'aurai le temps je lirais les 2 sites sur le réseau.

n°722086
Je@nb
Kindly give dime
Posté le 27-08-2005 à 15:35:02  profilanswer
 

Oui ça protègera ta passerrelle internet mais dans ce cas il faut absolument autoriser lo en input/outpout

n°722129
l0ky
Posté le 27-08-2005 à 18:07:24  profilanswer
 

mikala a écrit :

non.
cela peut aussi passer en tcp parfois :)


C'est ce que je dis apres :)
Pour ces besoins l'udp suffit largement

n°722133
mikala
Souviens toi du 5 Novembre...
Posté le 27-08-2005 à 17:59:46  profilanswer
 

l0ky a écrit :

le dns c'est uniquement de l'udp !!


non.
cela peut aussi passer en tcp parfois :)

n°722134
mikala
Souviens toi du 5 Novembre...
Posté le 27-08-2005 à 18:11:51  profilanswer
 

oui ,j'ai répondu un peu trop vite .
et après flemme d'effacer mon post :p

n°722135
l0ky
Posté le 27-08-2005 à 18:16:39  profilanswer
 

mikala a écrit :

oui ,j'ai répondu un peu trop vite .
et après flemme d'effacer mon post :p


ca fait bizarre là :
mon post (où je te répond est situé avant) le tien (sans édit ni rien)
Il est bien ce forum, on répond avant que tu postes  :love:  
 

n°1122720
shurik84
Posté le 18-03-2009 à 09:53:47  profilanswer
 

Bonjour j'ai moi aussi un soucis de dns et je ne sais pas d'ou viens le probleme :J'utilise un serveur proxy / firewall a 5 interfaces sous vmware

 

Le proxy me sert d'authentification d'accés sur internet !

 

Mon interface qui est nater et qui me permet de me connecter sur internet est eth4 : 192.168.247.100

 

Mon fichier resolv.conf : nameserver 192.168.247.2 cette adresse correspond à la passerelle ( gateway ip adress) qui est configuré dans vmware : => Vmware\Virtual network settings\Nat

 

Sans iptables j'arrive a me connecter sur internet sans soucis mais dés que j'active mes regles de filtrages j'ai un probléme avec le dns ! Je n'arrive a naviguer que sur les pages du site debian.org que j'ai deja visiter sans les regles de filtrage ( seulement quelques unes ) puis si j'essaye d'aller sur d'autre part aprés 2-3min J'ai ce message qui apparait

 
Code :
  1. The requested URL could not be retrieved
  2. While trying to retrieve the URL: http://www.google.com/
  3. The following error was encountered:
  4.     Unable to determine IP address from host name for www.google.com
  5. The dnsserver returned:
  6.     Timeout
  7. This means that:
  8. The cache was not able to resolve the hostname presented in the URL.
  9. Check if the address is correct.
 

Les modules modprobe ip_conntrack,modprobe iptable_nat,modprobe ip_conntrack_ftp sont chargés

 

Voici une partie de mes regles :

Code :
  1. # Initialisation de la table FILTER
  2. # Par defaut, tout les paquets sont détruits
  3. iptables -t filter -F
  4. iptables -t filter -X
  5. iptables -t filter -P INPUT   DROP
  6. iptables -t filter -P OUTPUT  DROP
  7. iptables -t filter -P FORWARD DROP
  8. # Initialisation de la table NAT
  9. iptables -t nat -F
  10. iptables -t nat -X
  11. iptables -t nat -P PREROUTING  ACCEPT
  12. iptables -t nat -P POSTROUTING ACCEPT
  13. iptables -t nat -P OUTPUT      ACCEPT
  14. # Initialisation de la table MANGLE
  15. iptables -t mangle -F
  16. iptables -t mangle -X
  17. iptables -t mangle -P PREROUTING  ACCEPT
  18. iptables -t mangle -P INPUT       ACCEPT
  19. iptables -t mangle -P OUTPUT      ACCEPT
  20. iptables -t mangle -P FORWARD     ACCEPT
  21. iptables -t mangle -P POSTROUTING ACCEPT
  22. #Aucun filtrage sur la boucle locale
  23. iptables -t filter -A OUTPUT -o lo -j ACCEPT
  24. iptables -t filter -A INPUT  -i lo -j ACCEPT
  25. #Autorise la translation d'adresse ( Accés Lan vers internet )
  26. iptables -t nat -A POSTROUTING -o eth4 -j MASQUERADE
  27. #Autorise les requetes dns
  28. iptables -t filter -A INPUT -i eth4 -p udp --dport 53 -j ACCEPT
  29. iptables -t filter -A OUTPUT -o eth4 -p udp --sport 53 -j ACCEPT
  30. puis j'ai tester avec d'autre regles trouver sur un site mais rien a faire
  31. iptables -A OUTPUT -o eth4 -s 192.168.247.100 -d 0.0.0.0/0 -p TCP --sport 53 -m state --state RELATED,ESTABLISHED -j ACCEPT
  32. iptables -A OUTPUT -o eth4 -s 192.168.247.100 -d 0.0.0.0/0 -p UDP --sport 1024: --dport 53 -m state --state NEW -j ACCEPT
  33. iptables -A INPUT -i eth4 -s 0.0.0.0/0 -d 192.168.247.100 -p TCP --dport 53 -m state --state ! INVALID -j ACCEPT
  34. iptables -A INPUT -i eth4 -s 0.0.0.0/0 -d 192.168.247.100 -p UDP --sport 53 --dport 1024: -m state --state ESTABLISHED -j ACCEPT
 

Cela viens t il du fichier resolv.conf ou seulement des regles iptables ?
Merci de votre aide car je galere depuis un moment a trouver l'erreur

 


Message édité par shurik84 le 18-03-2009 à 10:10:07
n°1122723
Je@nb
Kindly give dime
Posté le 18-03-2009 à 09:56:26  profilanswer
 

Tu as un serveur DNS sur ton pc qui utilise iptables ?
Parce que les chaines input/output c'est pour le traffic à destination/source de la machine.
Si c'est pas le cas faut regarder du côté de la chaine forward

n°1122724
shurik84
Posté le 18-03-2009 à 10:06:00  profilanswer
 

Je@nb a écrit :

Tu as un serveur DNS sur ton pc qui utilise iptables ?
Parce que les chaines input/output c'est pour le traffic à destination/source de la machine.
Si c'est pas le cas faut regarder du côté de la chaine forward

 

Justement pour pouvoir permettre au FW de sortir sur internet c'est pas en INPUT/OUTPUT ?
Non je n'ai aucun serveur dns, je sais c'est peut etre pas logique de vouloir faire sortir le FW sur internet niveau securité mais c'est juste pour un test important histoire d'avoir une regle dns dans le FW!

 

Je vais essayer sur la chaine forward

 



Message édité par shurik84 le 18-03-2009 à 10:08:09
n°1122725
Modération
Posté le 18-03-2009 à 10:13:03  answer
 

shurik84> Sans déconner, je t'ai déjà dit 100 fois de rester sur ton topic qui contient tout l'historique de tes problèmes , la description précise de ce que tu veux faire, etc... au lieu de faire remonter ces vieux topics
 
Donc retournes y, merci !

mood
Publicité
Posté le   profilanswer
 


Aller à :
  FORUM HardWare.fr
  Linux et OS Alternatifs

  iptables et dns...

 

Sujets relatifs
[Debian] Où mettre mon script iptables ?Iptables et log
Iptables/Netfilter problème avec les hooks (décision routage erronée)Problème de transparence du proxy avec iptables
[RESOLU] [PB] iptables => peux me connecter à aucun ftpRech:Le script iptables parfait pour protéger un serveur apache et ftp
Detection/analyse d'intrusions IPTables/IPFilterPasserelle avec iptables : problème de SMTP
securiser iptables securiser iptables
Plus de sujets relatifs à : iptables et dns...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR