/etc/network/interfaces, so it's a Debian system...
Create a named routing table. As an example, I have used the name, "mgmt," below.
echo '200 mgmt' >> /etc/iproute2/rt_tables
Above, the kernel supports many routing tables and refers to these by unique integers numbered 0-255. A name, mgmt, is also defined for the table.
Below, a look at a default
/etc/iproute2/rt_tables follows, showing that some numbers are reserved. The choice in this answer of 200 is arbitrary; one might use any number that is not already in use, 1-252.
# reserved values
Below, a Debian 7/8 interfaces file defines
eth1 is the 172 network.
eth0 could use DHCP as well.
172.16.100.10 is the IP address to assign to
172.16.100.1 is the IP address of the router.
# The loopback network interface
iface lo inet loopback
# The production network interface
# iface eth0 inet dhcp
# Remove the stanzas below if using DHCP.
iface eth0 inet static
# The management network interface
iface eth1 inet static
post-up ip route add 172.16.100.0/24 dev eth1 src 172.16.100.10 table mgmt
post-up ip route add default via 172.16.100.1 dev eth1 table mgmt
post-up ip rule add from 172.16.100.10/32 table mgmt
post-up ip rule add to 172.16.100.10/32 table mgmt
Reboot or restart networking.
Update - Expounding on EL
I noticed in a comment that you were "wondering for RHEL as well."
In Enterprise Linux ("EL" - RHEL/CentOS/et al), create a named routing table as mentioned, above.
/etc/sysconfig/network-scripts/ifcfg-eth0 file, using a static configuration (without NetworkManager and not specifying "HWADDR" and "UUID" for the example, below) follows.
/etc/sysconfig/network-scripts/ifcfg-eth1 file (without NetworkManager and not specifying "HWADDR" and "UUID" for the example, below) follows.
172.16.100.0/24 dev eth1 table mgmt
default via 172.16.100.1 dev eth1 table mgmt
from 172.16.100.0/24 lookup mgmt