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