Vlad Georgescu wrote:
lonely wolf a scris:
poti sa utilizezi iptables -j SNAT ca sa le modifici IP-ul sursa, daca tii neaparat: iptables -A POSTROUTING -o $ETH_EXT -p icmp --icmp-type XXX -s 1.2.3.4 -j SNAT --to 899.899.899.899

nu pot pt. ca deja a fost un -j MARK inainte si au "sarit" ;) din "schema" ... adica nu pot sa le mai "prind" inca odata cu iptables ...
ba poti. ca sint multe tabele :)



please un exemplu
Ti-am dat deja :)



toate IP0urile sint routabile. unele insa sint publice, altele sint private. iar daca in spatele routerului ai IP_uri private sau publice e total si complet irelevant. Eu de pilda nu am absolut nicaieri (mint, am in un singur loc unde eu sint doar consultant iar adminul local e din alt film, asa ca statiile de care se ocupa au IP-uri publice; serverele - de care ma ocup eu - care sint in spatele aceluiasi router au IP-uri private) IP-uri publice in reteaua locala. Peste tot fac (daca e cazul) DNAT de pe server (exclusiv pt protocoalele / porturile relevante) si SNAT.

binenteles ca toate IP-urile sunt routabile -> m-am exprimat gresit ... corectez ... IP-uri publice e foarte relevant daca in spate ai IP-uri publice sau private,
daca ai private manipulate cu snat/dnat cum am dat eu exemplul anterior, NU e relevant. pachetele vin bine mersi la router, el face dnat catre masina din spate, aia raspunde (sau nu) iar pachetul de raspuns pleaca bine mersi inapoi conform regulilor din connection tracking table.


pt. ca daca ai private, n-ai sa dai traceroute din Internet catre unul dintre acele IP-uri
de ce sa nu ? internetul nu stie ca masina din spate are 192.168.10.x si se face masquarading pt ea decit daca vrei/il lasi tu sa stie.


e vorba despre doar acest caz particular:

INTERNET -- P1 --\                         /-- SUBNET_PUBLIC_P1
                                   -- ROUTER --
INTERNET -- P2 -- /                        \-- SUBNET_PUBLIC_P2

si doar despre pachetele generate local de router ca raspuns la un traceroute catre SUBNET_PUBLIC_P1 sau SUBNET_PUBLIC_P2 ... adica atunci cand nu este el destinatia
so ? daca ai regulile corect scrise, pachetele vin prin P1 in interfata dinspre ISP1 pe unde e anuntat subnetul 1, routerul raspunde cu IP-ul ACELEI interfete PRIN ACEA interfata, end of story.
sigur ai inclus regulile din lartc citate mai jos?

Next you set up the main routing table. It is a good idea to route things to the direct neighbour through the interface connected to that neighbour. Note the `src' arguments, they make sure the right outgoing IP address is chosen.

            ip route add $P1_NET dev $IF1 src $IP1
            ip route add $P2_NET dev $IF2 src $IP2
Then, your preference for default route:

            ip route add default via $P1
Next, you set up the routing rules. These actually choose what routing table to route with. You want to make sure that you route out a given interface if you already have the corresponding source address:

            ip rule add from $IP1 table T1
            ip rule add from $IP2 table T2
This set of commands makes sure all answers to traffic coming in on a particular interface get answered from that interface.

Warning         

Reader Rod Roark notes: 'If $P0_NET is the local network and $IF0 is its interface, the following additional entries are desirable:

ip route add $P0_NET     dev $IF0 table T1
ip route add $P2_NET     dev $IF2 table T1
ip route add 127.0.0.0/8 dev lo   table T1
ip route add $P0_NET     dev $IF0 table T2
ip route add $P1_NET     dev $IF1 table T2
ip route add 127.0.0.0/8 dev lo table T2

--
"A computer will not make a good manager out of a bad manager.
It makes a good manager better faster and a bad manager worse faster."
    Ed Esber, president, Ashton-Tate, 1986


_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui