Как я создаю виртуальные устройства Ethernet в Linux?

Я тестирую реализацию протокола, который говорит между двумя компьютерами с помощью Ethernet (не IP). Чтобы к не на самом деле должны иметь два физических компьютера, я хочу создать два виртуальных интерфейса Ethernet. Они только смогли бы говорить друг с другом, таким образом, одна программа конечной точки свяжет с одним интерфейсом, и другая конечная точка связала бы с другим.

Действительно ли это возможно и как я делаю это?

24
задан Sourav Ghosh 15 January 2014 в 06:58
поделиться

3 ответа

Вы можете использовать VDE2, виртуальный выключатель.

Например (вам понадобится несколько терминов):

# Install vde2 (assumes Debian/Ubuntu)
sudo aptitude install vde2
# Create the switch and two tap interfaces attached to it
sudo vde_switch -tap tap0 -tap tap1
# Configure the interfaces
sudo ip addr add 10.0.31.10 dev tap0
sudo ip addr add 10.0.31.11 dev tap1
# Start a server
socat - TCP-LISTEN:4234,bind=10.0.31.10
# Alternatively, an echo server:
#socat PIPE TCP-LISTEN:4234,bind=10.0.31.10
# Start a client
socat - TCP:10.0.31.10:4234,bind=10.0.31.11

Тип на одной стороне, он появится на другом.

21
ответ дан 29 November 2019 в 00:01
поделиться

Вы можете использовать драйвер «TAP» Virtual Ethernet, который позволяет программу пользователя, притворяющейся интерфейсом Ethernet Отказ Это стандартная функция ядра в течение некоторого времени (она может быть не включена в вашем ядре).

6
ответ дан 29 November 2019 в 00:01
поделиться

Вы можете использовать NS3 для эмуляции сложной сети между двумя устройствами Tap Tap, если вам это нужно: http://www.nsnam.org/

У меня были его эмуляция двух коммутаторов, беспроводной клиент и AP, между двумя экземплярами виртуальной коробки.

2
ответ дан 29 November 2019 в 00:01
поделиться
Другие вопросы по тегам:

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