Multiple NICs on different subnets routing

I’m trying to configure a mDNS repeater system with multiple NICs on the different subnets that I want the mDNS packets rebroacasted for. However, after installing the system with the different NICs I’m having the issue where I cannot ping the IP of the system when the packet is traversing layer 3. I’m assuming the issue has to do with the system not knowing which default route to take when replying with the layer 3 packet. On CentOS 6/7, I know how to install iproute2 and configure it, but the same configurations do not seem to work on Rocky Linux 9.1. Can someone provide some instructions on how I can get this configured?

[root@mdns-repeater ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 2e:39:d4:4c:48:34 brd ff:ff:ff:ff:ff:ff
    altname enp0s18
    altname ens18
    inet 10.64.10.5/24 brd 10.64.10.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether da:fe:c0:52:fd:55 brd ff:ff:ff:ff:ff:ff
    altname enp0s19
    altname ens19
    inet 10.64.20.5/24 brd 10.64.20.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether a6:4f:1e:b5:b6:4a brd ff:ff:ff:ff:ff:ff
    altname enp0s20
    altname ens20
    inet 10.64.30.5/24 brd 10.64.30.255 scope global noprefixroute eth2
       valid_lft forever preferred_lft forever
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 06:dc:77:52:a8:a5 brd ff:ff:ff:ff:ff:ff
    altname enp0s21
    altname ens21
    inet 10.64.70.5/24 brd 10.64.70.255 scope global noprefixroute eth3
       valid_lft forever preferred_lft forever
[root@mdns-repeater ~]# ip route
default via 10.64.10.1 dev eth0 proto static metric 100 
default via 10.64.20.1 dev eth1 proto static metric 101 
default via 10.64.30.1 dev eth2 proto static metric 102 
default via 10.64.70.1 dev eth3 proto static metric 103 
10.64.10.0/24 dev eth0 proto kernel scope link src 10.64.10.5 metric 100 
10.64.20.0/24 dev eth1 proto kernel scope link src 10.64.20.5 metric 101 
10.64.30.0/24 dev eth2 proto kernel scope link src 10.64.30.5 metric 102 
10.64.70.0/24 dev eth3 proto kernel scope link src 10.64.70.5 metric 103 

Its always a cringe moment to see more than one “default route”, because effectively there can be only one default. No ifs or buts about it.

I presume that you are talking about policy-based routing. Red Hat describes them in Chapter 21. Configuring policy-based routing to define alternative routes Red Hat Enterprise Linux 9 | Red Hat Customer Portal