LINUX.ORG.RU

как закольцевать устройство через роутер для пинга?

 , , , ,


0

2

Есть железка, которая подключается по ethernet к 2 компам, на одном компе клиент tcp, на другом сервер. Железка умеет пропускать через себя пакеты на сквозь и отвечать на запросы клиента.

Хочу для тестов использовать 1 комп с одной сетевой картой, через роутер подключил оба конца ethernet в lan, работать так не хочет. Если 1 провод выдернуть, то начинает ping отвечать. Как сделать, чтобы при замыкании кольца в роутере работал ping ?



Последнее исправление: Dimez (всего исправлений: 1)

Если я тебя правильно понял:
На компе настроить 2 ip на интерфейсе и через pbr сделать чтобы когда пакеты приходят на ip1 уходили с ip1, когда на ip2, уходили с ip2

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

На компе одна сетевуха, если я пингую устройство и 1 из 2 ethernet выдернуть из роутера, разомкнуть кольцо, то работает. А если в кольцо железку соединяю на роутере - то не пингуется.

Роутер зависает из-за петли созданной ? Он не сможет так работать ? Брать 2 сетевухи в комп ставить ?

user812
() автор топика
Ответ на: комментарий от user812

На компе одна сетевуха, если я пингую устройство и 1 из 2 ethernet выдернуть из роутера, разомкнуть кольцо, то работает. А если в кольцо железку соединяю на роутере - то не пингуется.

Схему нарисовать можешь?

Kolins ★★★★★
()
Ответ на: комментарий от Kolins

комп1 - роутер

-lan1 - железка - lan2

если разомкнуть lan2 провод, то пинг проходит.

user812
() автор топика

Ничего не понятно. Кто отвечает на запросы клиента, сервер или «железка». При чём здесь пинги. Куда пинги, на сервер или на «железку». Есть у «железки» свои IP адреса, или она работает как бридж.

Видимо вот оригинальная схема с двумя компами:

<================> VLAN100
  |eth0        | 
 PC1           |eth0
              BOX
 PC2           |eth1
  |eth0        |
<================> VLAN200

Видимо хочется вот такую схему с одним компом:

<================> VLAN100
  |            | 
  |eth0.100    |eth0
 PC1          BOX
  |eth0.200    |eth1
  |            |
<================> VLAN200

Такую схему можно собрать на управляемом коммутаторе с поддержкой VLAN-ов. Например, на домашнем говнороутере. У говнороутеров обычно встроенный управляемый коммутатор на 6 портов (CPU, WAN, LAN1, LAN2, LAN3, LAN4). Например, комп на порту LAN1 (802.1Q tagged), «железяка» на портах LAN2 (vlan 100) и LAN3 (vlan 200). На компе придётся поднять 802.1Q субинтерфейсы eth0.100 и eth0.200.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Там другие проблемы начнутся. Как запустить на компе одновременно и сервер и клиент, и чтобы линукс роутил трафик между ними не через лупбэк, а через eth0.100/eth0.200. Там придётся либо создавать два сетевых неймспейса, раскидывать eth0.100 и eth0.200 по разным неймспейсам, и запускать клиент в одном неймспейсе, а сервер в другом. Либо делать какой-то мутный policy based routing.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

На запрос клиента отвечает железка, у нее есть ип, сервер нужен только для сквозной передачи данных и отправки в обратную сторону. Роутер dl-604 без поддержки vlan. Я когда пинг делаю железки, эти пакеты железка дальше не должна транслировать, поэтому не понятно, как роутер выявляет петлю замкнутую и перестает работать ?

user812
() автор топика
Ответ на: комментарий от user812

У «железки» два ethernet порта, два интерфейса, т.е. она является роутером. Откуда она берёт адреса для интерфейсов? При подключении к двум компам эти адреса из разных подсетей? А при подключении к двум LAN портам одного говнороутера из одной подсети? Так может она принимает пинг на одном интерфейсе, а отправляет ответ с другого интерфейса (и с другого адреса)? Такой ответ (с другого адреса) программа ping не поймает.

iliyap ★★★★★
()

Хочу для тестов использовать 1 комп с одной сетевой картой

а почему не подходит локалхост? или виртуальные машины? зачем нужно запариваться с проводами?

flant ★★★★
()
Ответ на: комментарий от user812

Значит «железка» является не роутером, а бриджом. Когда ты оба её порта подключаешь к коммутатору к портам одного VLAN-а, образуется кольцо коммутации. Коммутатор должен кольцо задетектить и один из своих портов заблокировать.

iliyap ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария