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.