crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Сетевые интерфейсы и как выбрать с каким работать?, Интернет подключения и всё такое...
ViGOur
  опции профиля:
сообщение 1.2.2019, 15:45
Сообщение #1


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Всем привет.

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

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


Пока не работал с таким, потому даже технологию как это можно сделать не представляю, а может и знаю как, но конец недели! :rolleyes:
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 4.2.2019, 6:09
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


ViGOur, у меня в своё время тоже такой вопрос был, но я так и не нашёл ответ :(
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 4.2.2019, 11:41
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Ну решение данной проблемы есть (тот же VirtualBox позволяет работать с разными интерфейсами Lan, Wan и ...), пока только не понятно как.
Задача не приоритетная, потому пока плотно данным вопросом еще не занялся, но хотелось бы получить ответ на этот вопрос раньше, чем плотно займусь данной задачей. :)

Или, если не получу ответа как решу, то как обычно отвечу здесь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 4.2.2019, 11:44
Сообщение #4


фрилансер
******

Группа: Участник
Сообщений: 2939
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


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

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 7.2.2019, 4:15
Сообщение #5


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


если тебя интересует программное решение, на C/C++ - через bind на исходящий адрес (и порт, если нужно).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 7.2.2019, 8:59
Сообщение #6


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


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

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

Подозреваю, что так же с bind, а у интерфейс проверяет сеть в которой он работает и всё. Но всё же...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 7.2.2019, 21:03
Сообщение #7


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


ну так других вариантов просто нет. сначала тебе нужно выбрать список интерфейсов и их адресов (системно-зависимое решение). а потом привязываться к конкретному исходящему адресу (и если нужно - порту).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.3.2024, 11:43