About

Work - Learn - Share

Lê Quang Thành : quangthanh010290@gmail.com | thanhlev@amazon.com.vn

Linux MacVLAN interface

Table of contents

  1. Revision history
  2. Định nghĩa
  3. Các mode hoạt động của macvlan interfaces
    1. Macvlan private
    2. Macvlan VEPA
    3. Macvlan bridge
    4. Macvlan passthrough
  4. Nhược điểm của macvlan
  5. Cách tạo macvlan interface

Revision history

Revision Date Remark
0.1 Jan-12-2023 Initialize document

Định nghĩa

Girl in a jacket

- Macvlan là một soft interface ảo hoạt động ở layer 2, là một sub-interface được tạo ra từ một interface vật lý.
- Network stack của Kernel sẽ tạo ra một interface có địa chỉ MAC khác với địa chỉ MAC của interface vật lý.
- Interface vật lý cần phải hỗ trợ mode `promiscuity` để hỗ trợ truyền nhận các gói tin có địa chỉ MAC nguồn và đích khác với địa chỉ MAC của interface vật lý.
- Kernel sẽ định tuyến các gói tin giữa interface ảo và interface vật lý dựa trên địa chỉ MAC trong ethernet frame.

Các mode hoạt động của macvlan interfaces

Macvlan private

Girl in a jacket

- Ở mode này các sub-interface không giao tiếp được với nhau, nghĩa là Kernel không định tuyến gói tin dựa trên MAC để chuyển đến sub-interface tương ứng.
- Tất cả data đều được đưa đến physical interface để truyền ra ngoài.

Macvlan VEPA

Girl in a jacket

- Ở mode này, ethernet frame được chèn thêm dữ liệu chuyên biệt. Và cần một Switch ở đầu cuối có hỗ trợ VEPA để forward gói tin ngược trở lại interface vật lý.

Macvlan bridge

Girl in a jacket




- Ở mode này , các package đi giữa các sub-interface với nhau sẽ được gửi nội bộ thông qua một bridge đơn giản.
- Các broadcast traffic sẽ được gửi nội bộ giữa các sub-interface lẫn gửi ra ngoài bằng interface vật lý.

Macvlan passthrough

Girl in a jacket

- Ở mode này chúng ta chỉ tạo ra một sub-interface và cho nó kết nối trực tiếp vào physical interface. Băng cách này chúng ta có thể thay đổi mac address cũng như các tham số interface khác trong máy ảo mà không làm ảnh hưởng đến interface chính.

Nhược điểm của macvlan

Cách tạo macvlan interface

Xem bài Linux Virtual Interfaces