Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Сетевые интерфейсы и как выбрать с каким работать?
Форум на CrossPlatform.RU > Разработка > С\С++
ViGOur
Всем привет.

Есть пускай 10 сетевых интерфейсов, с разными сетями. Нужно программно выбрать какой-то из интерфейсов и работать с ним. Чтобы было понятно, это резервные каналы.

Например: есть eth0, eth1 и eth2.
Мне нужно выйти например в интернет с помощбю eth2, причем строго через него, как это сделать?


Пока не работал с таким, потому даже технологию как это можно сделать не представляю, а может и знаю как, но конец недели! :rolleyes:
Litkevich Yuriy
ViGOur, у меня в своё время тоже такой вопрос был, но я так и не нашёл ответ :(
ViGOur
Ну решение данной проблемы есть (тот же VirtualBox позволяет работать с разными интерфейсами Lan, Wan и ...), пока только не понятно как.
Задача не приоритетная, потому пока плотно данным вопросом еще не занялся, но хотелось бы получить ответ на этот вопрос раньше, чем плотно займусь данной задачей. :)

Или, если не получу ответа как решу, то как обычно отвечу здесь.
Алексей1153
ViGOur, может, нужно какой-нибудь глобальный хук и какие-то пакеты общения с интерфейсом откидывать, где (в пакетах то есть) нет нужного макадреса или ещё чего-то. :unknw:

Iron Bug
если тебя интересует программное решение, на C/C++ - через bind на исходящий адрес (и порт, если нужно).
ViGOur
Цитата(Iron Bug @ 7.2.2019, 4:15) *
если тебя интересует программное решение, на C/C++ - через bind на исходящий адрес (и порт, если нужно).
Я пока на этом остановился.

Но интересна реализация выбора у того же Virtaul Box, в нем выбирается тип подключения (непример Сетевой мост), после чего интерфейс (например eth0 или enp3s0 или wlp4s0) после чего сеть работает по нему.

Подозреваю, что так же с bind, а у интерфейс проверяет сеть в которой он работает и всё. Но всё же...
Iron Bug
ну так других вариантов просто нет. сначала тебе нужно выбрать список интерфейсов и их адресов (системно-зависимое решение). а потом привязываться к конкретному исходящему адресу (и если нужно - порту).
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2019 IPS, Inc.