Re: 2.02 and src with multiple IPs - syntax change?

"Tsaousis, Costa" <[email protected]>
Newsgroups gmane.comp.security.firewalls.firehol.user
Message-ID <CANL+VpaSS=sDGJeOrVbq0A0f6R0evQ_Ka+05APv8Vx=eCjxg-A@mail.gmail.com>
Phil I tried it on a fully updated gentoo in explain mode:

(check the generated commands and the errors)


box firehol-2.0.2 # ./sbin/firehol.in explain

FireHOL 2.0.2
(C) Copyright 2003-2014 Costa Tsaousis <[email protected]>
(C) Copyright 2012-2014 Phil Whineray <[email protected]>
FireHOL is distributed under the GPL v2+.
Home Page: http://firehol.org

-------------------------------------------------------------------------
Get notified of new FireHOL releases by subscribing to the mailing list:
    http://lists.firehol.org/mailman/listinfo/firehol-support/
-------------------------------------------------------------------------

You can now start typing firehol configuration directives.
Special interactive commands: help, show, quit

# FireHOL [:] > interface4 eth0 internet

# \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
# Cmd Line : 1
# Command  : interface4 eth0 internet

# Creating chain 'in_internet' under 'INPUT' in table 'filter'
/sbin/iptables -t filter -N in_internet
/sbin/iptables -t filter -A INPUT -i eth0 -j in_internet

# Creating chain 'out_internet' under 'OUTPUT' in table 'filter'
/sbin/iptables -t filter -N out_internet
/sbin/iptables -t filter -A OUTPUT -o eth0 -j out_internet

# > OK <
# FireHOL [interface:internet] > server ssh accept src
1.2.3.4,5.6.7.8,192.168.1.0/24

# \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
# Cmd Line : 2
# Command  : server ssh accept src 1.2.3.4,5.6.7.8,192.168.1.0/24

# Preparing for service 'ssh' of type 'server' under interface 'internet'

# Creating chain 'in_internet_ssh_s1' under 'in_internet' in table 'filter'
/sbin/iptables -t filter -N in_internet_ssh_s1
/sbin/iptables -t filter -A in_internet -j in_internet_ssh_s1

# Creating chain 'out_internet_ssh_s1' under 'out_internet' in table 'filter'
/sbin/iptables -t filter -N out_internet_ssh_s1
/sbin/iptables -t filter -A out_internet -j out_internet_ssh_s1

# Running simple rules for  server 'ssh'

# Rules for ssh server, with server port(s) 'tcp/22' and client
port(s) 'default'
/sbin/iptables -t filter -A in_internet_ssh_s1 -p tcp -s
1.2.3.4\,5.6.7.8\,192.168.1.0/24 --sport 1024:65535 --dport 22 -m
conntrack --ctstate NEW\,ESTABLISHED -j ACCEPT
/sbin/iptables -t filter -A out_internet_ssh_s1 -p tcp --sport 22 -d
1.2.3.4\,5.6.7.8\,192.168.1.0/24 --dport 1024:65535 -m conntrack
--ctstate ESTABLISHED -j ACCEPT

# > OK <



This is now v3:

box # firehol explain

FireHOL $Id: fbd64e9ef9e9a1a383ba09cc3d9a93a408b9abb7 $
(C) Copyright 2003-2015 Costa Tsaousis <[email protected]>
(C) Copyright 2012-2015 Phil Whineray <[email protected]>
FireHOL is distributed under the GPL v2+.
Home Page: http://firehol.org

-------------------------------------------------------------------------
Get notified of new FireHOL releases by subscribing to the mailing list:
    http://lists.firehol.org/mailman/listinfo/firehol-support/
-------------------------------------------------------------------------

You can now start typing firehol configuration directives.
Special interactive commands: help, show, quit

# FireHOL [:] > in4
# \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
# Cmd Line : 1@Interactive User Input
# Command  : interface4 eth0 world

# Creating chain 'in_world' under 'INPUT' in table 'filter'
/sbin/iptables -t filter -N in_world
/sbin/iptables -t filter -A INPUT -i eth0 -j in_world

# Creating chain 'out_world' under 'OUTPUT' in table 'filter'
/sbin/iptables -t filter -N out_world
/sbin/iptables -t filter -A OUTPUT -o eth0 -j out_world

# > OK <
# FireHOL [interface:world] > server ssh accept src
1.2.3.4,5.6.7.8,192.168.1.0/24
# \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
# Cmd Line : 2@Interactive User Input
# Command  : server ssh accept src 1.2.3.4,5.6.7.8,192.168.1.0/24

# Preparing for service 'ssh' of type 'server' under interface 'world'

# Creating chain 'in_world_ssh_s1' under 'in_world' in table 'filter'

# Creating chain 'out_world_ssh_s1' under 'out_world' in table 'filter'

# Simple rules for  server 'ssh'

# Rules for ssh server, with server port(s) 'tcp/ 22' and client
port(s) '1024:65535'
/sbin/iptables -t filter -A in_world -p tcp -s 1.2.3.4 --sport
1024:65535 --dport 22 -m conntrack --ctstate NEW\,ESTABLISHED -j
ACCEPT
/sbin/iptables -t filter -A in_world -p tcp -s 5.6.7.8 --sport
1024:65535 --dport 22 -m conntrack --ctstate NEW\,ESTABLISHED -j
ACCEPT
/sbin/iptables -t filter -A in_world -p tcp -s 192.168.1.0/24 --sport
1024:65535 --dport 22 -m conntrack --ctstate NEW\,ESTABLISHED -j
ACCEPT
/sbin/iptables -t filter -A out_world -p tcp --sport 22 -d 1.2.3.4
--dport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
/sbin/iptables -t filter -A out_world -p tcp --sport 22 -d 5.6.7.8
--dport 1024:65535 -m conntrack --ctstate ESTABLISHED -j ACCEPT
/sbin/iptables -t filter -A out_world -p tcp --sport 22 -d
192.168.1.0/24 --dport 1024:65535 -m conntrack --ctstate ESTABLISHED
-j ACCEPT

# > OK <


On Thu, Mar 19, 2015 at 10:51 PM, Whit Blauvelt <[email protected]> wrote:
> Hi Phil,
>
> On further testing it looks like this is specific to something about the
> older Ubuntu 10.04 system (with iptables 1.4.4) I was putting it on. On
> 12.04 there's no such problem. Since 10.04 is going out of support the end
> of next month anyway, probably not something worth worrying about. I have
> FireHOL on a variety of systems, but this may be the only time I've put it
> on 10.04.
>
> Best,
>
> Whit
>
> On Thu, Mar 19, 2015 at 07:04:20PM +0000, Phil Whineray wrote:
>> On Thu, Mar 19, 2015 at 12:07:24PM -0400, Whit Blauvelt wrote:
>> > Also, the comma separator worked in 2.0.0-rc.2.
>>
>> Sorry about this but I don's seem to be able to reproduce it, can
>> you give a complete minimal config?
>>
>> I tried this:
>>
>> interface any any
>>       client all accept
>>       server4 ssh accept src 1.2.3.4,5.6.7.8,192.168.1.0/24
>>
>> but it worked just fine:
>>
>> $ sudo ./sbin/firehol.in | head
>>
>> FireHOL 2.0.2
>> (C) Copyright 2003-2014 Costa Tsaousis <[email protected]>
>> (C) Copyright 2012-2014 Phil Whineray <[email protected]>
>> FireHOL is distributed under the GPL v2+.
>> Home Page: http://firehol.org
>>
>> -------------------------------------------------------------------------
>> Get notified of new FireHOL releases by subscribing to the mailing list:
>>     http://lists.firehol.org/mailman/listinfo/firehol-support/
>>
>> $ sudo ./sbin/firehol.in x.conf
>> FireHOL: Saving your old firewall to a temporary file: OK
>> FireHOL: Processing file x.conf: OK
>> FireHOL: Activating new firewall (52 rules): OK
>> Keep the firewall? (type 'commit' to accept - 30 seconds timeout) : ^C
>>
>> If I make it server instead of server4, I get an error but from
>> ip6tables as expected, not from iptables as your error shows:
>>
>> 2$ sudo ./sbin/firehol.in x.conf
>> FireHOL: Saving your old firewall to a temporary file: OK
>> FireHOL: Processing file x.conf: OK
>> FireHOL: Activating new firewall (52 rules):
>>
>> --------------------------------------------------------------------------------
>> ERROR   : # 1.
>> WHAT    : A runtime command failed to execute (returned error 2).
>> SOURCE  : line 3 of x.conf
>> COMMAND : /sbin/ip6tables -t filter -A in_any_ssh_s4 -p tcp -s
>> 1.2.3.4\,5.6.7.8\,192.168.1.0/24 --sport 1024:65535 --dport 22 -m
>> conntrack --ctstate NEW\,ESTABLISHED -j ACCEPT
>> OUTPUT  :
>>
>> ip6tables v1.4.14: host/network `1.2.3.4' not found
>> Try `ip6tables -h' or 'ip6tables --help' for more information.
>>
>>
>>
>> --------------------------------------------------------------------------------
>> ERROR   : # 2.
>> WHAT    : A runtime command failed to execute (returned error 2).
>> SOURCE  : line 3 of x.conf
>> COMMAND : /sbin/ip6tables -t filter -A out_any_ssh_s4 -p tcp --sport 22
>> -d 1.2.3.4\,5.6.7.8\,192.168.1.0/24 --dport 1024:65535 -m conntrack
>> --ctstate ESTABLISHED -j ACCEPT
>> OUTPUT  :
>>
>> ip6tables v1.4.14: host/network `1.2.3.4' not found
>> Try `ip6tables -h' or 'ip6tables --help' for more information.
>>
>>  FAILED
>>
>>
>> FireHOL: Restoring old firewall: OK
>>
>> Is there some weird character after your 192.168.1.0/24? There is also
>> an extra backslash in the error command that you showed:
>>
>> > ERROR   : # 1.
>> > WHAT    : A runtime command failed to execute (returned error 2).
>> > SOURCE  : line 16 of /etc/firehol/firehol.conf
>> > COMMAND : /sbin/iptables -t filter -A in_world_ssh_s2 -p tcp -s 1.2.3.4\,5.6.7.8\,192.168.1.0/24\ --sport 1024:65535 --dport 22 -m conntrack --ctstate NEW\,ESTABLISHED -j ACCEPT
>> > OUTPUT  :
>>
>> > iptables v1.4.4: host/network `1.2.3.4,5.6.7.8,192.168.1.0/24' not found
>> > Try `iptables -h' or 'iptables --help' for more information.
>>
>>
>> Cheers
>> Phil
_______________________________________________
Firehol-support mailing list
[email protected]
http://lists.firehol.org/mailman/listinfo/firehol-support
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.