Ustawiam topologię testową w Mininet jako:
sudo mn --mac --topo linear,3 --switch ovsk --controller=remote,ip=10.0.2.15,port=6653
w ten sposób:
chcę, aby ruch z H1 do H3 odwiedził H2, zanim zostanie przekierowany do H3. Ustawiłem reguły przepływu na moich przełącznikach (Open vSwitch), aby to zrobić. Jednak gdy ruch trafia do H2, tam spada.
Jakie konfiguracje powinienem dodać do H2 (Ubuntu 14.04), aby umożliwić H2 przekazywanie ruchu, który nie jest do niego przeznaczony ani z niego nie pochodzi?
linux
networking
ubuntu
forwarding
traffic
Archaj
źródło
źródło
Odpowiedzi:
Myślę, że musisz włączyć funkcję przekazywania IP .
Można to uzyskać za pomocą
sysctl
narzędzia:sysctl -a | grep forwarding
produkuje (na moim Macu):Może wyglądać nieco inaczej na Ubuntu.
0
Wartość oznacza IP Forwarding jest wyłączone.Aby włączyć IP Forwarding (v4), jako root:
Powinno to zadziałać natychmiast, jednak nie będzie się utrzymywać po ponownym uruchomieniu. Aby tak było, umieściłbym
net.inet.ip.forwarding=1
w/etc/sysctl.conf
.źródło
netstat -rn
podobnym poleceniem.Dziękuję za odpowiedzi, w końcu mogłem to zrobić, przepisując docelowy adres Mac pakietów w przełączniku. problem polegał na tym, że host 2 upuszcza pakiety, które nie są do niego przeznaczone (inny adres docelowy Maca). w ten sposób, przepisując docelowy adres Mac na adres Mac hosta 2 na przełączniku 2 i aktywując przekazywanie IP na hoście 2, ruch jest skutecznie przekierowywany. więc pierwszym krokiem jest powiadomienie S2, aby wysłało ruch do hosta 2 z docelowym komputerem Mac hosta 2., a krok 2, aby nakazał S2 przepisanie adresu Mac ruchu powracającego z hosta 2 na hosta 3 adres Mac (w celu przywrócenia oryginalny adres mac).
źródło