2 eth с одним ip

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

damaty
Сообщения: 11
ОС: Debian

2 eth с одним ip

Сообщение damaty »

Есть машина с 2-мя ethernet-контроллерами. Сеть настроена с помощью network-manager (без GUI), созданы 2 подключения, каждый из которых привязан к MAC контроллера и обоим задан _одинаковый_ статический адрес.
Если в конкретный момент времени подключен только один контроллер, то всё работает хорошо. При подключении второго начинаются проблемы - с одного из контроллеров данные не идут.

По поводу обмена данных. К рассматриваемой машине подключаются платы, которые шлют (только шлют, ничего не принимают) udp-поток с информацией.
Поэтому вариант с маршрутизацией видимо отпадает. Устройства посылают пакеты на фиксированный адрес (192.168.1.137) и изменить этот адрес нет возможности.

Цель - принимать два потока от двух устройств с двух контроллеров с одинаковыми ip-адресами. Использовать свитч или что-нибудь подобное, к сожалению, нельзя.

На машине работает клиент, который слушает udp-сокеты и выводит в дебаг нужную информацию, при наличии потока. При подключении второго устройства, начинаются странности и потоки принимаются только с одного контроллера либо вообще не приходят. Также в информации ifconfig не увеличивается кол-во rx-пакетов, т.е. проблема не в клиенте.

Есть предположение, что грешит network-manager, но через network/interfaces я не добился более хороших результатов, и network-manager всё таки пока необходим, т.к. через него сейчас сделано подключение через 3g модем (при этом в /etc/NetworkManager/NetworkManager.conf стоит manager=true). В interfaces только loopback.

os - ubuntu server 12.04

Кто-нибудь знает как бороться с этим?


Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: 2 eth с одним ip

Сообщение Voral »

Прикольно....

Офтопик моде он.

Представьте у вас с соседом абсолютно одинаковые адреса. Вы с ним в контрах. Вы согласились бы, чтоб вам приносили зарплату на адрес (при этом отдавали любому кто откроет по указанному адресу).... И курьеры всегда разные........ Я б нет.....

Офтопик моде офф.


Если у вас сложилась подобная ситуация, что IP неприменно определенный и конкретный - вводите в протокол признак устройства. Хотя складывается впечатление, что ПО вы не можете управлять в подобном "ключе"..... Может вы это делаете не совсем с согласия разработчика? ;)

Офтопик был к тому, что даже если вы исхитритесь и сделаете все согласно ваших условий - я б не стал полагаться на надежнойсть данной системы и достоверность обрабатываемых данных....
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21552
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: 2 eth с одним ip

Сообщение Bizdelnick »

http://superuser.com/questions/146873/mult...-one-ip-address
На NM, естественно, надлежит забить.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: 2 eth с одним ip

Сообщение Voral »

damaty писал(а): ↑
03.08.2012 16:30
По поводу обмена данных. К рассматриваемой машине подключаются платы, которые шлют (только шлют, ничего не принимают) udp-поток с информацией.
Поэтому вариант с маршрутизацией видимо отпадает. Устройства посылают пакеты на фиксированный адрес (192.168.1.137) и изменить этот адрес нет возможности.

Вот этого я совсем не понял. У вас железяка шлет только на определенный адрес? Или клиент првязан к IP? Обязательно оба устройства загонять в одну сеть? Нельзя сделать две физически разные сети с одинаковой адресацией?
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
mikes
Сообщения: 294
ОС: ubuntu

Re: 2 eth с одним ip

Сообщение mikes »

маловато инфы о построении всего этого дела.
Зачем 2 сетевых?
если есть n устройств которые шлют udp пакеты на жестко заданный ip, то включите их все в свич, а его уже в свою очередь в комп.

вариант 2.
если устройства тоже имеют одинаковые ip mac и тд и вам действительно необходимо различать трафик по устройствам, то зачем одинаковые mac на вашем компе.. одинаковые ip можно задать статически и без них.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: 2 eth с одним ip

Сообщение sash-kan »

damaty писал(а): ↑
03.08.2012 16:30
созданы 2 подключения, каждый из которых привязан к MAC контроллера и обоим задан _одинаковый_ статический адрес
одинаковые mac-адреса и ip-адреса?
и те и другие должны быть разными, пакеты всё равно будут приходить на вашу машину·

damaty писал(а): ↑
03.08.2012 16:30
На машине работает клиент, который слушает udp-сокеты
прослушиваемый ip-адрес клиенту можно указать?
если да, то всё достаточно просто — воспользуйтесь dnat-ом·
если нет, и если бы передо мной стояла такая задача, я бы раскошелился на самый скромный б/у-шный компьютер за сотню долларов (несложно найти и за «спасибо»)·
потому что связываться с изоляцией и контейнеризацией процессов — не хочу·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
damaty
Сообщения: 11
ОС: Debian

Re: 2 eth с одним ip

Сообщение damaty »

Если у вас сложилась подобная ситуация, что IP неприменно определенный и конкретный - вводите в протокол признак устройства. Хотя складывается впечатление, что ПО вы не можете управлять в подобном "ключе"..... Может вы это делаете не совсем с согласия разработчика?

Я и есть разработчик тех устройств, но менять прошивку теперь нет возможности. Они шлют на один и тот же адрес, но по разным портам. Сделано именно так, потому что раньше они были подключены к машине с одним портом через свитч. Но в связи с различными предположениями о возможных колизиях в свитче, было решено попробовать использовать 2 ethernet-а.

Вот этого я совсем не понял. У вас железяка шлет только на определенный адрес? Или клиент првязан к IP? Обязательно оба устройства загонять в одну сеть? Нельзя сделать две физически разные сети с одинаковой адресацией?

Есть 2 микроконтроллера, оба шлют на адрес 192.168.1.137 поток udp. Но первый использует порты 2006-2008, второй 2009-2011. Устройства не должны как-то общаться между друг-другом, они только посылают данные - сами ничего не принимают и не знают.

если есть n устройств которые шлют udp пакеты на жестко заданный ip, то включите их все в свич, а его уже в свою очередь в комп.
если устройства тоже имеют одинаковые ip mac и тд и вам действительно необходимо различать трафик по устройствам, то зачем одинаковые mac на вашем компе.. одинаковые ip можно задать статически и без них.

Свитч будет использован, если не получится сделать, как написано в первом топике. По поводу адресов - ниже.

одинаковые mac-адреса и ip-адреса?
и те и другие должны быть разными, пакеты всё равно будут приходить на вашу машину·

На машине заданы одинаковые статические ip-адреса для обоих контроллеров, mac-адреса же не изменены - к ним просто "привязаны" подключения в nm. Т.е. mac-адреса на сетевых контроллерах разные.

прослушиваемый ip-адрес клиенту можно указать?
если да, то всё достаточно просто — воспользуйтесь dnat-ом·
если нет, и если бы передо мной стояла такая задача, я бы раскошелился на самый скромный б/у-шный компьютер за сотню долларов (несложно найти и за «спасибо»)·
потому что связываться с изоляцией и контейнеризацией процессов — не хочу·

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

Если честно, я немного не понимаю, почему возникает проблема. Есть 2 независимых контроллера, на них идут 2 независимых потока данных. Почему я не могу корректно обрабатывать их?
В дополнение: устройства имеют одинаковый ip-адрес, и, насколько я помню одинаковый mac. Однако они никак не обрабатывают входящий трафик, даже не пингуются (и другие ARP(?) запросы).

http://superuser.com/questions/146873/mult...-one-ip-address
На NM, естественно, надлежит забить.

Спасибо, я попробую сделать bridge. Но, полностью на NM забить пока не могу (wvdial не осилил, да и модема уже под рукой нет), а одновременное использование nm и /network/interfaces наверное может работать не корректно.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21552
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: 2 eth с одним ip

Сообщение Bizdelnick »

damaty писал(а): ↑
04.08.2012 08:24
одновременное использование nm и /network/interfaces наверное может работать не корректно.

Должно работать. Бридж только через interfaces можно сделать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
mikes
Сообщения: 294
ОС: ubuntu

Re: 2 eth с одним ip

Сообщение mikes »

damaty писал(а): ↑
04.08.2012 08:24
В дополнение: устройства имеют одинаковый ip-адрес, и, насколько я помню одинаковый mac. Однако они никак не обрабатывают входящий трафик, даже не пингуются (и другие ARP(?) запросы).

но ARP таблица все равно в свиче строится .. он ведь изучает мак устроства на порту по его пакетам, аналогично и на компьютере тоже. если на устройствах действительно одинаковые маки, то у свича будет коллизия конечно, одно устройство удет выброшено.

относительно компьютера.. даже если сетвых карт больше чем 1, ARP таблица будет все равно одна.. и там по идее не может быть одинаковых 2 мака на разных интерфейсах (хотя если задать вручую.. )в системном логе ничего нет по поводу arp spoofing?

скорее всего идея
sash-kan писал(а): ↑
03.08.2012 21:53
если да, то всё достаточно просто — воспользуйтесь dnat-ом·
если нет, и если бы передо мной стояла такая задача, я бы раскошелился на самый скромный б/у-шный компьютер за сотню долларов (несложно найти и за «спасибо»)·

самая лучшая, подключи 1 контроллер к одному компу и сделай в нем DNAT на второй комп, а в свою оередь ко второму контроллер напрямую. таким образом решится проблема с одинаковыми маками
Спасибо сказали:
damaty
Сообщения: 11
ОС: Debian

Re: 2 eth с одним ip

Сообщение damaty »

но ARP таблица все равно в свиче строится .. он ведь изучает мак устроства на порту по его пакетам, аналогично и на компьютере тоже. если на устройствах действительно одинаковые маки, то у свича будет коллизия конечно, одно устройство удет выброшено.

Через свитч всё работает. Просто поток данных довольно большой (3000пакетов в секунду) и бывают пропадания (редко,но немного неприятно). Появилась мысль, что это может происходить из-за свитча.
самая лучшая, подключи 1 контроллер к одному компу и сделай в нем DNAT на второй комп, а в свою оередь ко второму контроллер напрямую. таким образом решится проблема с одинаковыми маками

Это всё стоит на производстве, не дома :) Менять архитектуру нельзя. Если не получится бриджем или каким-нибудь другим способом, запустим через свитч.
в системном логе ничего нет по поводу arp spoofing?

Я гляну. Но насколько я помню, если подключить вместо второго устройства что-нибудь другое, например ноут, то история повторяется - с первого перестают идти пакеты. Хотя тут надо уточнить (проверить).

Завтра попробую бридж.
Спасибо сказали:
Аватара пользователя
mikes
Сообщения: 294
ОС: ubuntu

Re: 2 eth с одним ip

Сообщение mikes »

damaty писал(а): ↑
04.08.2012 21:50
Через свитч всё работает. Просто поток данных довольно большой (3000пакетов в секунду) и бывают пропадания (редко,но немного неприятно). Появилась мысль, что это может происходить из-за свитча.

модель свича? они ведь разные бывают однако, попробуйте более производительную модель (посмотрите в сторону flow control) к примеру, если у вас есть представительство длинк, то они дают устройства "на попробовать", ну окромя самых младших.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: 2 eth с одним ip

Сообщение sash-kan »

damaty писал(а): ↑
04.08.2012 08:24
QUOTE писал(а):одинаковые mac-адреса и ip-адреса?
и те и другие должны быть разными, пакеты всё равно будут приходить на вашу машину·

На машине заданы одинаковые статические ip-адреса для обоих контроллеров, mac-адреса же не изменены - к ним просто "привязаны" подключения в nm. Т.е. mac-адреса на сетевых контроллерах разные.
бррр·
что значит «на машине заданы ip-адреса для контроллеров»?
вы написали, что на двух сетевых интерфейсах вашей машины указали одинаковые ip-адреса·
вот про эти два сетевых интерфейса я и говорил — адреса на них должны быть _разными_·
на apr-запросы linux по умолчанию всё равно ответит (если не сконфигурировано иначе), соотвественно, и ethernet-фреймы после этого будут направлены именно вашей машине·

QUOTE писал(а):
QUOTE писал(а):прослушиваемый ip-адрес клиенту можно указать?
если да, то всё достаточно просто — воспользуйтесь dnat-ом·
если нет, и если бы передо мной стояла такая задача, я бы раскошелился на самый скромный б/у-шный компьютер за сотню долларов (несложно найти и за «спасибо»)·
потому что связываться с изоляцией и контейнеризацией процессов — не хочу·

На клиенте можно указать что угодно. А вот подключаемые устройства менять пока нельзя.
учитывая, что, как вы пишете, устройства посылают пакеты на разные порты, даже и dnat не нужен·

резюме:
присвойте второму сетевому интерфейсу какой-нибудь ip-адрес и маску, никак не пересекающиеся с тем, что у вас сконфигурировано на первом интерфейсе·
10.0.0.1/24, например·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: