Hello everyone.

I would like to ask for help with the issue I'm struggling with for two weeks. After a large system upgrade (didn't notice unattended upgrades failing due the upgrade prompt for a long time), my Freedombox router stopped allowing client computers to connect to it and to the internet; DHCP request were ignored.

Everything else worked, Freedombox itself had the internet connection, I was able to connect to all provided services from the *external* network and so reach Plinth and shell via ssh. I was eventually able to get the DHCP working (by manually allowing the service in firewalld), but not the connection to the internet.

*My network setup:*
<WAN> -- <Modem> -- <Freedombox> -- <LAN>

<LAN> is connected to Fbx through two separate interfaces - wired and wireless, both set as internal zone in firewall. LAN connections are both using "Shared" ipv4 setting; no settings were adjusted.

*Freedombox System:*
Debian GNU/Linux buster/sid and FreedomBox version 0.39.0.

I'm not filling bug report, as this may have been caused by something I've chosen during the manual system upgrade - I'm just not able to pinpoint it yet.

Regards,
D.


------------------------------------------------------------------------
*PS:* Many details about what I've tried follow.

1. I've inspected the outputs of tcpdump and dhcpdump when trying to obtain the IP address. These showed many DHCP requests with no reply.

2. Inspected the logs for dnsmasq outputs:
grep -ir --exclude-dir=dist-upgrade dnsmasq /var/log/
These contained requests in various stages  - DHCPREQUEST, DHCPACK ... - in the past, but not in the present.

3. Manually drilled a hole in the firewall for dhcp:
firewall-cmd --zone=internal --permanent --add-service=dhcp
firewall-cmd --zone=internal --add-service=dhcp

This worked. DHCP requests were fulfilled now. I've compared the settings file with the backup I had from before - this setting was not present and needed before. Now I could connect to the box from the internal network, but weren't allowed further, to the internet.

4. Due to the previous step, I've suspected firewall, so I've enabled the logging via:
firewall-cmd --set-log-denied=all

Systemlog was now filled with notifications of rejected packets from the LAN, like this one: FreedomBox kernel: [49255.732023] FINAL_REJECT: IN=wlp5s0 OUT=enp3s0 MAC=f0:42:1c:cb:33:ec:94:87:e0:69:80:ce:08:00 SRC=10.42.0.8 8 DST=206.81.26.84 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=34843 DF PROTO=TCP SPT=48731 DPT=443 WINDOW=65535 RES=0x00 SYN URGP=0

5. I've inspected iptables rules with:
iptables -L -v -n

and seen following suspicious rules in the FORWARD chain:

0 0 REJECT all -- * wlp5s0 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable 0 0 REJECT all -- wlp5s0 * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

6. I thought I've nailed it, but dropping one or both of them had no effect on packet rejection :( Systemlog is still full of FINAL_REJECT notices, both from this interface and protocol and others (docker, ipv6, udp...)

7. I've deleted and recreated the LAN wifi connection => no change.

8. I've tried the same diagnosis using the wired adapter, behavior seems to be the same.

------------------------------------------------------------------------

Even more details, my current iptables settings as output by iptables-save:

# Generated by iptables-save v1.6.2 on Mon Oct  8 11:28:12 2018
*nat
:PREROUTING ACCEPT [1252:205947]
:INPUT ACCEPT [37:2884]
:OUTPUT ACCEPT [353:48088]
:POSTROUTING ACCEPT [353:48088]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.18.0.0/16 ! -o br-699ed9280e00 -j MASQUERADE
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A POSTROUTING -s 172.17.0.2/32 -d 172.17.0.2/32 -p tcp -m tcp --dport 5432 -j MASQUERADE
-A DOCKER -i br-699ed9280e00 -j RETURN
-A DOCKER -i docker0 -j RETURN
-A DOCKER ! -i docker0 -p tcp -m tcp --dport 15432 -j DNAT --to-destination 172.17.0.2:5432
COMMIT
# Completed on Mon Oct  8 11:28:12 2018
# Generated by iptables-save v1.6.2 on Mon Oct  8 11:28:12 2018
*mangle
:PREROUTING ACCEPT [8979:5649964]
:INPUT ACCEPT [8235:5605804]
:FORWARD ACCEPT [708:42480]
:OUTPUT ACCEPT [7541:2091521]
:POSTROUTING ACCEPT [7915:2228709]
COMMIT
# Completed on Mon Oct  8 11:28:12 2018
# Generated by iptables-save v1.6.2 on Mon Oct  8 11:28:12 2018
*raw
:PREROUTING ACCEPT [8985:5650614]
:OUTPUT ACCEPT [7541:2091521]
COMMIT
# Completed on Mon Oct  8 11:28:12 2018
# Generated by iptables-save v1.6.2 on Mon Oct  8 11:28:12 2018
*security
:INPUT ACCEPT [7385:5307699]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [7541:2091521]
COMMIT
# Completed on Mon Oct  8 11:28:12 2018
# Generated by iptables-save v1.6.2 on Mon Oct  8 11:28:12 2018
*filter
:INPUT ACCEPT [8216:5602225]
:FORWARD ACCEPT [707:42420]
:OUTPUT ACCEPT [7515:2070405]
:DOCKER - [0:0]
:DOCKER-ISOLATION - [0:0]
-A FORWARD -j DOCKER-ISOLATION
-A FORWARD -o br-699ed9280e00 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o br-699ed9280e00 -j DOCKER
-A FORWARD -i br-699ed9280e00 ! -o br-699ed9280e00 -j ACCEPT
-A FORWARD -i br-699ed9280e00 -o br-699ed9280e00 -j ACCEPT
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT
-A DOCKER -d 172.17.0.2/32 ! -i docker0 -o docker0 -p tcp -m tcp --dport 5432 -j ACCEPT
-A DOCKER-ISOLATION -j RETURN
COMMIT
# Completed on Mon Oct  8 11:28:12 2018

My internal zone settings (internal.xml):

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <service name="http"/>
  <service name="https"/>
  <service name="ntp"/>
  <service name="tor-socks"/>
  <service name="tor-orport"/>
  <service name="tor-obfs3"/>
  <service name="tor-obfs4"/>
  <service name="xmpp-client"/>
  <service name="xmpp-server"/>
  <service name="xmpp-bosh"/>
  <service name="dhcp"/>
  <service name="dns"/>
  <service name="ssh"/>
  <service name="mdns"/>
  <port port="4430" protocol="tcp"/>
  <port port="22" protocol="tcp"/>
  <port port="443" protocol="tcp"/>
  <port port="80" protocol="tcp"/>
  <port port="8080" protocol="tcp"/>
  <port port="8384" protocol="tcp"/>
  <port port="8880" protocol="tcp"/>
  <port port="15432" protocol="tcp"/>
  <port port="5432" protocol="tcp"/>
  <port port="3306" protocol="tcp"/>
  <port port="8200" protocol="tcp"/>
  <port port="4567" protocol="tcp"/>
  <port port="2375" protocol="tcp"/>
  <port port="3389" protocol="tcp"/>
</zone>



_______________________________________________
Freedombox-discuss mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/freedombox-discuss

Reply via email to