Domanda: Come posso avviare un programma assicurandomi che il suo accesso alla rete sia collegato tramite una specifica interfaccia di rete?
Caso: voglio accedere a due macchine distinte con lo stesso IP (192.168.1.1), ma accessibile tramite due diverse interfacce di rete (eth1 ed eth2).
Esempio:
net-bind -D eth1 -exec {Program 192.168.1.1}
net-bind -D eth2 -exec {Program 192.168.1.1}
Quanto sopra è un'approssimazione di ciò che mi piacerebbe, ispirato dall'associazione hardware effettuata tramite primusrun e optirun .
Sfida: come suggerito in un thread correlato , le interfacce utilizzate non sono scelte dal programma, ma piuttosto dal kernel (da qui la sintassi di pre-binding nell'esempio sopra).
Ho trovato alcune soluzioni correlate, che sono insoddisfacenti. Si basano su interfacce di rete vincolanti tramite blacklist di reti specifiche dell'utente; cioè, eseguendo il processo come utente che può accedere solo a una singola interfaccia di rete specifica.