Thanks Winston - I had hoped to avoid getting my hands dirty with tcpdump but 
it 
looks like I might have to. Do you find it straightforward to track movements 
through 
the chains and tables with tcpdump?

The client runs in a docker container - my main objective is to use curl from 
within a docker
container as the client and a http server running on the host but I've also 
been trying it
out with and ssh client and a ping client (both working inside the container).

We have basically 3 zones: the firewall zone, the network zone and the docker 
zone.
The firewall zone is as defined by shorewall. The network zone refers to 
traffic on the
(single) network interface and the docker zone refer to traffic originating and 
terminating
on the docker bridge.

Thanks for any insights.

BR,
Sean.


__________________________________
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
__________________________________


________________________________________
From: Winston Sorfleet <w...@romanus.ca>
Sent: Wednesday, March 19, 2025 7:16 PM
To: shorewall-users@lists.sourceforge.net 
<shorewall-users@lists.sourceforge.net>
Subject: Re: [Shorewall-users] Problems accessing host from docker container 
running on host
 
[You don't often get email from w...@romanus.ca. Learn why this is important at 
https://aka.ms/LearnAboutSenderIdentification ]

Normally I'd start with tcpdump as the lowest-level tracing tool, but
first I'd want to know a bit more about your scenario. Instead of using
"host" and "docker" terminology (I am not familiar with docker, so I am
not sure if you are implying a VM trying to communicate with the
underlying host), could you perhaps re-frame your question with "client"
and "server" and explain which are in which zones (and networks)?  Or
are the client and server on the same host?

On 2025-03-19 05:49, Sean Murphy via Shorewall-users wrote:
> 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
>


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

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

Reply via email to