oui, c’est pour ça qu’il vaut mieux trouver la solution coté serveur.
Ok, je vais me pencher sur le problème FTP Passif.
Mais deux p’tits trucs me posent problème avec mon firewall : mon serveur 2003…
Internet -RouteurOLEANE- Lan1 – Firewall – Lan2
iptables -I PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j DNAT --to-destination IPLan2S2k3:3389
iptables -I FORWARD -p tcp -i eth0 -s IPLan1FW -d IPLan2S2k3 --dport 3389 -j ACCEPT
Mon modem/routeur oléane ne connait que les IP du Lan1 et non celle du Lan2 (d’où le masquerading mis en place sur le Firewall) et je crois que le masquerading dans mon transfert de port n’est pas pris en compte…
Règles IPTables :
[code]iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Autorisation d’acces à la passerelle.
iptables -A FORWARD -i br0 -o eth0 -d IPRouteurOL/32 -j ACCEPT
Interdiction d’acces aux réseaux IPLan1/24.
iptables -A FORWARD -i br0 -o eth0 -d IPLan1/24 -j DROP
Autorisation d’acces à Internet entre les ports 1 à 1024.
iptables -A FORWARD -i br0 -o eth0 -d 0.0.0.0/0 -p tcp --dport 1025:65535 -j DROP
iptables -A FORWARD -i br0 -o eth0 -d 0.0.0.0/0 -j ACCEPT
Autorisation de communication entre eth1/eth2 et eth3/eth2.
iptables -A FORWARD -m physdev --physdev-in eth1 --physdev-out eth2 -j ACCEPT
iptables -A FORWARD -m physdev --physdev-in eth2 --physdev-out eth1 -j ACCEPT
iptables -A FORWARD -m physdev --physdev-in eth3 --physdev-out eth2 -j ACCEPT
iptables -A FORWARD -m physdev --physdev-in eth2 --physdev-out eth3 -j ACCEPT
Interdiction de communication entre eth1 et eth3.
iptables -A FORWARD -m physdev --physdev-in eth1 --physdev-out eth3 -j DROP
iptables -A FORWARD -m physdev --physdev-in eth3 --physdev-out eth1 -j DROP
echo "/ Activation du proxy transparent /"
iptables -t nat -A PREROUTING -m physdev --physdev-in eth1 -p tcp --dport 80 -j DNAT --to-destination IPLan2PROXY:3180
iptables -t nat -A PREROUTING -m physdev --physdev-in eth3 -p tcp --dport 80 -j DNAT --to-destination IPLan2PROXY:3180
echo "/ Activation de la translation de port TSE /"
Autorisation d’acces en TSE au serveur 2003.
iptables -I PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j DNAT --to-destination IPLan2S2k3:3389
iptables -I FORWARD -p tcp -i eth0 -s IPLan1FW -d IPLan2S2k3 --dport 3389 -j ACCEPT
echo "/ Activation du masquerading /"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE[/code]
Et mon deuxième problème, c’est au niveau du DNS du serveur 2003…
J’ai configuré mon firewall comme serveur DHCP qui communique dynamiquement avec le DNS du serveur 2003 :
zone domaine.loc. {
primary 192.168.x.2;
}
zone 10.168.192.in-addr.arpa. {
primary 192.168.10.2;
}
Ma zone direct est bien renseignée mais pas ma zone inverse… Est-ce du à une configuration à mettre sur le DNS du serveur 2003 ? Est-ce du au fait que sur le serveur 2003 la zone inverse s’appelle 192.168.10.x Subnet ?
Premier pb:
je ne me souviens plus par quoi le paquet passe en premier: FORWARD ou PREROUTING.
AMA, prerouting s’applique en premier, et ton paquet ne matche plus la règle FORWARD. Tu devrais loguer pour voir par ou ça passe.
le deuxiême pb, je ne vois pas. Il doit manquer une info.
Question idiote, où je peux trouver les logs pour voir comment réagit mon firewall ?
Syslog ?
/var/log/kern.log
Le fichier ne contient rien… C’est normal ? Faut-il l’activer quelque part ?
ça peut dépendre
tu as customisé /etc/syslog.conf ?
il faudrait envoyer un message “kernel” au syslog, pour voir ou le message tombe (il doit forcément tomber qqpart).
Normalement, dans syslog.conf, tu devrais avoir kern.* -/var/log/kern.log
Je n’ai pas customisé /etc/syslog.conf et la ligne
apparait bien dans le syslog.conf.
ben normalement, tu devrais avoir les traces des reboots de ta machine, au moins…
bon, mais tu as essayé de loguer des avec --log-prefix et de rechercher ton prefixe dans les logs ensuite ?
indépendament du fait que tu n’aies rien dans ton kern.log…
Euh… non. Je dois loguer DES ?
Et c’est quoi --log-prefix ?
j’ai plus la syntaxe en tête, mais du genre
iptables -A -J LOG --log-prefix "[Mon prefixe ajouté à chaque paquet logué]"
de la même manière que tu DROP ou ACCEPT tu LOG
En gros je crée deux lignes au lieu d’une ? Genre :
iptables -A PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j DNAT --to-destination IPLan2S2k3:3389
iptables -A PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j LOG --log-tse
je dirais dans l’ordre inverse: tu logues puis tu traites.
mais bon. je ne sais pas ou tu es allé chercher ce ‘–log-tse’, c’est bien --log-prefix:[quote=“man iptables”] LOG
Turn on kernel logging of matching packets. When this option is set for a rule, the Linux kernel will print some information on all matching
packets (like most IP header fields) via the kernel log (where it can be read with dmesg or syslogd(8)). This is a “non-terminating target”,
i.e. rule traversal continues at the next rule. So if you want to LOG the packets you refuse, use two separate rules with the same matching
criteria, first using target LOG then DROP (or REJECT).
--log-level level
Level of logging (numeric or see syslog.conf(5)).
--log-prefix prefix
Prefix log messages with the specified prefix; up to 29 letters long, and useful for distinguishing messages in the logs.
--log-tcp-sequence
Log TCP sequence numbers. This is a security risk if the log is readable by users.
--log-tcp-options
Log options from the TCP packet header.
--log-ip-options
Log options from the IP packet header.
--log-uid
Log the userid of the process which generated the packet.
[/quote]
Donc j’ai rajouté :
iptables -A PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j LOG --log-prefix tse
iptables -A PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j DNAT --to-destination IPLan2S2k3:3389
Et je suis censé les voir où les logs ?
Est-ce que l’option LOG n’est pas uniquement applicable à un paquet de rejet ?
Est-ce que le port 3389 n’est pas fermé par défaut sous Linux ?
Ah le boulet que je suis !!! Ca marche !!!
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j DNAT --to-destination 192.168.x.x:3389
iptables -A FORWARD -p tcp -i eth0 -d 192.168.x.x --dport 3389 -j ACCEPT
Avant je spécifiais l’adresse source à qui je donnais accès et uniquement à cette adresse : IPLan1FW
Ah j’te jure on est pas aidé… mdrr
Bon, il ne me reste plus qu’à résoudre le problème du DNS sous 2003 et le FTP Passif.
[quote=“Badaboumpanpan”]Donc j’ai rajouté :
iptables -A PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j LOG --log-prefix tse
iptables -A PREROUTING -t nat -i eth0 -s IPLan1FW -p tcp --dport 3389 -j DNAT --to-destination IPLan2S2k3:3389
Et je suis censé les voir où les logs ?
Est-ce que l’option LOG n’est pas uniquement applicable à un paquet de rejet ?[/quote]mets un --log-prefix plus facile à matcher avec grep (genre [tse] ), et ensuite greppe un peu ton repertoire /var/log.
Tu sauras ou tombent les messages.
Et sinon, non à ta dernière question.
Salut MattOTop !!!
Alors, en utilisant :
Le FTP Passif passe sans problème pour tous les navigateurs !!
Et pour les log automatisé par iptables, il place une copie dans chaque fichier :
[ul]/var/log/kernel.log
/var/log/syslog
/var/log/messages[/ul]
J’ai peut être trouvé pour l’actualisation de la zone inverse du DNS AD Win2003Srv !!! Je vois sur le temps s’il fonctionne bien et je te tiens au courant !!
Voici mon fichier dhcpd.conf final :
[code]# PARAMETRES DHCP
Indique le temps du bail DHCP:
default-lease-time 86400;
max-lease-time 172800;
Indique le nom du domaine aux clients:
option domain-name “domaine.loc”;
Indique que la mise à jour DNS est autorisée:
ddns-update-style interim;
ddns-updates on;
ddns-domainname “domaine.loc”;
ddns-rev-domainname “in-addr.arpa”;
Indique que notre serveur fait autorité sur le réseau (master):
authoritative;
Ignore les mises à jour faites par les clients:
ignore client-updates;
Indique les paramêtres DHCP pour les clients:
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.20 192.168.10.220;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.2;
}
Indique l’adresse du serveur DNS à renseigner:
zone domaine.loc. {
primary 192.168.10.2;
}
zone 10.168.192.in-addr.arpa. {
primary 192.168.10.2;
}[/code]
Apparemment d’avoir rajouté :
[quote]ddns-domainname “domaine.loc”;
ddns-rev-domainname “in-addr.arpa”;[/quote]
cela permet au Srv sous Win2003 de prendre le rafraichissant dans la zone inverse!!
super interressant, merci.