W dniu 26 czerwca 2012 21:07 użytkownik "D.Wesołowski" wesoly@klu.plnapisał:
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 wesoly@klu.pl