All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mr Dash Four <mr.dash.four@googlemail.com>
To: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Cc: netfilter@vger.kernel.org
Subject: Re: ipporthash, ipportiphash, ipportnethash problems
Date: Sat, 02 Oct 2010 21:08:19 +0100	[thread overview]
Message-ID: <4CA79133.3070608@googlemail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1010022104571.23216@blackhole.kfki.hu>


>> As for ipportiphash and ipportnethash - there were recently included in 
>> the distribution due to another bug I found when compiling xtables (even 
>> though ipportiphash and ipportnethash were compiled the .ko files were 
>> never included in the final release making it impossible to use these 
>> two construct types).
>>
>> A couple of questions and ideas for future releases:
>>
>> 1. Normally I used to get ipset as part of the xtables source. Is that still
>> the case or do I have to download the ipset source and compile it separately
>> to get the latest changes you made?
>>     
>
> It's absolutely up to you: currently ipset can be installed alone, or as a 
> part of xtables-addons. Jan updates xtables-addons quite reqularly.
>   
I just taken the latest git from xtables-addons and it is not there.

>> 2. Related to that question - I used to get the xtables .src.rpm from which to
>> compile the code and make an installation rpm. I don't seem to be able to do
>> that any longer as all fedora repos are too slow to update the latest changes.
>> Do you have a link from which I could get the latest changes in ipset/xtables
>> in src.rpm which allows me to build an installation rpm. The reason I am
>> asking this is because I am building an update images on all my machines
>> (using kickstart) and need the installation rpms with the latest changes you
>> made. Compiling this from source won't be possible as there is now way I could
>> install this as part of the image-building process.
>>     
>
> No, I'm not aware of the source rpm for ipset. That's bad if there's one
> out there without refreshed. 
>   
This is a major headache for me for 2 reasons:

1. I use 'rpmbuild' to compile from source as it allows me to build rpms 
for different architectures (I compile on x86_64 for i686 with 'rpmbuild 
--target=xxx'). If I use 'ordinary' make there is no way (at least I 
don't know of any) I could compile for different architecture.

2. rpmbuild also allow me to pack the necessary binaries (executables & 
modules/.ko files) for the target architecture to be transferred to the 
target machine - conveniently in rpm which could be installed (together 
with the necessary dependencies) as part of the target image building 
process.

Even if I solve problem No 2 (i.e. by tar-ing the necessary modules and 
executables) I can't see a way to get past compiling for a different 
architecture (and resolve all the dependencies)! Any ideas?

On a side note, I just managed to built v4.4. in the last hour or so for 
x86_64 (haven't tested it yet) and had to readjust the prefix & lib 
directories in the Makefile (I use prefix=/ and libdir=/lib64) and 
installed the new version, but I can't do anything for my other machines 
(which are mostly i686-based and their image is built using kickstart).


>> Would it be possible to include a new construct - IP,port,IP,port (without IP
>> address restriction) - and how difficult is this to implement?
>>     
>
> It's not difficult, but I see little value in such a type. The client 
> source port (except for a few protocols in some cases) is random, so how 
> could it be useful to mach for that? Or do you know a case where it can 
> still be useful?
>   
I can give you of at least 2 uses based on my experience:

1. voip - normally I can restrict the range of source ports and ip 
address when a voip connection is initialed (usually ports 8000-8050 and 
I have to also define the right ip address to point to the outside 
network), but the only way I can do this at present is if I base this on 
UID in iptables (i.e. the id of the process this is run under) - I 
cannot use sets at all because I do not have the appropriate construct. 
If I had "IP,port,IP,port (and protocol!)" as a construct to work with I 
can just built the sets (as I use 4-5 different servers outside the 
network and they work on different ports too) and that would be it!

2. VPN - for the same reason: to increase security I normally bind the 
source port to a particular range and then if I had a "IP,port,IP,port 
(and protocol!)" construct to work with I will not be using UID in 
iptables to match, but will use this construct directly without any 
further need to do anything!

>> Similar question - would it be possible to include protocol (either by name or
>> its number) as part of all available constructs for matching? The reason for
>> this is that, as it stands, in order for me to match, say, "IP,port" hosts
>> form my personal VPN I need to use two separate sets - one for UDP and one for
>> TCP and I also to create two separate statements for iptables (one for tcp and
>> one for udp), which is a bit of a waste and not very easy to administer. It
>> would be nice if I could use "IP,protocol", "port,protocol",
>> "IP,port,protocol", "IP,port,IP,protocol", "IP,port,IP/cidr,protocol" and so
>> forth.
>>     
>
> The next branch includes exactly that, i.e. the possibility to specify 
> proto:port for the ipport, ipportip and ipportnet types. And IPv6 support 
> too.
>   
That's brilliant news! I take it you will be introducing protocol 
support for all the constructs, is that right? How long would it take 
before you release this?


  reply	other threads:[~2010-10-02 20:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-30 22:03 ipporthash, ipportiphash, ipportnethash problems Mr Dash Four
2010-10-01  7:18 ` Jozsef Kadlecsik
2010-10-01 11:22   ` Mr Dash Four
2010-10-01 21:05     ` Jozsef Kadlecsik
2010-10-02 10:36       ` Mr Dash Four
2010-10-02 19:21         ` Jozsef Kadlecsik
2010-10-02 20:08           ` Mr Dash Four [this message]
2010-10-02 20:40             ` Jan Engelhardt
2010-10-02 20:54               ` Mr Dash Four
2010-10-02 21:06                 ` Jan Engelhardt
2010-10-03 18:57             ` Jozsef Kadlecsik
2010-10-03 22:02               ` Mr Dash Four
2010-10-02 20:35           ` Mr Dash Four
2010-10-03 19:13             ` Jozsef Kadlecsik
2010-10-03 22:04               ` Mr Dash Four
2010-10-04  9:36                 ` Jozsef Kadlecsik
2010-10-06 14:23                   ` Mr Dash Four
2010-10-06 14:37                     ` Mike Wright
2010-10-06 15:26                       ` Mr Dash Four
2010-10-06 19:57                     ` Jozsef Kadlecsik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CA79133.3070608@googlemail.com \
    --to=mr.dash.four@googlemail.com \
    --cc=kadlec@blackhole.kfki.hu \
    --cc=netfilter@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.