Posté(e) le 5 septembre 200420 a 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à
Posté(e) le 5 septembre 200420 a 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 ? Modifié le 5 septembre 200420 a par Tintaspi
Posté(e) le 5 septembre 200420 a --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
Posté(e) le 5 septembre 200420 a Une petite question : tu as mis ton accès au net et ton réseau sur eth0 , tu te connecte bien via un routeur ?
Posté(e) le 5 septembre 200420 a 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.
Posté(e) le 6 septembre 200420 a 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 ?
Posté(e) le 6 septembre 200420 a Auteur 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
Posté(e) le 6 septembre 200420 a Auteur 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
Posté(e) le 10 juillet 200619 a 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
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.