UFW is not blocking outgoing ipv6 pings
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ufw |
Invalid
|
Undecided
|
Unassigned |
Bug Description
$ ufw --version
ufw 0.36
Distribution: arch
Sorry if this is not a bug, but it is at least unexpected to me.
I'm trying to set up UFW to block outgoing connections, except on a specific interface, and also except for a specific IPV4 address+port. Everything seems to be working as expected. IPV4 pings are blocked, but I can still send pings to IPV6 addresses - I expect those to be blocked as well. I don't see any conflicting rules, so I'm not sure if I'm doing something wrong, or if it's a bug, or if this is expected.
I disconnect my tun0 interface, and see successfully blocked IPV4 ping:
$ ping 192.30.255.113 # github.com
PING 192.30.255.113 (192.30.255.113) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
I tried an IPV6 address, but it's not getting blocked:
ping 2001:41d0:
PING 2001:41d0:
64 bytes from 2001:41d0:
64 bytes from 2001:41d0:
Here is my UFW status:
$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
22 LIMIT IN Anywhere
Anywhere on tun0 ALLOW IN Anywhere
22 (v6) LIMIT IN Anywhere (v6)
Anywhere (v6) on tun0 ALLOW IN Anywhere (v6)
Anywhere ALLOW OUT Anywhere on tun0
1.2.3.4 1234 ALLOW OUT Anywhere
Anywhere (v6) ALLOW OUT Anywhere (v6) on tun0
# Generated by ip6tables-save v1.8.6 logging- forward - [0:0] logging- input - [0:0] logging- output - [0:0] forward - [0:0] logging- forward - [0:0] logging- input - [0:0] logging- output - [0:0] forward - [0:0] logging- input logging- input logging- forward logging- forward logging- output logging- output
*filter
:INPUT ACCEPT [143:37977]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [176:22530]
:ufw6-after-forward - [0:0]
:ufw6-after-input - [0:0]
:ufw6-after-
:ufw6-after-
:ufw6-after-
:ufw6-after-output - [0:0]
:ufw6-before-
:ufw6-before-input - [0:0]
:ufw6-before-
:ufw6-before-
:ufw6-before-
:ufw6-before-output - [0:0]
:ufw6-reject-
:ufw6-reject-input - [0:0]
:ufw6-reject-output - [0:0]
:ufw6-track-forward - [0:0]
:ufw6-track-input - [0:0]
:ufw6-track-output - [0:0]
-A INPUT -j ufw6-before-
-A INPUT -j ufw6-before-input
-A INPUT -j ufw6-after-input
-A INPUT -j ufw6-after-
-A INPUT -j ufw6-reject-input
-A INPUT -j ufw6-track-input
-A FORWARD -j ufw6-before-
-A FORWARD -j ufw6-before-forward
-A FORWARD -j ufw6-after-forward
-A FORWARD -j ufw6-after-
-A FORWARD -j ufw6-reject-forward
-A FORWARD -j ufw6-track-forward
-A OUTPUT -j ufw6-before-
-A OUTPUT -j ufw6-before-output
-A OUTPUT -j ufw6-after-output
-A OUTPUT -j ufw6-after-
-A OUTPUT -j ufw6-reject-output
-A OUTPUT -j ufw6-track-output
COMMIT
# Completed