Я устанавливаю тестовую топологию в Mininet следующим образом:

sudo mn --mac --topo linear,3  --switch ovsk --controller=remote,ip=10.0.2.15,port=6653

как это:
простая топология
Я хочу, чтобы трафик, идущий от H1 до H3, посещал H2, прежде чем он будет перенаправлен на H3. Я установил правила потока на своих коммутаторах (Open vSwitch), чтобы сделать это.  Однако, когда трафик переходит на H2, он там падает.

Какие конфигурации я должен добавить в H2 (Ubuntu 14.04), чтобы H2 мог перенаправлять трафик, который ему не предназначен и не был получен из него?

2 ответа2

0

Я думаю, вам нужно включить функцию пересылки IP.

Это можно получить с помощью утилиты sysctl :

sysctl -a | grep forwarding выдает (на моем Mac):

net.inet.ip.forwarding: 0
net.inet6.ip6.forwarding: 0

Это может выглядеть немного иначе в Ubuntu. Значение 0 означает, что IP-пересылка отключена.

Чтобы я включил IP-пересылку (v4), я бы от имени root:

[nevin-mac-mini:~] root# sysctl net.inet.ip.forwarding=1
net.inet.ip.forwarding: 0 -> 1

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

net.inet.ip.forwarding=1 в /etc/sysctl.conf .

0

Спасибо за ваши ответы, я, наконец, смог сделать это, переписав целевой Mac-адрес пакетов в коммутаторе. проблема была в том, что хост 2 отбрасывает пакеты, которые ему не предназначены (другой адрес назначения Mac). таким образом, путем перезаписи Mac-адреса назначения в Mac-адрес хоста 2 на коммутаторе 2 и путем активации переадресации IP на хосте 2 трафик успешно перенаправляется. поэтому первый шаг - сказать S2 отправлять трафик на хост 2 с Mac назначения хоста 2. и шаг 2, чтобы сказать S2 переписать Mac-адрес трафика, возвращающегося с хоста 2 на MAC-адрес хоста 3 (для восстановления исходного MAC-адреса).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .