Comments (8)
Morning ! Either of the options ought to work: --interfaces eth0 eth0.10 eth0.20 eth0.30 --noTransmitInterfaces eth0.10 eth0.20 eth0.30 should do the trick, leaving packets to only be sent out of eth0.
Or indeed, --ifFilter, where if eth0 is 10.0.0.0/8, eth0.10 is 172.20.0.0/16 and eth0.20 is 192.168.0.0/16 then this ought to do the trick:
{ "172.20.0.0/16": ["eth0.20"], "192.168.0.0/16": ["eth0.10"]}
from multicast-relay.
That's what I thought, and yet after I get and running with…
podman run -it -d \
--restart=always \
--name="multicast-relay" \
--network=host \
-e OPTS="--verbose" \
-e INTERFACES="br0 br101 br102 br103 br104 br105 br106 br107 br108 br109" \
-e NOTRANSMITINTERFACES="br101 br102 br103 br104 br105 br106 br107 br108 br109" \
docker.io/scyto/multicast-relay
…I still have thousands of lines of MDNS traffic originating from all the no transmit interfaces.
Attempting to achieve the same end using IFFILTER gives the same non-result. Am I an idiot?
Thanks again for your attention
from multicast-relay.
Try this instead:
podman run -it -d
--restart=always
--name="multicast-relay"
--network=host
-e OPTS="--verbose --noTransmitInterfaces br101 br102 br103 br104 br105 br106 br107 br108 br109"
-e INTERFACES="br0 br101 br102 br103 br104 br105 br106 br107 br108 br109"
docker.io/scyto/multicast-relay
from multicast-relay.
Ah - thanks. Every day has its "duh" moment.
I thought I'd try it the other way…
podman run -it -d \
--restart=always \
--name="multicast-relay" \
--network=host \
-e INTERFACES="br0 br101 br102 br103 br104 br105 br106 br107 br108 br109" \
-e OPTS="--verbose --ifFilter /mnt/data/on_boot.d_support/ifFilter.json" \
docker.io/scyto/multicast-relay
…but I get a
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/data/on_boot.d_support/ifFilter.json'
error no matter what path I give ifFilter, or what syntax I use to specify it.
Again, thanks for taking the time to help with this.
from multicast-relay.
No worries - glad you're a step closer.
The next problem is that your container does not have access to the files on the host's filesystem - you could map one to the other with the --volume
flag, like this:
podman run ...other options... --volume /mnt/data/on_boot.d_support:/config --ifFilter /config/ifFilter.json docker.io/scyto/multicast-relay
from multicast-relay.
Whoopee! And the winner is…
podman run -it -d \
--restart=on-failure:10 \
--name="multicast-relay" \
--network=host \
--mount type=bind,src=/mnt/data/on_boot.d_support,dst=/multicast-relay-config \
-e OPTS="--ifFilter=/multicast-relay-config/ifFilter.json" \
-e INTERFACES="br0 br101 br102 br103 br104 br105 br106 br107 br108 br109" \
docker.io/scyto/multicast-relay
…with ifFilter.json…
{
"192.168.0.0/24": ["br0", "br101", "br102", "br103", "br104", "br105", "br106", "br107", "br108", "br109"],
"192.168.1.0/24": ["br0"],
"192.168.2.0/24": ["br0"],
"192.168.3.0/24": ["br0"],
"192.168.4.0/24": ["br0"],
"192.168.5.0/24": ["br0"],
"192.168.6.0/24": ["br0"],
"192.168.7.0/24": ["br0"],
"192.168.9.0/24": ["br0"],
"192.168.9.0/24": ["br0"]
}
Everyone can see services advertised by hosts on 192.168.0.0/24, but none of the other subnets can see whatever nonsense they're all broadcasting.
Thanks again for your help. You've been most generous.
from multicast-relay.
Excellent - glad it worked out for you, and thanks so much for posting the result - no doubt it will also help others in due course !
from multicast-relay.
Try this instead:
podman run -it -d --restart=always --name="multicast-relay" --network=host -e OPTS="--verbose --noTransmitInterfaces br101 br102 br103 br104 br105 br106 br107 br108 br109" -e INTERFACES="br0 br101 br102 br103 br104 br105 br106 br107 br108 br109" docker.io/scyto/multicast-relay
I'm still struggling with the ifFiler.json so I am trying to go the NoTransmitInterfaces route instead. I have three VLANS 10, 20, and 30. My IOT devices are all on VLAN 30 so that is the only one I want to transmit mdns. So this is the command I used:
docker run -it -d
--network=host
--name relay
--restart=always
-e OPTS="--noTransmitInterfaces eth0.10 eth0.20"
-e INTERFACES="eth0.10 eth0.20 eth0.30"
docker.io/scyto/multicast-relay
docker logs -f relay shows the following:
However, once I include the noTransmitInterfaces line I do not see and mdns traffic from VLAN30 on VLAN10 or VLAN20. It's like nothing is being transmitted anywhere.
Am I not using this correctly?
from multicast-relay.
Related Issues (20)
- set REMOTE_HOST to a subnet? HOT 7
- Breaking update for --listen HOT 2
- Issues with mDNS and Airplay devices HOT 5
- Not all broadcast addresses are accepted
- --ifFilter HOT 2
- Help for anyone moving to UDM Pro v2.4.23 HOT 23
- OpenWRT and python3 HOT 4
- Devices not discoverable HOT 1
- Any Chance to add Wake On Lan? HOT 1
- latest commit broken HOT 1
- /healthz healthcheck endpoint HOT 1
- Usage on windows HOT 1
- UniFi UDM Pro v3.1.x
- Python 3.12
- ifFilter.json
- Error mdnsForceUnicast
- Could I use multicast-relay to forward over a Unifi Site Magic Site - Site VPN?
- Could I use multicast-relay to forward over a Unifi Site Magic Site - Site VPN?
- Relay One Way
- Can't discover Samsung TV in Youtube app HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from multicast-relay.