LINUX.ORG.RU

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

 , , , ,


0

2

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

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



Последнее исправление: Dimez (всего исправлений: 1)
Ответ на: комментарий от Kolins

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

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

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

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

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

Kolins ★★★★★
()

Ничего не понятно. Кто отвечает на запросы клиента, сервер или «железка». При чём здесь пинги. Куда пинги, на сервер или на «железку». Есть у «железки» свои 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 ★★★★★
()