W dniu 26 czerwca 2012 21:07 użytkownik "D.Wesołowski" <wesoly@klu.pl> napisał:

Wiadomość napisana przez Sławomir Paszkiewicz w dniu 2012-06-26, o godz. 19:52:

Co do DNETMAP to jeszcze nie do konca ogarniam jak to zastosowac w mojej sytuacji, tzn w sytuacji w ktorej przyznaje tylko okreslonym klientom publiczne adresy IP (teraz robi to iptables SNAT DNAT) a nie round-robin dla kazdego usera. 

robisz dwie tablice ipset, np forward-nat oraz forward-dnetmap i wrzucasz odpowiednio adresy IP do tablic,

Teraz dla forward-nat mam po dla kazdej klasy z osobna:

$IPSET create zarejestrowani_10.10.1.0 bitmap:ip,mac range 10.10.1.0/24
$IPSET create zarejestrowani_10.10.2.0 bitmap:ip,mac range 10.10.2.0/24
$IPSET create zarejestrowani_10.10.3.0 bitmap:ip,mac range 10.10.3.0/24
 
+


$IPT -A FORWARD -i eth1.101 -m set --match-set zarejestrowani_10.10.1.0 src,src -j ACCEPT
$IPT -A FORWARD -i eth1.102 -m set --match-set zarejestrowani_10.10.2.0 src,src -j ACCEPT
$IPT -A FORWARD -i eth1.103 -m set --match-set zarejestrowani_10.10.3.0 src,src -j ACCEPT

dla NATowania robisz regułkę:

iptables -t nat -A POSTROUTING -m set --match-set forward-nat src  -o $INTERNET_ETH -d 0/0 -j SNAT --to $INTERNET_IP


I tutaj analogicznie:

$IPT -t nat -A POSTROUTING -s 10.10.1.0/24 -o eth0 -j SNAT --to-source $WAN_IP
$IPT -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j SNAT --to-source $WAN_IP
$IPT -t nat -A POSTROUTING -s 10.10.3.0/24 -o eth0 -j SNAT --to-source $WAN_IP

hmm... wlasnie uswiadomiles mi, ze zamiast -s 10.10.x.x moge uzywac set-ow, w sumie wyjdzie na to samo.
 

dla publicznych IP robisz:

iptables -t nat -A POSTROUTING -m set --match-set forward-dnetmap src -d 0/0 -j DNETMAP --prefix prefix_publicznych/maska --ttl 400
iptables -t nat -A PREROUTING -j DNETMAP --ttl 400


Tylko nadal nie rozumiem, to co podales nie jest czasem tak, ze on z prefix_publicznych/maska bedzie bral wolny IP i przydzielal klientom?
A mi chodzi o to, aby zawsze klient o IP 10.10.1.5 dostawal 1.2.3.4 zewnetrzny IP co na chwile obecna robie:

$IPT -t nat -A PREROUTING -d 1.2.3.4 -j DNAT --to-destination 10.10.1.5
$IPT -t nat -A POSTROUTING -s 10.10.1.5 -j SNAT --to-source 1.2.3.4


Czy to w ogole jest sens sie tym bawic w moim przypadku?

jak ma wychodzić klient do Internetu wybierasz tablicami ipset, przeladowanie to swapowanie tablicami


Dzieki w ogole za odpowiedz ;-)
 
-- 
D.Wesołowski