Jump to content
Калькуляторы

ipset + iptables DNAT

Коллеги, а может кто-нибудь просветить, как использовать ipset с DNAT'ом для организации NAT'a в виде 1:1 (то есть binat в терминах pf'а)? Как в ipset запихать src и dst адреса в принципе понятно - использовать тип ipportiphash. А как потом это использовать?

 

Был бы очень признателен за помощь.

 

А то надо бы второй сервер под NAT сделать, FreeBSD и однопоточный pf с его заморочками по GRE несколько задолбали.

 

 

Share this post


Link to post
Share on other sites

точно так же как и без ipset, только в этом случае для классификации вместо параметров netfilter используются классификаторы модуля set или гибридная классификация netfilter+ipset ;)

Share this post


Link to post
Share on other sites

Гмм. Все же можно ли пример. Т.е. хочется сделать примерно следующее:

ipset create binat-clients hash:ip,port,ip

ipset add binat-clients <внутренний IP A>,0,<внешний IP B>

ipset add binat-clients <внутренний IP A1>,0,<внешний IP B1>

А затем сделать что-нибудь вроде такого:

-A POSTROUTING -m set --match-set binat-clients src -o vlan202 -j SNAT --to-source --match-set binat-clients dst

Share this post


Link to post
Share on other sites

ipset это множество, которое по определению не упорядочено, поэтому так делать нельзя

Share this post


Link to post
Share on other sites

В модулях DNAT/SNAT нет динамического или табличного добавления адресов. К сожалению. Так-что только обычным способом. Что, собственно говоря, не так уж и страшно при умеренном количестве адресов. Хотя, если внешних адресов достаточное количество, то можно мапить клиентов напрямую при помощи тагета NETMAP

Edited by vop

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this