Created
July 13, 2023 19:22
-
-
Save Sammy1Am/afd9cbc34a64226df8b967cbed0f98f1 to your computer and use it in GitHub Desktop.
Multicast and TP-Link Relay for nftables on OpenWRT
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# It's important to use separate ip/ip6 tables when working with dup (at least for now there are some | |
# issues it seems using inet | |
# Create ipv4 relay table | |
table ip relay4 | |
flush table ip relay4 | |
# This will forward TP-Link discovery packets (useful for ensuring cameras stream locally instead of over | |
# the Internet, and discovering other IoT devices. Needs to be paired with a firewall rule to accept | |
# forwards on SOURCE port 9999 from br-lan.21 to br-lan.1 | |
table ip relay4 { | |
chain prerouting_mangle_tplinkrelay4 { | |
type filter hook prerouting priority mangle; policy accept; | |
iifname "br-lan.1" udp dport 9999 ip daddr 255.255.255.255 dup to 255.255.255.255 device br-lan.21 | |
} | |
} | |
# mDNS relaying for ipv4 (some implementations expect source address to be on the same subnet, hence sarrd set) | |
table ip relay4 { | |
chain prerouting_mangle_mdns4 { | |
type filter hook prerouting priority mangle; policy accept; | |
ip daddr 224.0.0.251 iifname br-lan.1 ip saddr set 192.168.21.1 dup to 224.0.0.251 device br-lan.21 notrack | |
ip daddr 224.0.0.251 iifname br-lan.21 ip saddr set 192.168.7.1 dup to 224.0.0.251 device br-lan.1 notrack | |
} | |
} | |
# Create ipv6 relay table | |
table ip6 relay6 | |
flush table ip6 relay6 | |
# mDNS relaying for ipv4 (some implementations expect source address to be on the same subnet, hence sarrd set) | |
table ip6 relay6 { | |
chain prerouting_mangle_mdns6 { | |
type filter hook prerouting priority mangle; policy accept; | |
ip6 daddr ff02::fb iif br-lan.1 ip6 saddr set fd00:0:0:21::1 dup to ff02::fb device br-lan.21 notrack | |
ip6 daddr ff02::fb iif br-lan.21 ip6 saddr set fd00:0:0:7::1 dup to ff02::fb device br-lan.1 notrack | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment