Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Jan 2014 21:44:15 +0000
From:      Frank Leonhardt <frank2@fjl.co.uk>
To:        freebsd-questions@freebsd.org
Subject:   Re: Necessary to implement static NAT 1:1
Message-ID:  <52E9762F.10208@fjl.co.uk>
In-Reply-To: <1391010653.726619904.szvwo6t9@frv35.ukr.net>
References:  <1390999493.115887823.pfbg2ep5@frv35.ukr.net>	<52E91B3D.4000601@fjl.co.uk> <1391010653.726619904.szvwo6t9@frv35.ukr.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 29/01/2014 15:52, Vladislav Prodan wrote:
>    
>
>
>> On 29/01/2014 12:45, Vladislav Prodan wrote:
>>> Necessary to implement static NAT 1:1
>>>
>>> 10.1.2.3 -> 100.1.2.3
>>> 10.1.2.4 -> 100.1.2.4
>>> 10.1.2.5 -> 100.1.2.5
>>> 10.1.2.6 -> 100.1.2.6
>>> ...
>>> IP addresses such an over 20k
>>> prompt you implement?
>>>
>> I don't understand the question exactly (I expect I will not be the only
>> one). natd will allow 1:1 mappings like this very easily. Are you saying
>> you have a lot of these and you do not want to write the config file by
>> hand?
>>
>>
> I'm not sure that FreeBSD withstand an over 20k rules of the form:
>
> ipfw nat 3 config ip 100.1.2.3
> ipfw nat 4 config ip 100.1.2.4
> ipfw nat 5 config ip 100.1.2.5
> ipfw nat 6 config ip 100.1.2.6
> ...
>
> + Two rules to handle each nat N
>
> Probably need to somehow use nat tablearg, but I do not understand logic.
>
>

I do not think there would be a problem with natd. It uses libalias and 
this calls malloc() to add each redirect to a simple linked list. A 
quick looks suggests it's only 50-ish bytes/entry (depending on 
processor) so a table of 20K of them would be ~1Mb (+malloc overhead). 
There was a time when 1Mb was a lot of core, but not any more. It may 
slow down a bit, as it links through he list.

There might be something in the newer libalias that does it more 
efficiently, but if you give it a go I think it will probably work.

Regards, Frank.








Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?52E9762F.10208>