Linux Netfilter discussions
 help / color / mirror / Atom feed
From: Vincent Regnard <devel@regnard.org>
To: netfilter@lists.netfilter.org
Subject: Re: multiport tolerance changes
Date: Wed, 26 Jul 2006 16:21:00 +0200	[thread overview]
Message-ID: <44C77A4C.2080708@regnard.org> (raw)
In-Reply-To: <44C7537C.7070509@plouf.fr.eu.org>

Pascal Hambourg a écrit :
> Hello,
> 
> Vincent Regnard a écrit :
>>
>> With iptables 1.2.7 I had some rules where I could write some 
>> multiport (port lists or ranges) both for source and destination 
>> ports, like this:
>>
>> /sbin/iptables -A fw2net_eth3 -p tcp -m multiport -s 82.67.103.87 
>> --sport 1024:65535 -d 0.0.0.0/0 --dports 80,8080,81,8000,1755 -j ACCEPT
>>
>> iptables was coping well with this and expanded the port matrix into 
>> appropriate single rules
> 
> What do you mean ? Could you give an example of such expansion ?

The expansion in that case becomes:

     0     0 ACCEPT     tcp  --  *      *       82.67.103.87
0.0.0.0/0          tcp spts:1024:65535 dpt:8080
     0     0 ACCEPT     tcp  --  *      *       82.67.103.87
0.0.0.0/0          tcp spts:1024:65535 dpt:81
     0     0 ACCEPT     tcp  --  *      *       82.67.103.87
0.0.0.0/0          tcp spts:1024:65535 dpt:8000
     0     0 ACCEPT     tcp  --  *      *       82.67.103.87
0.0.0.0/0          tcp spts:1024:65535 dpt:1755

> 
>> But iptables 1.3.5 refuses to have multiport for both source and 
>> destination ports and objects:
>>
>> iptables v1.3.5: multiport can only have one option
> 
> Well, it seems that my old iptables 1.2.6a already had the same 
> limitation. I submitted your rule to it and got an error too.
> 
>> So I have to re-write my firewall rules.
> 
> How did you rewrite the above rule ?

I suppressed the SOURCE port range and the rule becomes more permissive
(but works):

/sbin/iptables -A fw2net_eth3 -p tcp -m multiport -s 82.67.103.87 -d
0.0.0.0/0 --dports 80,8080,81,8000,1755 -j ACCEPT

> If I reorder the options, so that the --sport parameter appears to 
> belong to the implicit "-m tcp" match created by "-p tcp", the rule is 
> accepted by my iptables 1.2.6a :
> 
> /sbin/iptables -A fw2net_eth3 -s 82.67.103.87 -d 0.0.0.0/0 \
>   -p tcp --sport 1024:65535 -m multiport --dports 80,8080,81,8000,1755 \
>   -j ACCEPT
> 

I confirm that when writing it that way (reordering properly) I also
have no more error. But for some protocol, I would like to be able to
write some source port range and also some destination port range. A
rule like this:

/sbin/iptables -A fw2net_eth3 -p tcp -m multiport -s 82.67.103.87
--sports 10000,10001,10002 -d 0.0.0.0/0 --dports 80,8080,81,8000,1755 -j
ACCEPT

And such a rule actually does not work.

> As a general rule it seems to me that it is more logical and readable to 
> put the parameters of a match right behind the match.

You're right, but I have some constraints that does not permit this
right now.

> 
> PS: what's the use of "-d 0.0.0.0/0" ?
> 
> 

0.0.0.0 is here just because I use shell script variable for my rules
and sometimes it gets replaced with a "proper" IP bloc or address
I have some general scripts that generate config for many routeurs, the
config are then uploaded onto the routers for iptables treatment. A kind
of general firewall configuration generator based on per router DB
variables.



      reply	other threads:[~2006-07-26 14:21 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-26  9:32 multiport tolerance changes Vincent Regnard
2006-07-26 11:35 ` Pascal Hambourg
2006-07-26 14:21   ` Vincent Regnard [this message]

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=44C77A4C.2080708@regnard.org \
    --to=devel@regnard.org \
    --cc=netfilter@lists.netfilter.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox