wolfy, cred ca problema e mai complexa de atat ...

nu pot sa marchez pachetele UDP (pe care le trimite traceroute) in INPUT pt. ca nici macar nu trec pe acolo ... nefiind adresate router-ului, ajung direct in FORWARD ... si chiar daca le-asi marca in FORWARD nu rezolv nimic, pt. ca buba nu este a le routa pe astea ci de a routa corect ICMP-urile de raspuns din partea router-ului ...

deasemenea nici --ctorigdst nu ma ajuta pt. ca nu stiu nici sursa si nici destinatia ... adica pachetul UDP pe care il vede router-ul are o sursa aleatoare din net, iar destinatia este la fel de aleatoare din subnet-urile mele (S1 sau S2) ... singurul lucru pe care-l vede router-ul este TTL-ul care a ajuns la 1 si atunci se sesizeaza "din oficiu" ;) si trimite ICMP-ul de raspuns catre sursa ...

solutia ar fi sa marchez in FORWARD conexiunile si nu pachetele, iar apoi sa le "prind" (pe conexiuni) in OUTPUT

din pacate nici chestia asta nu merge pt. ca kernelul se comporta ca si cum ICMP-urile de raspuns din OUTPUT n-ar fi din aceeasi conexiune cu UDP-urile care au trecut anterior prin FORWARD

uite cum arata ce ajunge in FORWARD
IN=eth1 OUT=eth2 SRC=y.y.y.y DST=z.z.z.z LEN=68 TOS=0x00 PREC=0x00 TTL=1 ID=14678 PROTO=UDP SPT=37103 DPT=33452 LEN=48

si ce iese prin OUTPUT:
IN= OUT=eth0 SRC=x.x.x.x DST=y.y.y.y LEN=96 TOS=0x00 PREC=0xC0 TTL=64 ID=7524 PROTO=ICMP TYPE=11 CODE=0 [SRC=y.y.y.y DST=z.z.z.z LEN=68 TOS=0x00 PREC=0x00 TTL=1 ID=14678 PROTO=UDP SPT=37103 DPT=33452 LEN=48 ]

unde x.x.x.x e IP al router-ului (in cazul de fata de pe placa ailalta ... adica eth1), y.y.y.y e IP din net, iar z.z.z.z e IP din DMZ

am incercat sa le marchez cu:
$IPTABLES -t mangle -A FORWARD -i $P1_NIC -j CONNMARK --set-mark 0x1
$IPTABLES -t mangle -A FORWARD -i $P2_NIC -j CONNMARK --set-mark 0x2

si sa le prind cu:
$IPTABLES -t mangle -A OUTPUT -m connmark --mark 0x1 -j LOG
$IPTABLES -t mangle -A OUTPUT -m connmark --mark 0x2 -j LOG

... nema ... nica ... nici urma ...

in schimb cu:
$IPTABLES -t mangle -A FORWARD -o $P1_NIC -m connmark --mark 0x1 -j LOG
$IPTABLES -t mangle -A FORWARD -o $P2_NIC -m connmark --mark 0x2 -j LOG

le prind pe alea care vin inapoi din DMZ (tot ICMP-uri)

sa moara peshte prajit daca stiu de unde s-o apuc ...

vlad


lonely wolf a scris:
ai mai multe variante. de pilda sa marchezi pachetele la intrare
   iptables -t mangle -A INPUT -i $INT1 -set-mark 1
   iptables -t mangle -A INPUT -i $INT2 -set-mark 2
si apoi sa rutezi functie de mark.
alternativ te poti folosi de conntrack si --ctorigdst


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

Raspunde prin e-mail lui