Cesar4 Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 slt, J'ai fait un script iptables mais le problème c'est que je ne comprend pas pour quoi il bloque tout j'ai ouvert le port 80 en tcp et udp et le port 53 en udp et tcp mais je ne sais toujours pas charger de page web voici mon script #!/bin/shstart( ) { ### Variables globales ### Internet=eth0 Lan=eth0 Output=ACCEPT #politique des packet sortants ### Initialise iptables ### stop ### ### Politique par defaut ### iptables -P INPUT DROP iptables -P OUTPUT $Output echo ".: Politique par defaut des connexions sortantes: $Output :." iptables -P FORWARD ACCEPT ### ### Autorise le traffic sur loopback ### iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A FORWARD -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT ### ### Connection internet a autoriser ### iptables -A INPUT -p tcp -i $Internet --dport www -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp -i $Internet --dport www -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -i $Internet --dport domain -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp -i $Internet --dport domain -m state --state ESTABLISHED,RELATED -j ACCEPT ### ### Acepter tous sur le localhost ### iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 127.0.0.1 -d 127.0.0.1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT ### echo ".: Firewall demare :." } stop( ) { ### On desactive le firewall ### iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P OUTPUT ACCEPT echo ".: Firewall eteind :." } si quelqu'un pourrait m'aider ce serait cool car je suis bloquer sur ce problème depuis quelque temps déjà Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tintaspi Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 t'es sur qu'elle existe l'option "--dport" ? moi c'est "--destination-port" pour ce qui est de mettre "domain" ou "www" je sais pas si ca marche moi je met plutot le numéro du port pourquoi définir les chaines "internet" "lan" "outpout" , ça ne pose pas de problème mais tu peut directement mettre eth0 ou ACCEPT dans les commandes ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
saintshakajin Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 --dport existe tout comme -destination-port. Par contre, les protocols comme www http etc... je suis du même avis que Tintaspi, je n'ai pas l'impression que ça marche réellement même si dans les tutos de Lea-Linux on en parle. Par contre, je ne comprends pas trop pourquoi tu définis une variable $OUTPUT et pourquoi tu définis $Internet et $Lan vu que tu n'utilises que $Internet. J'ai l'impression que tu as mis des variables comme ça sans réellement savoir ce que tu faisais (ne le prends pas mal, ce n'est pas mon but). J'aurais plutôt mis en variables: $IPTABLES=`which iptables` $LOCALHOST=127.0.0.1 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Tintaspi Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 Une petite question : tu as mis ton accès au net et ton réseau sur eth0 , tu te connecte bien via un routeur ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
tuXXX Posté(e) le 5 septembre 2004 Partager Posté(e) le 5 septembre 2004 pour les ports "www", etc... C'est expliqué sur le site de iptables : Les ports peuvent être des noms de ports, listés dans `/etc/services', ou des nombres. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sandeman Posté(e) le 6 septembre 2004 Partager Posté(e) le 6 septembre 2004 je vous d'autant plus mal pourquoi ça marche pas quand il y a iptables -P FORWARD ACCEPT a peu près partoutet un echo 1 > /proc/sys/net/ipv4/ip_forward ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cesar4 Posté(e) le 6 septembre 2004 Auteur Partager Posté(e) le 6 septembre 2004 Par contre, je ne comprends pas trop pourquoi tu définis une variable $OUTPUT et pourquoi tu définis $Internet et $Lan vu que tu n'utilises que $Internet.J'ai l'impression que tu as mis des variables comme ça sans réellement savoir ce que tu faisais (ne le prends pas mal, ce n'est pas mon but). J'aurais plutôt mis en variables: en fait cet variable je l'utilise mais je nai pas mis mon script en entier car il est long je vais peut etre donner le script complet: #!/bin/shstart( ) { ### Variables globales ### Internet=eth0 Lan=eth0 Lan_Ip=192.168.1.2/10 Ping=yes Lan_Ip_Accept=yes Output=ACCEPT #politique des packet sortants Tcp="www ssh https domain ftp ftp-data pop-3 smtp irc 1863 5222 6881 8767 51234" Upd="ssh https domain pop-3 irc 1863 5222 6881 8767 51234" Ip_interdites=192.168.1.8 ### ### Chargement des modules ### modprobe ip_conntrack_irc ### ### Initialise iptables ### stop ### ### Politique par defaut ### iptables -P INPUT DROP iptables -P OUTPUT $Output echo ".: Politique par defaut des connexions sortantes: $Output :." iptables -P FORWARD ACCEPT ### ### Autorise le traffic sur loopback ### iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT iptables -A FORWARD -i lo -j ACCEPT iptables -A FORWARD -o lo -j ACCEPT ### ### Protection contre les SYN/FLOOD ### if [ -e /proc/sys/net/ipv4/tcp_syncookies ] then echo 1 > /proc/sys/net/ipv4/tcp_syncookies echo ".: Protection contre les SYN/FLOOD :." fi if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ] then for filtre in /proc/sys/net/ipv4/conf/*/rp_filter do echo 1 > $filtre done fi ### ### Connection internet a autoriser ### iptables -A INPUT -p tcp -i $Internet --dport www -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp -i $Internet --dport www -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp -i $Internet --dport domain -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p udp -i $Internet --dport domain -m state --state ESTABLISHED,RELATED -j ACCEPT ### ### Ping ### ### ### Ip interdites ### for ip in $Ip_interdites do iptables -A FORWARD -p tcp -s $ip -m state --state NEW,RELATED,ESTABLISHED -j DROP #LOG --log-prefix '[iP DROP]' iptables -A FORWARD -p udp -s $ip -m state --state NEW,RELATED,ESTABLISHED -j DROP #LOG --log-prefix '[iP DROP]' done ### Acepter tous sur le localhost ### iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 127.0.0.1 -d 127.0.0.1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT ### ### Acepter tous sur le reseau local ### if [ "${Lan_Ip_Accept}" = "yes" ] then iptables -A INPUT -s $Lan_Ip -d $Lan_Ip -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s $Lan_Ip -d $Lan_Ip -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -s $Lan_Ip -d $Lan_Ip -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT fi echo ".: Firewall demare :." } stop( ) { ### On desactive le firewall ### iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -t nat -F iptables -t nat -X iptables -t nat -P PREROUTING ACCEPT iptables -t nat -P POSTROUTING ACCEPT iptables -t nat -P OUTPUT ACCEPT iptables -t mangle -F iptables -t mangle -X iptables -t mangle -P PREROUTING ACCEPT iptables -t mangle -P OUTPUT ACCEPT echo ".: Firewall eteind :." } restart( ) { stop sleep 2 start echo ".: Firewall redemare :." } case "$1" in 'start') start ;; 'stop') stop ;; 'restart') restart ;; 'status') iptables -L ;; *) echo "Usage: firewall.sh { start | stop | restart | status }" esac Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cesar4 Posté(e) le 6 septembre 2004 Auteur Partager Posté(e) le 6 septembre 2004 Une petite question : tu as mis ton accès au net et ton réseau sur eth0 , tu te connecte bien via un routeur ? oui je me connecte bien avec un routeur Lien vers le commentaire Partager sur d’autres sites More sharing options...
tekpi Posté(e) le 10 juillet 2006 Partager Posté(e) le 10 juillet 2006 Bonsoir, Moi je note plusieurs chose : 1/ ton interface lan et wan est le même, normal (eth0)? Difficile de faire un firewall qu'avec une seule interface, donc tes règles en forward ne servent à rien -> Faisons abstractions de cela pour la suite, même si cela me parait déjà un gros frein pour le fonctionnement dudit firewall 2/ tu autorises toutes les connexions established ou related en dport 80, comment veux tu que ton Lan se connect sans autoriser les new? Dans ta règle, je pense qu'il plutôt mettre un sport 80. 3/ Le protocol udp ne te servira pas pour le http au premier abord, donc tu peux le commenter histoire déjà de ne pas chercher la petite bête ou elle ne devrait pas se trouver 4/ Idem 2/ pour la résolution des noms 5/ N'oublies un petit coup de echo 0 > /proc/sys/net/ipv4/ip_forward #en début de script pour protéger ton lan durant l'initialisation des règles echo 1 > /proc/sys/net/ipv4/ip_forward #en fin de script pour permettre le forward entre tes 2 interfaces (ça risque de poser soucis vu que tu n'as apparemment qu'une seule interface....) Je reste à ta disposition. ++ Lo Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.