[BIÊN TẬP]
Hệ thống sản xuất hiện là một hệ thống dựa trên vật lý hỗn hợp và ESXi. Chúng tôi rõ ràng sẽ không bao giờ sử dụng hộp ảo ngay cả đối với môi trường tiền sản xuất! Nó chỉ được sử dụng ở đây để nhanh chóng thu hẹp vấn đề trực tiếp trên máy tính để bàn của tôi.
Cảm ơn lời giải thích cho việc "tạm dừng" trên meta!
[/BIÊN TẬP]
Thiết lập của tôi:
- Mạng riêng
vboxnet1
10.0.7.0/24 - 1 máy chủ, máy tính để bàn Ubuntu
- 1 VM, máy chủ Ubuntu (VirtualBox)
Bố cục địa chỉ:
- GIỜ: 10.0.7.1
- VM: 10.0.7.101
- Tên máy ảo MAC : 10.0.7.102
Trên VM
, tôi đã chạy các lệnh sau:
ip netns add mac # create a new nmespace
ip link add link eth0 mac0 type macvlan # create a new macvlan interface
ip link set mac0 netns mac
Trên mac
không gian tên, bên trong VM:
ip link set lo up
ip link set mac up
ip addr add 10.0.7.102/24 dev mac0
Vì vậy, về cơ bản chúng ta kết thúc với: (Giống như Inception?)
+------------------------+
| Host: 10.0.7.1 |
| |
| +--------------------+ |
| | VM: 10.0.7.101 | |
| | | |
| | +----------------+ | |
| | | NS: 10.0.7.102 | | |
| | | | | |
| | +----------------+ | |
| +--------------------+ |
+------------------------+
Những gì hoạt động:
- Ping giữa
Host
vàVM
- Ping giữa
NS
vàNS
- thông thái từ
NS
Những gì không hoạt động:
- ping giữa
NS
vàVM
- ping giữa
NS
vàHost
Nơi tôi bắt đầu đi hạt dẻ:
- tcpdump trên
host
(máy thật) thực sự hiển thị yêu cầu ARP VÀ trả lời - tcpdump trên
NS
chương trình yêu cầu ARP được gửi đến máy chủ - tcpdump trên
VM
làm cho toàn bộ mớ hỗn độn hoạt động (!) -> ping bắt đầu nhận được câu trả lời khi tcpdump được khởi động trên VM?!?
Vì vậy, tôi cá là bạn rất háo hức với nó, câu hỏi của tôi là: làm thế nào để tôi làm cho nó hoạt động? Tôi nghi ngờ có gì đó không ổn với ARP trên macvlan bên trong NS nhưng không thể biết chính xác ...
Btw, tôi đã thực hiện các giải pháp tương tự với mac0
giao diện trực tiếp trên VM (không có không gian tên) và nó hoạt động hoàn hảo.