Похоже, что сетевая карта с двойным интерфейсом назначает два адреса одному и тому же порту, а не по одному на порт

Вы должны запрограммировать возможность обработки команды pipe из оболочки.

См., например, такие ссылки, как Программа на C для демонстрации вилки и конвейера:

  • канал ()используется для передачи информации от одного процесса к другому.
  • труба ()однонаправленная, поэтому для двустороннего -сообщения между процессы, можно настроить две трубы, по одной для каждого направления.

Пример:

int fd[2];
pipe(fd);
fd[0]; //-> for using read end
fd[1]; //-> for using write end

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

2
12.06.2021, 11:54
1 ответ

Here's the unexpected part. I can ping the IP address of the 10Gb/s from my laptop on the production network (see below).

В этом нет ничего неожиданного. :Оба IP-адреса находятся в одной подсети, поэтому любой запрос ARP для 192.168.69.224в «производственной сети» за enp1s0f1будет транслироваться на этот адрес, и ядро ​​Linux ответит на это для любые локальные IP-адреса.

Если вы действительно хотите разделить сети за обоими портами, вам нужны разные диапазоны подсетей для них (, но вы не описали топологию остальной части вашей сети ). Если вы поместите их в одну и ту же подсеть, это будет то же самое, что заявить о своем намерении: «Я хочу, чтобы оба адреса были доступны из этой подсети через любой коммутатор, который получит их первым».

0
28.07.2021, 11:25

Теги

Похожие вопросы