Prob acces internet + iptables - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 17-05-2004 à 13:59:09
g oublier de preciser certaines choses :
ma carte eth0 est connecter a mon reseau local (10.0.0.1)
ma carte eth1 est connecter au routeur (192.168.0.2)
voila le msg d'erreur d'iptables :
[IPTABLES DROP] : IN = OUT = eth0 src = 10.0.0.1 dst = 80.10.246.129 len=59 ttl=64 proto=udp
Marsh Posté le 17-05-2004 à 14:01:18
tu configures eth1 et tu postes un message d'erreur de eth0 ?
Marsh Posté le 17-05-2004 à 14:07:00
en fait c eth1 qui communique avec le routeur mai iptables empeche la connexion de eth0 (reseau local) avec internet
par contre le reseau local peu communique avec le routeur (ping concluant)
en fait tou ce qui vien du net est bloker (voir le mess du dessu)
pourtan j'ai verifie ma cfg iptable (g meme essaye de le coupe) mai je n'ai pa acces a internet a partir du serveur
Marsh Posté le 17-05-2004 à 14:18:15
Je repete: tu nous montres un extrait de ta config sur eth1, et le message d'erreur parle de eth0.
Traduction: poste ta config iptables en entier...
Marsh Posté le 17-05-2004 à 14:34:56
bon j ai fai le bourrin dsl un gro copier coller de ma cfg
donc je recapitule ma structure reseau :
mon serveur a 2 carte reseau eth0 (10.0.0.1) pour le reseau local et eth1 (192.168.0.2) qui va sur le routeur ADSL (192.168.0.1)
le reseau local et le serveur ping san prob le routeur mai n'arrive pas a aller + loin
config iptables :
#!/bin/sh
# Activation du forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Pas de spoofing
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
# pas d'icmp (ping)
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
#chargement des modules
modprobe ip_tables
modprobe ip_nat_ftp
modprobe iptable_filter
modprobe iptable_nat
# vider les règles existantes
iptables -F
iptables -X
# Enregistrement des logs et refuser tous les paquets
iptables -N LOG_DROP
iptables -A LOG_DROP -j LOG --log-prefix '[IPTABLES DROP] : '
iptables -A LOG_DROP -j DROP
#enregistrement des logs et accepter les paquets
iptables -N LOG_ACCEPT
iptables -A LOG_ACCEPT -j LOG --log-prefix '[IPTABLES ACCEPT] : '
iptables -A LOG_ACCEPT -j ACCEPT
# on interdit tout
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#on autorise tout sur la machine local (lo)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# On accepte le trafic sur le réseau local
iptables -A INPUT -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
iptables -A FORWARD -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
# on accepte la resulution de noms (dns)
iptables -A INPUT -i eth1 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth1 --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -o eth1 --protocol tcp --destination-port 53 -j ACCEPT
# Proxy transparent,tout ce qui va vers le port 80 est rerouté sur le 3128
# Penser à modifer squid.conf
##iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
#iptables -t nat -A PREROUTING -s 10.0.0.0/255.0.0.0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
# On rejete tout ce qui est Netbios
iptables -N NETBIOS
iptables -A INPUT -p udp --sport 137:139 -j NETBIOS
iptables -A NETBIOS -j LOG --log-prefix '[IPTABLES NETBIOS]'
iptables -A NETBIOS -j DROP
# on accepte le web
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED -p tcp --sport 80 -j ACCEPT
#iptables -A INPUT -s 80.15.27.195 -m state --state NEW,ESTABLISHED -p tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -i eth1 -m state --state NEW,ESTABLISHED -j ACCEPT
#on autorise le LAN à aller sur le web
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -o eth0 -i eth1 -j ACCEPT
# Masquerade d'adresses
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE
#vers les logs
iptables -A INPUT -j LOG_DROP
iptables -A OUTPUT -j LOG_DROP
iptables -A FORWARD -j LOG_DROP
echo -e "\n Config IpTables Terminée \n"
Marsh Posté le 17-05-2004 à 15:04:38
J'arrive toujours pas à comprendre ton problèmes. Tu ne peux pas te connecter à Internet depuis la machine firewall ? Dans ce cas, que viens faire un log de eth0 (ton reseau local) dans cette histoire ?
Quand tu dis que tu "coupes" le firewall, penses tu à remettre les policies à ACCEPT ? (c'est mieux pour faire des tests).
Marsh Posté le 17-05-2004 à 15:07:33
moi non plus jarrive pas a comprendre pkoi il me blok des paquet de eth0 alor que c eth1 qui doit avoir acces au net
ce que j'enten par coupe le firewall c : cd /etc/rc.d/init.d ./iptables stop
Marsh Posté le 17-05-2004 à 15:09:25
le pire c ke javai acces au net avant a partir du serveur et que depuis peu je n'y ai plus acces (alor ke g n'ai rien touche a ce nivo )
Marsh Posté le 17-05-2004 à 15:18:11
Apres avoir coupé le firewall, rétabli les regles par défaut à ACCEPT. ( # iptables -P INPUT ACCEPT etc..)
Pour en etre sur:
#iptables -L
et tout est à accept.
Puis tu charges les regles une à une. Quand ca marche plus, t'as trouvé d'ou vient le probleme.
Marsh Posté le 17-05-2004 à 13:50:10
Bonjour,
j'ai un probleme pour acceder a internet avec mon serveur Linux (redhat 8.0).
Le serveur est relier a un routeur adsl et les 2 communique sans probleme. Par contre, le serveur n a plus acces a internet car iptables rejette tou ce qui provient de mon serveur DNS.
je ne c po pkoi il me fai ca car j'avai acces a internet a partir du serveur et je n'ai po modifier ma cfg iptables. Ma cfg iptables est bien configurer pour accepter les requete dns :
iptables -A INPUT -i eth1 --protocol udp --source-port 53 -j ACCEPT
iptables -A OUTPUT -0 eth1 --protocol udp --destination-port 53 -j ACCEPT
iptables -A INPUT -i eth1 --protocol tcp --source-port 53 -j ACCEPT
iptables -A OUTPUT -0 eth1 --protocol tcp --destination-port 53 -j ACCEPT
merci de votre aide