Tạo Vlan giữa các không gian tên mạng


8

Tôi muốn triển khai cấu trúc liên kết được hiển thị trong hình bên dưới bằng cách sử dụng các không gian tên mạng (ns1 đến ns4).

                      cấu trúc liên kết để thực hiện

Tôi có thể triển khai cấu trúc liên kết ở trên mà không cần chia mạng thành hai Vlan khác nhau bằng các lệnh sau (dựa trên bài viết này, có tiêu đề: Giới thiệu Không gian mạng Linux ):

sudo ip netns add ns1
sudo ip netns add ns2
sudo ip netns add ns3
sudo ip netns add ns4

sudo ip link add veth1 type veth peer name veth11
sudo ip link add veth2 type veth peer name veth12
sudo ip link add veth3 type veth peer name veth13
sudo ip link add veth4 type veth peer name veth14

sudo ip link set veth11 netns ns1
sudo ip link set veth12 netns ns2
sudo ip link set veth13 netns ns3
sudo ip link set veth14 netns ns4

sudo ip netns exec ns1  ifconfig lo up
sudo ip netns exec ns2  ifconfig lo up
sudo ip netns exec ns3  ifconfig lo up
sudo ip netns exec ns4  ifconfig lo up

sudo ifconfig veth1 10.1.11.1/24 up
sudo ifconfig veth2 10.1.12.1/24 up
sudo ifconfig veth3 10.1.13.1/24 up
sudo ifconfig veth4 10.1.14.1/24 up

sudo ip netns exec ns1 ifconfig veth11 10.1.11.2/24 up
sudo ip netns exec ns2 ifconfig veth12 10.1.12.2/24 up
sudo ip netns exec ns3 ifconfig veth13 10.1.13.2/24 up
sudo ip netns exec ns4 ifconfig veth14 10.1.14.2/24 up

sudo ip netns exec ns1 route add default gw 10.1.11.1 veth11
sudo ip netns exec ns2 route add default gw 10.1.12.1 veth12
sudo ip netns exec ns3 route add default gw 10.1.13.1 veth13
sudo ip netns exec ns4 route add default gw 10.1.14.1 veth14

Dựa trên các thiết lập ở trên, mọi người có thể ping mọi người khác. Bây giờ tôi muốn cách ly ns1 và ns3 trong một Vlan và ns2 và ns4 trong một Vlan khác. Để triển khai Vlan, tôi đang cố gắng sử dụng một cái gì đó như sau:

sudo vconfig add veth1 11
sudo vconfig add veth3 11
sudo vconfig add veth11 12
sudo vconfig add veth13 12

Tuy nhiên mọi người vẫn có thể ping mọi người khác có nghĩa là mạng không được chia thành hai Lans khác nhau. Làm thế nào tôi có thể đạt được những gì tôi đang cố gắng? Có một phương pháp khác để gắn thẻ Vlan cho giao diện ảo không?


Bạn có thể vui lòng đăng các bảng định tuyến của cả hai không gian tên và bảng định tuyến "kim loại trần" của bạn không? Bạn có 2 vlans và điều này không có nghĩa là họ sẽ không được nhìn thấy nhau. Nếu bạn có định tuyến giữa chúng, bạn sẽ có thể ping nhau ...

xác nhận nhận xét của @nwildner Tôi đang nghĩ về một giải pháp với iptables.

Câu trả lời:


5

Một số thứ được trộn lẫn:

  1. Trong đồ họa của bạn, bạn để cho không gian tên mặc định của Viking giống như một công tắc, nhưng bạn đã cấu hình nó thành một bộ định tuyến.
  2. Với một bộ định tuyến ở giữa, vlan1 và vlan1 khác là khác nhau. Họ không chia sẻ cùng một mạng LAN, vì vậy họ không thể ở cùng một Vlan.
  3. Các vconfigcuộc gọi của bạn sẽ không tìm thấy veth11 hoặc veth13, vì chúng không nằm trong không gian tên mặc định. - Bạn không nhận được bất kỳ lỗi nào!?
  4. veth1 và veth11 là một trong những đường ống. Tại sao bạn chỉ định cho họ các Vlan ID khác nhau?
  5. Tại sao bạn không đặt một đầu của ống trong ns1 (bạn làm điều đó) và đầu kia trong ns3 (thay vì không gian tên mặc định). - Sau đó, bạn có thể định tuyến hoặc cầu nối giữa chúng, thậm chí không trộn lẫn nó với ns2 và ns4.
  6. Hay nói cách khác: không trộn mọi thứ lại với nhau trong không gian tên mặc định, chỉ để phân tách chúng lại sau ...
  7. Bạn cũng có thể thực hiện theo cách đã thấy trong sơ đồ, nhưng không hoạt động với định tuyến hoặc địa chỉ IP (và sau đó là VLans trên đầu!?!): Đặt hai cầu trong không gian tên mặc định, kết nối một bên của mỗi đường ống. ở một trong những cây cầu. - Một cây cầu (lần này được cấu hình với VLans) cũng sẽ làm điều đó. Mặc dù vậy, tôi chưa kiểm tra xem mã cầu Linux có nhận biết Vlan không. Có lẽ là vậy.
  8. Tên veth của bạn là khó hiểu. Tại sao không phải là eth eth1a và cùng với eth eth1b hay một thứ tương tự theo kiểu đối xứng?
  9. iplỗi thời ifconfigvconfig
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.