Một máy khách VPN có địa chỉ LAN không nằm trên LAN
Gán địa chỉ LAN cho máy khách VPN không đặt nó vào liên kết đó. Các máy chủ cục bộ hỏi về một hàng xóm, nên cổng phải trả lời, nếu không câu trả lời sẽ không bao giờ đến.
Máy khách kết nối, nhận 10.50.0.200 và không thể đến máy chủ ở 10.50.0.20 dù cả hai số nằm trong cùng một /24. Niềm tin đằng sau cấu hình đó là một địa chỉ từ tiền tố LAN biến máy khách thành một phần của LAN. Không phải vậy. Máy khách nằm trên một liên kết điểm-điểm, máy chủ coi đích là cục bộ, và phần còn thiếu là một câu trả lời hàng xóm mà không ai gửi.
Lầm tưởng: cùng tiền tố nghĩa là cùng phân đoạn
Tiền tố địa chỉ cho máy chủ biết đích nào nó đến trực tiếp và đích nào cần bộ định tuyến. Nó không cho biết đích được gắn vật lý như thế nào, và chắc chắn không bảo đảm rằng đích có thể trả lời một yêu cầu ở lớp liên kết. Đó là những câu hỏi khác nhau, được trả lời bởi những bảng khác nhau trên máy chủ. Mặt nạ trả lời câu thứ nhất và bảng hàng xóm trả lời câu thứ hai, và chỉ câu thứ nhất nằm trong tầm kiểm soát của bạn từ phía VPN.
Khi máy chủ gửi đến 10.50.0.200, nó so sánh đích với mặt nạ của mình, quyết định rằng địa chỉ là on-link, và hỏi phân đoạn cục bộ về địa chỉ phần cứng sở hữu nó. Yêu cầu đó đi ra trên giao diện Ethernet, và máy khách VPN không ở đó để nghe.
Không có gì trong cấu hình của máy khách có thể sửa điều này từ phía nó. Đường trả lời phụ thuộc vào việc một thiết bị trên LAN trả lời thay cho máy khách, hoặc máy khách có một địa chỉ mà máy chủ không coi là cục bộ.
Máy chủ cục bộ thực sự làm gì với địa chỉ
Hành vi dễ quan sát và đáng quan sát trước khi thay đổi bất cứ điều gì. Hãy xem bảng hàng xóm trên một máy chủ LAN sau khi nó cố đến máy khách: một mục không đầy đủ hoặc thất bại là toàn bộ chẩn đoán trong một dòng. Dòng đó cũng cho bạn biết lỗi là cục bộ với phân đoạn chứ không phải đâu đó bên trong đường hầm.
ip neigh show 10.50.0.200 ip route get 10.50.0.200 arping -I eth0 -c 3 10.50.0.200
Việc tra cứu tuyến sẽ báo cáo đích là on-link qua giao diện Ethernet, và đó chính là vấn đề. Nếu mục hàng xóm vẫn không đầy đủ trong khi phiên VPN đang hoạt động, bạn đã xác nhận rằng phần còn thiếu là phân giải ở lớp liên kết chứ không phải định tuyến hay chính sách tường lửa.
Thực hiện cùng kiểm tra từ một máy chủ ở mạng con khác và so sánh. Một máy chủ đến được máy khách qua bộ định tuyến không cần mục hàng xóm nào cả, và sự khác biệt đó chính là quyết định thiết kế ở quy mô nhỏ.
proxy ARP cung cấp bước nhảy tiếp theo như thế nào
proxy ARP khiến cổng trả lời yêu cầu ở lớp liên kết thay cho một đích mà nó có thể đến qua giao diện khác. Máy chủ LAN nhận một địa chỉ phần cứng, gửi khung đến cổng, và cổng chuyển gói vào phiên VPN. Từ góc nhìn của máy chủ, máy khách chỉ đơn giản trông như ở sau cổng. Không có gì trong cấu hình của máy khách thay đổi.
Tài liệu ARP của RouterOS của MikroTik mô tả cách dùng đó cho máy khách quay số vay không gian địa chỉ của LAN được kết nối. Cơ chế này là một sửa chữa cho việc phân giải hàng xóm, và nó hoạt động vì cổng thực sự nằm trên cả hai đường.
Đây không giống như bắc cầu máy khách vào LAN. Cổng vẫn phải chuyển gói đến phiên hoạt động đúng, và việc định tuyến cùng chính sách tường lửa của nó vẫn phải cho phép dịch vụ. proxy ARP thay đổi ai trả lời yêu cầu hàng xóm, không phải ai được phép nói.
Đọc kỹ tên chế độ của nền tảng. RouterOS phân biệt proxy-arp với local-proxy-arp, và cái sau xử lý lưu lượng đi vào và đi ra qua cùng một giao diện. Chúng không phải những cách viết thay thế cho nhau, và bật cả hai mà không phân biệt không phải là đường tắt.
Những gì proxy ARP không mang lại cho bạn
Nó không cung cấp khám phá qua broadcast hay multicast. Một máy khách cần tìm dịch vụ qua broadcast vẫn sẽ thất bại, vì cổng chuyển unicast vào phiên và không biến máy khách thành thành viên của miền broadcast của LAN. Các giao thức khám phá dựa vào broadcast là nguồn phổ biến của những báo cáo rằng nó hoạt động với thứ này mà không với thứ khác trong các thiết kế địa chỉ vay mượn.
Nó không đặt trước địa chỉ. Nếu số vay mượn cũng nằm trong một bể DHCP hoặc trong một gán tĩnh, hai thiết bị có thể kết thúc với cùng một địa chỉ và hành vi kết quả phụ thuộc vào thời điểm. Đăng nhập thành công không phải là đặt trước.
Và nó không loại bỏ nhu cầu phối hợp với người sở hữu LAN. Một mục proxy ARP khiến người sở hữu kế hoạch địa chỉ ngạc nhiên là một sự cố hỗ trợ đang chờ một tuần yên tĩnh.
So sánh với một bể được định tuyến riêng
Giải pháp thay thế là cấp cho máy khách VPN tiền tố riêng của họ và để máy chủ LAN định tuyến đến đó. Khi đó máy chủ gửi trả lời off-link đến cổng của nó, cổng định tuyến tiền tố đến điểm cuối VPN, và trên phân đoạn LAN hoàn toàn không cần phân giải hàng xóm. Đó là ít bộ phận chuyển động hơn so với một địa chỉ vay mượn cộng một câu trả lời proxy.
Thiết kế đó dễ suy nghĩ hơn và dễ kiểm toán hơn, vì dải máy khách tách biệt rõ ràng với dải LAN. Nó tốn một tuyến, một đường về và một quy tắc truy cập, tức là những thứ mà thiết kế proxy ARP cần ở một nơi kém hiển nhiên hơn.
Hãy chọn giữa các mô hình một cách có chủ đích chứ không phải tình cờ. proxy ARP sửa một mối quan hệ cụ thể; một bể được định tuyến tránh nhu cầu sửa chữa đó. Ghi lại bạn đã chọn cái nào và vì sao, và người tiếp theo sẽ không phải khám phá lại điều đó từ một mục hàng xóm thất bại.