Я пишу небольшое приложение, которое должно подключаться через один из нескольких сетевых интерфейсов на машине.Интерфейс не является «по умолчанию» (тот, у которого есть маршрут по умолчанию).Можно ли привязать исходящий TCP-сокет напрямую к определенному интерфейсу?
Вот пример:
eth0: 192.168.1.10, gateway 192.168.1.1
eth1: 192.168.2.10, gateway 192.168.2.1
default gateway: 192.168.1.1
(both interfaces can reach the Internet through different external IPs)
Теперь я хочу, чтобы мое приложение использовало eth1
для подключения квнешний сервер, даже если система настроена на использование eth0 для внешнего трафика.
(Вопрос, вероятно, тривиален, но я просто хотел узнать, возможно ли это вообще, прежде чем тратить на него время)
В настоящее время я использую Python с Twisted, но если мне нужно использовать BSD-сокеты, пусть будет так.