[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: SNAT depuis le firewall



Quoting Laurent Foucher <foucher@gch.iut-tlse3.fr> from ml.debian.fr:
:Par contre, par défaut, le noyau essaie de modifier le paquet le moins
:possible.  Pour la machine locale, l'adresse source du paquet ip est
:PPP_LOCAL. Pour le noyau, il n'y a donc pas nécessité de masquer cette
:adresse. Une idée serait de forcer la modification de l'adresse source. Il
:faut utiliser l'outil iproute2 et taper :
:
:ip route change default dev ppp0 src ETH_LOCAL
:
:où ETH_LOCAL est l'adresse ip associé à la carte ethernet. Je pense que le
:SNAT devrait être appliqué.

J'ai moi aussi reflechi au probleme (poser une question n'empeche pas
de reflechir de son cote) qui empechait les connections locales d'aboutir.
Le probleme est qu'elles ne sont pas masqueradees, donc pas dans le port-range
que j'autorise en entree.  Soit.

J'ai donc ajoute ceci:

	iptables -A ppp_tcp_ports -p tcp -d $PPP_LOCAL \
		--dport 1024:60999 --syn -j ppp_reject
	iptables -A ppp_tcp_ports -p tcp -d $PPP_LOCAL \
		-m state --state RELATED,ESTABLISHED \
		--dport 1024:60999 -j ACCEPT

qui me permettent de bloquer les connections TCP sur les ports hors du
range de masquerading (je pourais TOUT bloquer cela dit, mais rien n'ecoute
sur les ports 61000-...), et qui ensuite accepte les paquets TCP vers ces
port mais seulement si une connection a ete initiee de mon cote.

Ca me permet de faire 'apt-get install' depuis le firewall...

Je pourrais sans doute faire pareil avec UDP (sauf pour --syn), mais je
ne sais pas comment se comporte le state tracking avec UDP (pour la
seconde regle)?

Je trouve que cette approche indique plus ce que je veux faire, que de
hacker l'interface ppp0 pour faire croire que c'est eth0.

C'est vraiment bien iptables.  Ah que je suis content d'avoir migre mon
routeur/firewall en 2.4.4 ce WE.  Quelle amelioration depuis ipfwadm,
et meme ipchains.  J'ai meme reussi a faire du port-forwarding selectif
sur le firewall, entre ppp0, eth0 et eth1 (ma DMZ), sans perturber les
connections directes sur les firewall depuis eth0 vers des ports forwardes,
ce qui etait impossible avant.

Raphael



Reply to: