Pascal Hambourg wrote:
Salut,
herve thibaud a écrit :
J'ai un serveur interne 192.168.0.6 (web et mail)
une station 192.168.0.4
serveur et station sont derrière une freebox, configurée en routeur,
serveur et station connectés par wifi.
Pour pouvoir accéder au web du serveur 192.168.0.6 avec l'adresse
publique je n'ai pas trouvé d'autre solution que d'installer shorewall
sur la station et d'inclure une règle DNAT :
DNAT fw net:192.168.0.6 tcp smtp - 81.56.xxx.xxx qui traduit donc l'IP
publique en IP interne.
fw est donc la station elle même et net tout les appels fait sur la la
liaison wifi
Ce n'est pas un peu "riche" d'installer shorewall alors qu'une simple
règle iptables comme ci-dessous suffirait ?
iptables -t nat -A OUTPUT -d 81.56.xxx.xxx -p tcp --dport 25 \
-j DNAT --to-destination 192.168.0.6
Malheureusement cette règle qui est une traduction d'un appel sortant
n'est plus supportée par les nouveaux noyaux et j'ai bloqué la version
du noyau en place à 2.6.15.
Cette règle est toujours supportée par les noyaux récents, je viens de
vérifier avec le dernier 2.6.18.2. Par contre il y a eu une
modification du comportement de DNAT dans OUTPUT à partir de la
version 2.6.11, d'où le message "No longer support implicit source
local NAT" qui n'est qu'un avertissement et non une erreur. Ton noyau
2.6.15 doit logiquement inclure ce changement.
Extrait du changeLog du noyau 2.6.11 :
[PATCH] Remove do_extra_mangle: double NAT on LOCAL_OUT
On NF_IP_LOCAL_OUT, when destination NAT changes the destination
interface, we also change the source address, so the packet is the
same as if it were generated to go that way in the first place. This
is not strictly necessary, I believe.
This patch rips that code out to see what breaks.
La différence avec les noyaux plus anciens, c'est qu'en cas de
changement d'interface de sortie induit par la nouvelle destination,
la cible DNAT ne modifie plus l'adresse source. Dans ton cas ça ne
devrait pas poser de problème puisque l'interface de sortie ne change
pas : c'est la même pour communiquer avec le serveur local et la Freebox.
Quand l'interface de sortie change à cause de la règle DNAT, on peut
si nécessaire modifier explicitement l'adresse source dans PREROUTING
avec une règle SNAT ou MASQUERADE. Il y a toutefois un cas où ça ne
marche pas : quand l'adresse source est une adresse de loopback
(127.0.0.0/8), le paquet est refusé. Je suppose que c'est parce que le
routage de sortie qui a lieu entre OUTPUT et POSTROUTING refuse
d'envoyer un paquet avec une adresse source 127.0.0.0/8 par une
interface autre que l'interface de loopback.
Je ne vois pas de possibilité de faire cette traduction sur la freebox,
ce qui serait plus logique.
Hélas la Freebox, comme tous les routeurs NAT basiques pas trop
élaborés, ne le permet pas.
J'ai essayé la règle (avec port 80) sur un poste avec un noyau
2.6.18-rc5-git6. J'accède aux sites en entrant leurs adresses.
Merci
ci dessous un morceau des traces que je trouve dans le fichier syslog
europe:/var/log# cat syslog | grep NAT
[...]
Nov 5 07:44:12 europe kernel: NAT: no longer support implicit source
local NAT
Nov 5 07:44:12 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 6 10:18:54 europe kernel: NAT: no longer support implicit source
local NAT
Nov 6 10:18:54 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 7 09:25:22 europe kernel: NAT: no longer support implicit source
local NAT
Nov 7 09:25:22 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 8 09:05:53 europe kernel: NAT: no longer support implicit source
local NAT
Nov 8 09:05:53 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 8 14:15:23 europe kernel: NAT: no longer support implicit source
local NAT
Nov 8 14:15:23 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 9 08:51:35 europe kernel: NAT: no longer support implicit source
local NAT
Nov 9 08:51:35 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 10 09:19:46 europe kernel: NAT: no longer support implicit source
local NAT
Nov 10 09:19:46 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
Nov 11 09:18:08 europe kernel: NAT: no longer support implicit source
local NAT
Nov 11 09:18:08 europe kernel: NAT: packet src 192.168.0.6 -> dst
81.56.198.85
[...]
merci.
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]