I recently deployed IPv6 to a network and noticed several of the devices on the LAN didn’t have a proper firewall setup and services were accessible to the internet. I attempted to fix this by adding a filter rule to drop all new incoming non-ICMPv6 connections as follows:
/ipv6 firewall filter add action=drop chain=forward connection-state=new dst-address-list=!exempt-firewall in-interface=ether1 log=yes out-interface=ether2-master protocol=!icmpv6
This does correctly block inbound connections, but I also see instances of regular traffic being dropped as well:
mar/07 14:01:52 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2607:f8b0:401c:18::a]:443->[my_prefix:c5de:f2fe:dbee:784b]:56565, len 1240
mar/07 14:02:20 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2607:f8b0:401c:18::a]:443->[my_prefix:c5de:f2fe:dbee:784b]:56565, len 1240
mar/07 14:28:08 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2607:f8b0:4007:17::8]:443->[my_prefix:c5de:f2fe:dbee:784b]:57550, len 1240
mar/07 14:28:37 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2607:f8b0:4007:17::8]:443->[my_prefix:c5de:f2fe:dbee:784b]:57550, len 1240
mar/07 14:46:41 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f20d:1c4:face:b00c:0:43fe]:443->[my_prefix:c1a6:42f8:8f1b:d0c6]:56975, len 160
mar/07 14:46:51 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:110:face:b00c:0:2]:443->[my_prefix:c1a6:42f8:8f1b:d0c6]:56990, len 160
mar/07 14:47:10 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:1:face:b00c:0:1]:443->[my_prefix:c1a6:42f8:8f1b:d0c6]:56971, len 96
mar/07 14:47:15 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f20d:1c4:face:b00c:0:43fe]:443->[my_prefix:c1a6:42f8:8f1b:d0c6]:56975, len 96
mar/07 14:47:24 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:110:face:b00c:0:2]:443->[my_prefix:c1a6:42f8:8f1b:d0c6]:56990, len 96
mar/07 14:53:45 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK,PSH), [2607:f8b0:4007:80c::2002]:443->[my_prefix:10a7:e1b1:6127:a17b]:63734, len 657
mar/07 14:53:55 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK,PSH), [2607:f8b0:4007:80c::2002]:443->[my_prefix:10a7:e1b1:6127:a17b]:63734, len 657
mar/07 14:54:05 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK,PSH), [2607:f8b0:4007:80c::2002]:443->[my_prefix:10a7:e1b1:6127:a17b]:63734, len 657
mar/07 14:54:15 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK,PSH), [2607:f8b0:4007:80c::2002]:443->[my_prefix:10a7:e1b1:6127:a17b]:63734, len 657
mar/07 15:02:45 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:110:face:b00c:0:2]:443->[my_prefix:68f6:a452:644:3f3f]:57011, len 96
mar/07 15:03:05 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:110:face:b00c:0:2]:443->[my_prefix:68f6:a452:644:3f3f]:57014, len 96
mar/07 15:20:47 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:115:face:b00c:0:3]:443->[my_prefix:5892:488a:488d:625f]:54805, len 96
mar/07 15:21:11 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:110:face:b00c:0:2]:443->[my_prefix:5892:488a:488d:625f]:54803, len 96
mar/07 15:21:18 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:1:face:b00c:0:1]:443->[my_prefix:5892:488a:488d:625f]:54806, len 96
mar/07 15:21:48 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:1:face:b00c:0:1]:443->[my_prefix:5892:488a:488d:625f]:54808, len 96
mar/07 15:21:50 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:115:face:b00c:0:3]:443->[my_prefix:68f6:a452:644:3f3f]:57035, len 96
mar/07 15:22:18 firewall,info forward: in:ether1 out:ether2-master, src-mac 00:01:5c:xx:xx:xx, proto TCP (ACK), [2a03:2880:f00d:1:face:b00c:0:1]:443->[my_prefix:68f6:a452:644:3f3f]:57045, len 96
The source IPs are Google and Facebook and from what I can tell these seem to be parts of legitimate connections (ACK and PSH flags). I understand conntrack can terminate a connection tracking entry when it sees a FIN for example, and then you will usually see spurious FIN,ACK packets but in this instance I’m not logging any FINs anywhere and some of the packets are obviously full of data (len 1240 / len 657) so I’m worried that this is actually breaking IPv6 traffic for the clients.
I’m thinking of moving to two separate rules, one to block SYN and one to block new UDP instead, but I’m curious why I’m seeing this in the first place.