Tại sao tôi không thể ping một domU xen với kết nối chế độ Cầu?


7

Tôi đang sử dụng Debian được nâng cấp từ 7.11 lên 8.5, vì vậy gói xen được nâng cấp từ 4.1 lên 4.4.

Tôi không biết nhiều về các mạng, nhưng khi tôi thấy một sơ đồ như thế này (được lấy từ trang wiki Mạng Xen ), tôi hy vọng có thể ping 198.51.100.27 ping -I xenbr0 198.51.100.27và ngược lại từ máy ảo ping 198.51.100.1.

Tuy nhiên, đây không phải là trường hợp. Tôi thiết lập sạch sẽ xenbr0với

# brctl addbr xenbr0
# ifconfig xenbr0 192.168.12.1 netmask 255.255.255.0 up

và trong tệp cấu hình HVM

vif=["mac=11:22:33:44:55:66, ip='192.168.12.2', bridge=xenbr0"]

Sau khi tôi khởi động VM xl create, đây là đầu ra từ brctl show:

bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.feffffffffff       no              vif3.0
                                                        vif3.0-emu

Tôi kết nối với VM bằng SPICE và cấu hình nó như hiển thị bên dưới:

nhập mô tả hình ảnh ở đây

Và vì tôi chỉ cố gắng ping cổng mặc định, tôi cho rằng sẽ không có việc giải quyết tên nào xảy ra.

Với thiết lập này, ping 192.168.12.2 -I xenbr0trên dom0 kết quả là

PING 192.168.12.2 (192.168.12.2) from 192.168.12.1 xenbr0: 56(84) bytes of data.
From 192.168.12.1 icmp_seq=1 Destination Host Unreachable

và từ Windows VM, ping 192.168.12.1từ cmdcó đầu ra

Pinging 192.168.12.1 with 32 bytes of data:
Reply from 192.168.12.2: Destination host unreachable.

Điều này cho thấy các máy móc không có ý tưởng về cách tiếp cận lẫn nhau. Không phải họ nên được liên kết bởi xl create? Lý do tại sao điều này xảy ra?


1
Tôi đồng ý với mong đợi của bạn. Bạn có tùy chọn chạy trình tcpdumpnghe trên giao diện được nhắm mục tiêu bởi ping. Điều này sẽ cho biết liệu giao diện có nhận được đầu dò ARP mà máy chủ ping sử dụng để tìm kiếm địa chỉ IP đích hay không. Và liệu nó có gửi phản hồi ARP không. (Bạn có thể thấy yêu cầu trông như thế nào nếu bạn chạy tcpdump trên máy chủ ping'ing). Ví dụ: tcpdump chụp các gói trước khi áp dụng quy tắc tường lửa. Tốt để thử theo cả hai hướng như bạn đã làm với kiểm tra ping đơn giản ... mặc dù bạn có thể thấy dễ dàng nhất để có được một gói chụp như vậy ở phía Linux.
sourcejedi

Theo như những gì tôi thấy, cả hai bên đều có thể gửi các đầu dò ARP, Windows VM hỏi ai-có 192.168.2.1 và Debian Dom0 hỏi ai-có 192.168.2.2 nhưng không nhận được phản hồi. Tôi không biết phản hồi ARP trông như thế nào, nhưng chắc chắn tôi không thấy bất cứ điều gì trông giống như "vâng địa chỉ MAC này có IP mà bạn đã yêu cầu"
sikerbela

Bây giờ bạn chỉ đề cập trực tiếp, "Windows VM;" Tôi sẽ đề nghị vui lòng thêm thông tin này trong tiêu đề, cũng như ít nhất một lần trong câu hỏi. Hãy chắc chắn bao gồm phiên bản Windows nào và vỏ bạn đang sử dụng trong Windows!
quênstwordxpassword

Xin lỗi vì sự phức tạp - và tôi cũng không có ý tưởng nào - nhưng phần thú vị hơn IMO là liệu đầu dò ARP có được nhận tại mục tiêu hay không. Tức là nếu chúng có thể được nhận ở cả hai đầu, nó cho thấy cây cầu thực sự đang truyền một số gói. Mặc dù các đầu dò ARP hơi đặc biệt ở chỗ chúng được gửi đến địa chỉ quảng bá, thay vì đến một địa chỉ Ethernet cụ thể.
nguồn

Tôi chỉ phát hiện ra đầu dò ARP làm đạt vif và vif không đáp ứng với "192.168.2.2 là 11:22: ..." khi ping từ dom0 nhưng pingvẫn nói Destination Host Unreachable. Nhật ký trên đường đi.
sikerbela

Câu trả lời:


1

Nếu mọi thứ được thiết lập chính xác, bạn sẽ có thể ping, không có vấn đề.

Đầu tiên, hãy thử các cấu hình được đề xuất:

Nếu bạn chỉ muốn nghiên cứu cách các tuyến hoạt động, bạn có thể thực hiện thiết lập paravirtualized (PV), thay vì HVM, như bạn đã đề cập; nhưng nếu bạn gắn bó với HVM, hãy đảm bảo bạn đã cài đặt trình điều khiển cho Windows . Đây là tất cả được phác thảo ở đầu hướng dẫn Xen . Nó cũng giải thích cách gán địa chỉ MAC, địa chỉ MAC trong bài viết khi viết, không hợp lệ - đôi khi cũng ổn đối với các tình huống ảo, nhưng không phải cho mọi cấu hình.

Khi bạn thiết lập xenbr0 của mình trên máy chủ, cầu cơ bản sẽ thay thế giao diện eth0 trên các hệ thống dựa trên Debian. Đúng là ( từ hướng dẫn xen ) eth0 là tùy chọn "Bằng cách bỏ qua thiết bị Ethernet vật lý, một mạng riêng biệt chỉ có thể tạo tên miền khách", nhưng các ví dụ trong hướng dẫn, cũng như bài đăng của bạn ở đây, không được nói rằng đường. Đối với các độc giả tương lai, trong một máy khách ảo gia đình Fedora, cũng như với Windows, vui lòng xem tất cả các tài liệu cho các yêu cầu cấu hình hơi khác nhau. Điều này , đặc biệt có vẻ giống như vấn đề của bạn, trừ khi bạn bị chặn bởi tường lửa, trình bao bọc tcp hoặc bất cứ điều gì khác không được đề cập trong bài viết gốc.

Xác nhận

Trong Windows, bạn có thể xác minh thiết lập mạng với, ví dụ , ipconfig /all.

Trong các cấu hình mẫu Xen từ cùng một trang web mà cả hai chúng tôi đã tham chiếu, nó gợi ý bên dưới, cũng như các cấu hình khác, cho máy chủ; ví dụ, nhập tất cả các mục bên dưới, mà không bỏ qua phần đầu tiên.

Ví dụ 2: Một mạng cầu nối đơn sử dụng eth0 được cấu hình với địa chỉ IP cục bộ tĩnh

hướng dẫn sử dụng iface eth0 inet

iface xenbr0 inet tĩnh

    bridge_ports eth0
    address 192.168.1.2
    broadcast 192.168.1.255
    netmask 255.255.255.0
    gateway 192.168.1.1

Bạn có thể xác nhận điều này với ifconfigroutetrên cả dom0 và dom1 hoặc các công cụ tương tự trên máy chủ , như được giải thích trong liên kết ở trên và đảm bảo rằng tất cả được cấu hình đúng.

Tinh chỉnh cơ bản

Nếu bạn muốn đảm bảo rằng không truy cập internet (hoặc các phần khác của mạng, nói chung), ngoài việc giữ cáp vật lý không được cắm, tất nhiên, bạn có thể thay đổi cổng mặc định thành 0.0.0.0, sau đó thêm "tuyến đường" "(một hộp nên ở ngay bên dưới trong hầu hết Network Manager GUI kiểu), với cùng địa chỉ IP của máy khách và mặt nạ mạng con, nhưng sau đó với địa chỉ của máy chủ, làm cổng. Trong một số GUI thậm chí còn có một hộp có nội dung như "chỉ cho phép tuyến kết nối này cho mạng cục bộ".

Thêm một "tuyến đường" trong máy khách Windows của bạn cũng có thể hoạt động như một công việc xung quanh để giải quyết vấn đề ban đầu của bạn.


Tại sao nên eth0lên? Ngay cả khi máy không có kết nối bên ngoài hoặc thậm chí là một liên kết vật lý, tôi không nên mong đợi nó được kết nối với các máy ảo bên trong?
sikerbela

Trong Xen, cây cầu đặt trên một thiết bị vật lý hiện có, để các thiết bị ảo có thể thoát ra khỏi mạng; Tôi hiểu những gì bạn đang có trong lý thuyết, nhưng nếu mọi thứ được thiết lập chính xác và không có gì chặn nó thì nó sẽ hoạt động. Tôi đã cập nhật cụm từ trước đây trong câu trả lời của tôi về eth0 "lên", tôi đã đề cập đến "... xóa cài đặt IP khỏi eth0 và chuyển chúng sang giao diện cầu nối. .... eth0 sẽ hoạt động hoàn toàn như đường lên vật lý từ cây cầu để nó không có bất kỳ cài đặt IP (L3) nào trên đó ... "từ hướng dẫn.
quênstackxpassword

Tôi nghĩ rằng nó rõ ràng trong câu hỏi - không có eth0trong thiết lập của tôi. Chỉ có một giao diện xenbr0trên vifX.0. Tuy nhiên, tôi vẫn mong đợi có thể ping vifX.0và do đó, xenbr0nó từ ảo ethvà ngược lại, và vì nó rõ ràng là không hoạt động, tôi muốn biết tại sao.
sikerbela

Vâng tuyệt, cảm ơn đã làm rõ. Điều quan trọng duy nhất, nhưng rất quan trọng, tôi đã gợi ý, là theo tài liệu xen kẽ tiêu chuẩn, bạn cần eth0, ít nhất là theo nghĩa, đó là giao diện của bạn sau đó được chuyển thành br0. Về mặt lý thuyết, bạn vẫn đúng khi đặt câu hỏi, "có thể chỉ có br0 không", mọi người vẫn có thể nhìn vào nó.
quênstwordxpassword

nếu bạn thêm thông tin cũng sẽ giúp người khác hoặc chính tôi làm rõ câu trả lời này, ví dụ, nếu bạn đang sử dụng Windows.
quênstackxpassword

1

(Không thể nhận xét vì yêu cầu 50 đại diện)

Vì các gói đến trên phần vif và phần vif của cây cầu, bước tiếp theo sẽ là kiểm tra ebtables và iptables (iptables -L), đặc biệt nếu / Proc / sys / net / Bridge / Bridge-nf-call-iptables là Do đó, 1 và bộ lọc mạng do đó kiểm tra các gói trên cầu.


Có vẻ như bạn có thể đăng nó ngay bây giờ như một bình luận, làm tăng điểm! Tôi nghĩ rằng bạn đang ở đây, tôi chỉ nói ở trên phải có khối icmp trong tường lửa, v.v.
quênstackxpassword
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.