On 9.11.2022 12.39 PM, Barbaros Bilek wrote:
> Hi again,
>
> I've added this route :
> ''route add 239.0.1.2/32 172.16.1.1''
> But nothing changed.
> Is OpenBSD capable of multicast routing? Am I doing a wrong configuration?
> Any thoughts?
> Thanks in advance.
>
> On Tue, Nov 8, 2022 at 6:28 PM Barbaros Bilek <barbarosblek@gmail.com>
> wrote:
>
>> Hi Folks,
>>
>> I try to do multicast routing with OpenBSD 7.2
>> Here is my setup:
>>
>> # Default GW to internet
>> echo 'inet autoconf' > /etc/hostname.em0
>> # Get 10.10.12.81/24 from dhcp-server with gw 10.10.12.1
>>
>> # Multicast Server Interface (transmit packets)
>> echo 'inet 172.16.1.1 255.255.255.0 NONE' > /etc/hostname.em1
>> # Multicast Client interface (receive packets)
>> echo 'inet 172.16.55.1 255.255.255.0 NONE' > /etc/hostname.em2
>> # Forward ip & multicast
>> echo 'sysctl net.inet.ip.forwarding=1' > /etc/sysctl.conf
>> echo 'sysctl net.inet.ip.mforwarding=1' >> /etc/sysctl.conf
>> # Enable Multicast on OpenBSD
>> rcctl enable multicast
>> # Disable PF
>> rcctl disable pf
>>
>> # Mrouted Configuration
>> multicast_test# cat /etc/mrouted.conf
>> name STD 239.0.0.0/16
>> pruning on
>> phyint 172.16.1.1 threshold 16
>> boundary STD
>> altnet 172.16.0.0/16
>> phyint 172.16.55.1 threshold 16
>> boundary STD
>> altnet 172.16.0.0/16
>> phyint 10.10.12.81 disable
>> # Enable mrouted on startUp
>> rcctl enable mrouted
>> # Reboot system
>> reboot
>>
>> For testing purposes I use this application : Singlewire Software IC Test
>> Multicast (It uses )
>> I'm sure about my testing environment. Because when I use a Brocade ICX L3
>> switch with router pim configuration everything is ok. But with OpenBSD
>> multicast routing fails:
>>
>> Here some logs :
>>
>> multicast_test# mrinfo
>>
>> 127.0.0.1 (localhost) [version 3.8,prune,genid,mtrace]:
>>
>> 10.10.12.81 -> 0.0.0.0 (local) [1/1/disabled]
>>
>> 172.16.1.1 -> 0.0.0.0 (local) [1/16/querier/leaf]
>>
>> 172.16.55.1 -> 0.0.0.0 (local) [1/16/querier/leaf]
>>
>>
>> multicast_test# netstat -g
>>
>>
>> Virtual Interface Table
>>
>> Vif Thresh Local-Address Remote-Address Pkt_in Pkt_out
>>
>> 1 16 172.16.1.1 458 0
>>
>> 2 16 172.16.55.1 0 0
>>
>>
>> Multicast Forwarding Cache
>>
>> Hash Origin Mcastgroup Traffic In-Vif
>> Out-Vifs/Forw-ttl
>>
>> 0 172.16.1.1 239.0.1.2 458B 1
>>
>>
>> Total no. of entries in cache: 1
>>
>>
>> IPv6 Multicast Interface Table is empty
>>
>> IPv6 Multicast Routing Table is empty
>>
>>
>> Output when I run mrouted at debug mode :
>>
>>
>> multicast_test# mrouted -dvvvv
>>
>>
>>
>>
>> mrouted: debug level invalid
>>
>> debug level 2
>>
>> 18:06:55.405 mrouted version 3.8
>>
>> 18:06:55.407 Getting vifs from kernel interfaces
>>
>> 18:06:55.408 installing em0 (10.10.12.81 on subnet 10.10.12/24) as vif #0
>> - rate=0
>>
>> 18:06:55.408 installing em1 (172.16.1.1 on subnet 172.16.1/24) as vif #1 -
>> rate=0
>>
>> 18:06:55.408 installing em2 (172.16.55.1 on subnet 172.16.55/24) as vif #2
>> - rate=0
>>
>> 18:06:55.408 Getting vifs from /etc/mrouted.conf
>>
>> 18:06:55.408 Installing vifs in mrouted...
>>
>> 18:06:55.408 vif #1, phyint 172.16.1.1
>>
>> 18:06:55.409 vif #2, phyint 172.16.55.1
>>
>> pruning on
>>
>> 18:06:55.410 Installing vifs in kernel...
>>
>> 18:06:55.410 vif #1, phyint 172.16.1.1
>>
>> 18:06:55.410 vif #2, phyint 172.16.55.1
>>
>> vifs_with_neighbors = 0
>>
>>
>> Virtual Interface Table
>>
>> Vif Name Local-Address M Thr Rate
>> Flags
>>
>> 0 em0 10.10.12.81 subnet: 10.10.12/24 1 1 0
>> disabled
>>
>> 18:06:55.411 warning - SIOCGETVIFCNT fails
>>
>>
>> 1 em1 172.16.1.1 subnet: 172.16.1/24 1 16 0
>> querier
>>
>> alternate subnets: 172.16/16
>>
>> boundaries: 239.0/16
>>
>> 18:06:55.411 warning - SIOCGETVIFCNT fails
>>
>>
>> 2 em2 172.16.55.1 subnet: 172.16.55/24 1 16 0
>> querier
>>
>> alternate subnets: 172.16/16
>>
>> boundaries: 239.0/16
>>
>> 18:06:55.411 warning - SIOCGETVIFCNT fails
>>
>>
>>
>> Multicast Routing Table (3 entries)
>>
>> Origin-Subnet From-Gateway Metric Tmr In-Vif Out-Vifs
>>
>> 172.16.55/24 1 0 2 1*
>>
>> 172.16.1/24 1 0 1 2*
>>
>> 172.16/16 1 0 1 2*
>>
>>
>> 18:07:15.583 update 0 starting at 3 of 3
>>
>> 18:07:16.593 update 0 starting at 3 of 3
>>
>> 18:07:17.602 update 0 starting at 3 of 3
>>
>> 18:07:18.612 update 0 starting at 3 of 3
>>
>>
>> When i watch packets on em1 i can see multicast packets are arriving: (constantly
>> increasing...)
>>
>> multicast_test# tcpdump -nettti em1 host 239.0.1.2
>>
>> tcpdump: listening on em1, link-type EN10MB
>>
>> Nov 08 18:19:33.344608 2c:f0:5d:73:f8:c4 01:00:5e:00:01:02 0800 73:
>> 172.16.1.2.50665 > 239.0.1.2.20480: udp 31
>>
>> Nov 08 18:19:34.358455 2c:f0:5d:73:f8:c4 01:00:5e:00:01:02 0800 73:
>> 172.16.1.2.50665 > 239.0.1.2.20480: udp 31
>>
>>
>> But at the receiver side (em2) there are no multicast packets transmitted
>> by em1
>> After a while i saw only one packet as igmp nreport with TTL 1
>>
>> multicast_test# tcpdump -nettti em2 host 239.0.1.2
>>
>> tcpdump: listening on em2, link-type EN10MB
>>
>> Nov 08 18:21:12.994258 2c:f0:5d:73:f8:c3 01:00:5e:00:01:02 0800 60:
>> 172.16.55.2 > 239.0.1.2: igmp nreport 239.0.1.2 [ttl 1]
>>
>>
>> I've even tried some igmp/mcast proxies but could not figure out how to
>> become a multicast router with my best OS, OpenBSD.
>>
>> I can not understand what I am doing wrong.
>> Thanks and regards.
>>
Hi Barbaros,
Those links below might help:
https://troglobit.com/howtos/pimd-on-openbsd/
https://www.reddit.com/r/openbsd/comments/aw7vo7/64_simple_multicast_routing/
https://github.com/Esdenera/mcast-proxy
http://undeadly.org/cgi?action=article;sid=20110222002946
Cheers,
Tarkan
No comments:
Post a Comment