Hi all,,

We have been (ab)using shorewall for some years now and we're v happy with it - 
thanks everyone and Tom in particular for such a great tool. 

We have been using it to manage security for a set of VMs running applications
with docker-compose. Almost all of our hosts have a single external network 
interface; this is perhaps not the use case for which shorewall was designed 
but it has been working for us so far.

We now have a scenario which is proving more difficult: we want to access a
service running on a host from within a container.

We have tried the most open configuration possible - a policy with all:all
ACCEPT and no rules; it seems the service is accessible from anywhere except 
inside the docker container.

Accessing the service from inside the container results in timeouts, so 
presumably
the packets are being dropped somewhere. We tried ping, ssh (on standard ports) 
and an http service running on a high port number.

Zone configuration:
root@dhit-disposable01:/etc/shorewall# cat zones
###############################################################################
#ZONE           TYPE      OPTIONS                 IN                      OUT
#                                                 OPTIONS                 
OPTIONS
fw              firewall
net             ipv4
dock            ipv4

Interface configuration:
root@dhit-disposable01:/etc/shorewall# cat interfaces
###############################################################################
?FORMAT 2
###############################################################################
#ZONE   INTERFACE                 OPTIONS
net     eth                       physical=eth+,dhcp,nosmurfs
net     en                        physical=en+,dhcp,nosmurfs
dock    docker0                   physical=docker+,routeback=1
dock    br                        physical=br-+,routeback=1

Policy configuration:
root@dhit-disposable01:/etc/shorewall# cat policy
#SOURCE        DEST        POLICY      LOGLEVEL    LIMIT
all            all         ACCEPT

Rules configuration:
root@dhit-disposable01:/etc/shorewall# cat rules
#ACTION      SOURCE                  DEST       PROTO      DPORT
# No rules

Docker configuration as per shorewall.conf
root@dhit-disposable01:/etc/shorewall# grep -i docker shorewall.conf
# Default shorewall config, except for DOCKER=Yes (and this comment).
DOCKER=Yes
DOCKER_BRIDGE=docker0

I did shorewall compile, safe-reload and then restarted the docker deamon but
the packets still seem to be being dropped. I tried iptables-tracer [1] to get 
some
info on where they disappear and it seems packets are being dropped on the
return path.

I checked the documentation and could not find any answer in the FAQs. I
could not generate a shorewall dump as we are using journald rather than
syslog and it's unclear to me how such a dump can be generated in this case.

Happy to provide further information as required.

Any thoughts/pointers appreciated...

Best rgds,
Sean.

[1] https://github.com/x-way/iptables-tracer

__________________________________
Sean Murphy
Senior Platform Engineer
sean.mur...@datahouse.ch
T +41 44  289-84-22
www.datahouse.ch
Linkedin: 
https://www.linkedin.com/company/wuestpartner/posts/?feedView=all&viewAsMember=true
YouTube: https://www.youtube.com/channel/UC4Esiu5N_zg2JRERufw5HvA
__________________________________


_______________________________________________
Shorewall-users mailing list
Shorewall-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/shorewall-users

Reply via email to