problème passerelle internet (Iptables, je pense)

problème passerelle internet (Iptables, je pense) - Linux et OS Alternatifs

Marsh Posté le 10-04-2006 à 16:24:30    

Hello,
 
 
Je dispose de 2 cartes réseaux sur un ordinateur tournant sous Linux Debian.
Cette ordinateur doit servir de passerelle internet(et faire proxy  aussi ;) ).
 
1 des cartes réseaux (eth1), reçoit par le modem son IP (en DHCP donc)
L'autre (eth0)est en IP fixe (192.168.2.1) et attribue les IPs de mon réseau local.
 
 
Mais je n'arrive pas à accèder à Internet à partir de mon réseau local.
 
 
Lorsque je tape la commande :
route -n
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth1
 
 

 

 
Mes régles d'iptables sont les suivantes (que j'ai fait en lisant de la doc à droite et à gauche):
 
 

Code :
  1. firewall_start() {
  2. echo "[Démarrage du firewall]"
  3. ########################## REGLES PAR DEFAUT ###########################
  4. echo "[Initialisation de la table filter]"
  5. iptables -F
  6. iptables -X
  7. echo "[Politique par défaut de la table filter]"
  8. # On ignore tout ce qui entre ou transite  par la passerelle
  9. iptables -P INPUT DROP
  10. iptables -P FORWARD DROP
  11. # On accepte, ce qui sort
  12. iptables -P OUTPUT ACCEPT
  13. # autoriser l'accès à la loopback
  14. iptables -A INPUT  -i lo -j ACCEPT
  15. iptables -A OUTPUT -o lo -j ACCEPT
  16. ############################ LOCAL-INTERNET ###########################
  17. echo "[On autorise les clients à accéder à internet ]"
  18. #On créé une nouvelle chaîne, le nom est indifférent
  19. # appelons-la "local-internet"
  20. iptables -N local-internet
  21. # On définit le profil de ceux qui appartiendront à "local-internet"
  22. # "local-internet" concerne toutes les connections sauf celles venant d'internet ( ! = non)
  23. iptables -A local-internet -m state --state NEW -i ! eth1 -j ACCEPT
  24. #Evidemment, une fois acceptées comme "local-internet", les connections peuvent continuer
  25. # et faire des petits :-)
  26. iptables -A local-internet -m state --state ESTABLISHED,RELATED -j ACCEPT
  27. # On termine en indiquant que les connections appartenant à "local-internet"
  28. # accèdent à internet de manière transparente.
  29. iptables -A INPUT -j local-internet
  30. iptables -A FORWARD -j local-internet
  31. ################# LES TABLES NAT ET MANGLE #############################
  32. echo "[Initialisation des tables nat]"
  33. iptables -t nat -F
  34. iptables -t nat -X
  35. iptables -t nat -P PREROUTING ACCEPT
  36. iptables -t nat -P POSTROUTING ACCEPT
  37. iptables -t nat -P OUTPUT ACCEPT
  38. #iptables -t mangle -F
  39. #iptables -t mangle -X
  40. #iptables -t mangle -P PREROUTING ACCEPT
  41. #iptables -t mangle -P OUTPUT ACCEPT
  42. ############### LE MASQUERADING ########################################
  43. echo "[Mise en place du masquerading]"
  44. iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
  45. ############### REDIRECTION IP/PORT ####################################
  46. echo "[Activation du filtrage web redirection proxy]"
  47.        iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
  48. ######################### ACTIVATION DE LA PASSERELLE ##################
  49. echo "[Activation de la passerelle]"
  50. echo 1 > /proc/sys/net/ipv4/ip_forward
  51. ########################### PAS DE SPOOFING ############################
  52. echo "[Pas de spoofing]"
  53. if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] ; then
  54. for filtre in /proc/sys/net/ipv4/conf/*/rp_filter
  55. do
  56. echo 1 > $filtre
  57. done
  58. fi
  59. ################################## PAS DE SYNFLOOD ####################
  60. echo "[Pas de synflood]"
  61. if [ -e /proc/sys/net/ipv4/tcp_syncookies ] ; then
  62.   echo 1 > /proc/sys/net/ipv4/tcp_syncookies
  63. fi
  64. ############################ PAS DE PING ###############################
  65. #echo "[Pas ping]"
  66. #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
  67. #echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  68. #if [ -e /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses ] ; then
  69. # echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
  70. #fi
  71. ######### Fonctionnalités serveurs #####################################
  72. echo "[Etude des fonctionalités serveurs, visibles depuis internet ]"
  73. echo "[autorisation du serveur ssh(22) ...]"
  74. iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  75. #echo "[autorisation du serveur http(80) ...]"
  76. #iptables -A INPUT -p tcp --dport www -j ACCEPT
  77. #echo "[autorisation du serveur https(443) ...]"
  78. #iptables -A INPUT -p tcp --dport https -j ACCEPT
  79. echo "[autorisation du serveur DNS(53) ...]"
  80. iptables -A INPUT -p udp --dport domain -j ACCEPT
  81. iptables -A INPUT -p tcp --dport domain -j ACCEPT
  82. #echo "[autorisation du serveur FTP(21 et 20) ...]"
  83. #iptables -A INPUT -p tcp --dport ftp -j ACCEPT
  84. #iptables -A INPUT -p tcp --dport ftp-data -j ACCEPT
  85. echo "[firewall activé !]"
  86. }

 

 
Quelqu'un voit il des erreurs de conception?
 
Merci de votre aide.
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 10-04-2006 à 16:24:30   

Reply

Marsh Posté le 10-04-2006 à 16:39:04    

J'ai pas tout regardé mais si ton réseau local (la ou tes clients sont) est en 192.168.2.0/24, ta règle

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE


est fausse
C'est :

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j MASQUERADE


qu'il faut mettre

Reply

Marsh Posté le 10-04-2006 à 16:49:26    

oups, merci.
j'essaie de suite.

Reply

Marsh Posté le 10-04-2006 à 17:00:54    

merci, ca marche .. j'ai honte.
 
J'ai encore un problème quand j'active mon serveur proxy.. ca bloque mon acces Internet.
Je vais cherché.. et si je trouve pas .. je vais faire appel à vos lumières ;).
 
Merci encore.

Reply

Marsh Posté le 11-04-2006 à 11:16:54    

Hello,
 
Grâce à votre aide, j'ai réussi à configurer mon firewall.
Mais je me retrouve de nouveau bloqué pour mettre en place mon proxy transparent squid. :/
 
Mon réseau local passe bien par le proxy.
Mais celui ci, interdit tout accès.
 
cela doit être un problème d'acl mais je seche.
 
voici ma config :
 
 

Code :
  1. acl all src 0.0.0.0/0.0.0.0
  2. acl manager proto cache_object
  3. acl localhost src 127.0.0.1/255.255.255.255
  4. acl to_localhost dst 127.0.0.0/8
  5. acl SSL_ports port 443 563 # https, snews
  6. acl SSL_ports port 873 # rsync
  7. acl Safe_ports port 80 # http
  8. acl Safe_ports port 21 # ftp
  9. acl Safe_ports port 443 563 # https, snews
  10. acl Safe_ports port 70 # gopher
  11. acl Safe_ports port 210 # wais
  12. acl Safe_ports port 1025-65535 # unregistered ports
  13. acl Safe_ports port 280 # http-mgmt
  14. acl Safe_ports port 488 # gss-http
  15. acl Safe_ports port 591 # filemaker
  16. acl Safe_ports port 777 # multiling http
  17. acl Safe_ports port 631 # cups
  18. acl Safe_ports port 873 # rsync
  19. acl Safe_ports port 901 # SWAT
  20. acl purge method PURGE
  21. acl CONNECT method CONNECT
  22. acl LocalNet src 192.168.2.0/255.255.255.0

 

 
 

Code :
  1. http_access allow manager localhost
  2. http_access deny manager
  3. http_access allow purge localhost
  4. http_access deny purge
  5. http_access deny !Safe_ports
  6. http_access deny CONNECT !SSL_ports
  7. http_access allow localhost
  8. http_access allow LocalNet
  9. http_access deny all
  10. http_reply_access allow all
  11. icp_access allow all

 

 
 

Code :
  1. httpd_accel_port 80
  2. httpd_accel_single_host off
  3. httpd_accel_with_proxy on
  4. httpd_accel_host virtual

 

Quelqu'un voit il un problème?
 
Merci de votre aide.
 

 

Reply

Marsh Posté le 11-04-2006 à 15:06:28    

bon .. je rame de plus en plus
J'ai essayé de mettre  
http_access allow all
à la place de
http_access deny all
cela ne change rien.
 
j'ai installé squidguard (pour tester)... si le site est interdit dans els listes, celui ci prend le dessus et affiche ma page d'erreur.
Sinon c'est squid qui m'affiche acces denied.
 
 
 
je suis un peu perdu

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed