Dlaczego Linux wymaga przeniesienia adresu IP z interfejsu eth do interfejsu mostu


27

Gdy interfejs sieciowy (np. Eth0) zostanie dodany do mostu Linux (np. Br0), adres IP musi zostać usunięty z eth0 i dodany do br0, aby sieć działała poprawnie.

Pamiętam, że czytałem w pliku Readme Open vSwitch (którego nie mogę teraz znaleźć), że przeniesienie adresu IP jest wymagane ze względu na sposób implementacji jądra Linux. Co takiego jest w implementacji Linuksa, która wymaga przeniesienia adresu IP z karty sieciowej do mostu?

Odpowiedzi:


10

Karta sieciowa reprezentuje kabel łącza zwrotnego. Kabel to warstwa 1, a nie warstwa 3.

Teraz Bridge działa jako urządzenie adresowane do ruchu sieciowego (przychodzącego) na serwerze - albo na warstwie 2 (Ethernet / MAC) i / lub warstwie 3 (IP).

Tak więc urządzeniem, które odpowiada na żądania ARP, jest mostek - co jest dobre, ponieważ musi rozdzielić ruch na inne interfejsy tego mostka.

Gdyby odpowiadającym urządzeniem była karta sieciowa, ruch nie byłby przekazywany dalej do mostu.

Dlatego w niektórych przewodnikach zaleca się nawet usunięcie MAC z karty sieciowej (ładującej).


Mówiąc o rzeczywistych mechanizmach linuksowych (a nie o dobrych praktykach), oznacza to, że jeśli umieszczę interfejs pod mostem, jądro nie będzie go już uważać za interfejs adresowalny L2 / L3? dobrze ? Ponieważ nic nie stoi na przeszkodzie, aby przypisać mu adres MAC / IP, jest to mylące.
Jocelyn delalande

1
@Jocelyn Odwrotnie. Jeśli nadal można go adresować jako L2 / 3, zablokuje on inny ruch. Dlatego nie należy zwracać się bezpośrednio, jeśli jest na moście.
Nils

ok, ale domyślnie port pozostaje adresowalny na L2 (zachowuje MACaddr, jeśli go nie usunę), prawda? dlaczego przepuszcza ruch L2 do mostu?
Jocelyn delalande

2
@Jocelyn Tak długo, jak długo nie odpowiada na żądania arp, wszystko będzie dobrze na l2 / 3. Jeśli nie przechwyci pakietów, przepuści pakiety do części sieciowej jądra.
Nils

Dobrze. Zapytałem, bo zauważyłem, że część ruchu spadła podczas przypisywania adresu do portu; ale było to spowodowane przez rp_filter.
Jocelyn delalande

1

Most rozdziela ruch do miejsca, w którym musi się udać, gdy w interfejsie znajduje się wiele interfejsów. Mniej więcej, poszczególne interfejsy w moście działają teraz na warstwie 2 zgodnie z tym, co określa most, a nie niezależnie na warstwie 3. Więc chcesz zająć się mostem jako całością, a nie pojedynczymi interfejsami w nim.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.