linux user group brescia

immagine del castello

Archivio della mailing list

NAT doppia - IP masq

Samuele Brignoli samuele.brignoli a darpha.com
Ven 7 Dic 2001 15:39:48 UTC
Mi servirebbe una roba tipo NAT sia dalla mia rete all' esterno che dall'
esterno all' interno in modo che i client forwardati sulla mia rete vengano
incapsulati in un solo ip. Non so se è possibile a me serve per risolvere
problemi di licenze.

Spiego :

La richiesta di :
HTTP://WWW.MIODOMINIO.COM
viene indirizzata su Goldrake, il mio webserver.

GOLDRAKE
195.x.x.x

Su Apache di Goldrake ho una URL forwardin rule:

<VirtualHost 195.x.x.x.>
       ServerName  HTTP://WWW.MIODOMINIO.COM
       RewriteEngine on
       # Forwarding to the intranet
       RewriteRule   (.*)  http://195.x.y.y/mypath/$1  [R,L]
</VirtualHost>

che come avrete intuito forwarda la richiesta sul gateway della mia rete.
Una macchina con due schede :

SPACELAB
ETH0 : 195.x.y.y ( PUBLIC )
ETH1 : 192.168.0.1 ( PRIVATE )

Questo ha una regola di port forwarding che rimanda le richieste su un WS
interno ( mitico --> hantares 192.168.0.z ):

#!/bin/sh
## BEGIN port forwarding, forwarding to hantares
SOURCE_IP=195.x.y.y
SOURCE_PORT=80
DEST_IP=192.168.0.z
DEST_PORT=80
export SOURCE_IP SOURCE_PORT DEST_IP DEST_PORT
/usr/sbin/ipmasqadm portfw -a -P tcp -L $SOURCE_IP $SOURCE_PORT -R $DEST_IP
$DEST_PORT
## END SCRIPT


che non fa altro che rimadare le richieste dalla porta 80 di un server
interno alla mia rete.

Il problema è il seguente : portfw non va bene. Le richieste ad hantares
dovrebbero provenire con l' IP di SPACELAB e non con quello del client ( l'
IP assegnato dal provider internet ). Questo perchè, per motivi di licenze,
hanaters può rispondere ad un singolo IP. Se esistesse un modo per
incapsulare le richieste dei client nell' IP di SPACELAB, potrei
servire qualsiasi richiesta internet.

Spero di essere stato chiaro. Ha qualcosa a che fare con l' IP tunnelling ?
Mi basta un aiuto, poi mi arrangio.


PS : il mio script per fare NAT firewall excluded è  ( forse obsoleto ma
funzionante ) :
----------------------------
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
ifconfig eth1 195.x.y.y netmask 255.255.255.0 up
route add -net 192.168.0.0 netmask 255.255.255.0 eth0
route add -net 195.x.y.0 netmask 255.255.255.0 eth1
route add default gw 195.x.y.1
ipfwadm -F -m -a accept -S 192.168.0.0/16 -D 0.0.0.0/0
echo 1 > /proc/sys/net/ipv4/ip_forward
----------------------------

	Roba da guru ? O negligenza del sottoscritto?

	-- ciao comunque Kako




Maggiori informazioni sulla lista Lug