[iptables]mon script , mais ça marche po
bonjour,
j'ai mis un script iptables sur mon serveur debian avec:
1 eth0 pour internet
1 eth1 pour le lan1
1 eth2 pour le lan 2
le lan 1 et le lan 2 vont sur internet [ sa ça marche]
le poste du lan 1 va sur le serveur en ssh [ sa ça marche]
sur le serveur en mode console aller sur internet [ sa ça marche pas] (exemple aptitude pour mis a jour)
quelqu'un pourrait il me dire et m'indiquer la regle pour que ,à partir du serveur, j'aille sur le net ?
et est ce que mon script est correct ?
mon script
j'ai mis un script iptables sur mon serveur debian avec:
1 eth0 pour internet
1 eth1 pour le lan1
1 eth2 pour le lan 2
le lan 1 et le lan 2 vont sur internet [ sa ça marche]
le poste du lan 1 va sur le serveur en ssh [ sa ça marche]
sur le serveur en mode console aller sur internet [ sa ça marche pas] (exemple aptitude pour mis a jour)
quelqu'un pourrait il me dire et m'indiquer la regle pour que ,à partir du serveur, j'aille sur le net ?
et est ce que mon script est correct ?
mon script
#!/bin/sh #reinitialisation # Reset counters iptables -Z iptables -Z -t mangle iptables -Z -t nat # Flush rules iptables -F iptables -F -t nat iptables -F -t mangle #je bloque tout iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP echo 1 > /proc/sys/net/ipv4/ip_forward #accepte connex lo iptables -A INPUT -i lo -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20 #Pour la premiere carte vers eth0 iptables -A FORWARD -i eth1 -o eth0 -m state --state ! INVALID -j ACCEPT iptables -A FORWARD -o eth1 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT #Pour la seconde carte vers eth0 iptables -A FORWARD -i eth2 -o eth0 -m state --state ! INVALID -j ACCEPT iptables -A FORWARD -o eth2 -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # ssh iptables -A INPUT -p tcp -m tcp -s 192.168.223.42 --dport 22 -j ACCEPT
43 réponses
Résumé de la discussion
Le problème porte sur un serveur Debian multi‑NIC ne parvenant pas à sortir vers Internet depuis le LAN, malgré une règle NAT et des règles de forwarding configurées dans iptables. Les règles FORWARD permettent déjà d’accepter le trafic LAN vers eth0, mais l’orientation des lignes ESTABLISHED,RELATED est inversée dans certaines règles, ce qui bloque les retours et l’accès extérieur. Il est recommandé d’utiliser MASQUERADE sur eth0 et de corriger les FORWARD pour autoriser NEW de eth1 et eth2 vers eth0, puis ESTABLISHED,RELATED dans le sens retour, tout en conservant le forward par défaut.
-
bonjour
ho ye, ça marche
apres une bonne nuit
et surtout apres un reboot de la neufbox et du serveur
nikel
je ne vais surtout pas chercher pourquoi , je pense qu'a force de trifouiller dans l'bazzar , j'ai fait quelque chose de pas catho
merci à toi lami20j pour ta patience
@+ -
ok merci pour tout
je vois ça demain
bonne nuit -
Modérateurque te donne?
nmap localhost -p 80
-
Modérateurok, alors il faut voir dans ton routeur
je ne connais pas la neuf
mais tu dois avoir un onglet où tu peux spécifier la machine qui fera le serveur web
par exemple chez moi j'ai ça (j'ai un routeur netgear derrier la freebox)
https://www.cjoint.com/?iiwQrpoqOk -
netstat -lpn | grep '80 '
tcp 0 0 0.0.0.0:40780 0.0.0.0:* LISTEN 1651/rpc.statd
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 8071/apache -
Modérateuraffiche
netstat -lpn | grep '80 '
-
oups c'est apache
ps aux | grep apache
root 8071 0.0 1.1 4892 2152 ? Ss 00:10 0:00 /usr/sbin/apache
www-data 8072 0.0 0.4 4892 952 ? S 00:10 0:00 /usr/sbin/apache
www-data 8074 0.0 0.4 4892 952 ? S 00:10 0:00 /usr/sbin/apache
www-data 8075 0.0 0.4 4892 952 ? S 00:10 0:00 /usr/sbin/apache
www-data 8076 0.0 0.4 4892 952 ? S 00:10 0:00 /usr/sbin/apache
www-data 8077 0.0 0.4 4892 952 ? S 00:10 0:00 /usr/sbin/apache
root 8101 0.0 0.3 3524 688 pts/0 R+ 00:23 0:00 grep apache -
Modérateurben, voilà pourquoi ça ne marche pas
ton serveur est arrêté/etc/init.d/httpd start
-
vi
ps aux | grep httpd
root 8089 0.0 0.3 3524 688 pts/0 R+ 00:11 0:00 grep httpd -
Modérateuraffiche
ps aux | grep httpd
-
voici
iptables-save
# Generated by iptables-save v1.3.6 on Wed Aug 8 23:56:44 2007
*nat
:PREROUTING ACCEPT [19601:1827075]
:POSTROUTING ACCEPT [10373:463324]
:OUTPUT ACCEPT [13772:612975]
-A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.20
COMMIT
# Completed on Wed Aug 8 23:56:44 2007
# Generated by iptables-save v1.3.6 on Wed Aug 8 23:56:44 2007
*mangle
:PREROUTING ACCEPT [770970:562975455]
:INPUT ACCEPT [30576:1927103]
:FORWARD ACCEPT [740394:561048352]
:OUTPUT ACCEPT [25410:1264650]
:POSTROUTING ACCEPT [765774:562302871]
COMMIT
# Completed on Wed Aug 8 23:56:44 2007
# Generated by iptables-save v1.3.6 on Wed Aug 8 23:56:44 2007
*filter
:INPUT DROP [8560:951122]
:FORWARD DROP [25:4493]
:OUTPUT ACCEPT [22005:1115220]
-A INPUT -i lo -j ACCEPT
-A INPUT -d 192.168.1.20 -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -d 192.168.1.20 -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.220.0/255.255.252.0 -p tcp -m tcp --dport 4080 -j ACCEPT
-A INPUT -s 192.168.223.42 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth2 -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
-A FORWARD -i eth0 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -m state --state NEW,RELATED,ESTABLISHED,UNTRACKED -j ACCEPT
COMMIT
# Completed on Wed Aug 8 23:56:44 2007 -
Modérateuraffiche le résultat de
iptables-save
-
je ne peut pas le faire pour le moment , il y a du monde qui surf
j'ai essayé , en attendant , iptables -v -L -n | grep 80
iptables -v -L -n | grep 80
2 120 ACCEPT tcp -- eth0 * 0.0.0.0/0 192.168.1.20 tcp dpt:80
7 336 ACCEPT tcp -- * * 192.168.220.0/22 0.0.0.0/0 tcp dpt:4080
par contre le nmap -p 80 -v 192.168.1.20
PORT STATE SERVICE
80/tcp closed http
bizzard
là je ne suis que sur le serveur -
Modérateurpas besoin de modifier le script
cette commande en root te permettra d'accepter tout
si tu veux reactiver le firewall tu n'as qu'à exécuter le scriptiptables -A INPUT -i eth0 -d x.x.x.x -j ACCEPT
-
heu , table filter c'est les fowards ?
-
Modérateurtu desactives seulement la table FILTER, ne touche pas la TABLE NAT
ainsi tu ne perdras la connexion -
je crois que si je desactive le firewall , je n'aurais plus acces en ssh sur le serveur , car il se trouve dans un autre batiment
est ce vrai ? -
ModérateurCa ne suffit pas
Il faut préciser que la machine xxx.xxx.xxx.xxx de ton LAN offre le service httpd sur le port 80
d'ailleurs tu peux toujours desactiver le firewall pour faire des tests
comme ça on pourra decouvrir où ça coince :-)
-
oui par la neufbox où j'ai ouvert tout les ports de 1 à 65535 vers le serveur
# Nom Protocole Port / plage Ports externes Adresse IP de destination Ports destination 1 PORTS les deux Plage de ports 1-65535 xxx.xxx.xxx.xxx 1-65535
xxx.xxx.xxx.xxx adresse du serveur -
Modérateurtu passes par un routeur il me semble
je me trompe?!
- 1
- 2
- 3
Suivant