Không vào được LAN qua OpenVPN? Kiểm tra vùng, tuyến và đường về
Bộ định tuyến trả lời vì nó là cục bộ. Để đến một máy phía sau nó cần quy tắc chuyển tiếp, tiền tố trên máy khách và đường về cho câu trả lời.
Đường hầm báo kết nối thành công, trang của chính bộ định tuyến tải được, nhưng ánh xạ ổ đĩa tới một máy phía sau nó vẫn hết thời gian chờ. Không có gì mâu thuẫn trong tổ hợp đó: bộ định tuyến trả lời với tư cách chính nó, còn đến được thứ gì đó phía sau là một quyết định khác được đưa ra ở nơi khác. Hãy làm các kiểm tra bên dưới theo thứ tự và dừng ở lỗi đầu tiên, vì mỗi bước dựa trên bước trước. Khi cả bốn bước qua, lỗi nằm phía trên đường hầm chứ không phải trong đó.
Bộ lọc nào nhìn thấy gói tin đi tới LAN
Gói tin gửi tới bộ định tuyến được tiêu thụ tại chỗ; gói tin gửi tới một máy phía sau nó phải được chuyển tiếp, và tường lửa đánh giá hai trường hợp đó riêng rẽ. Vì vậy quyền đến bộ định tuyến không nói gì về quyền đi xuyên qua nó. Phần sụn giấu các bộ quy tắc của mình vẫn triển khai cả hai, thường là một bộ chọn cung cấp LAN, internet hoặc cả hai. Nếu bộ chọn bỏ LAN ra ngoài thì không kiểm tra nào sau đó còn quan trọng.
OpenWrt làm cho sự phân chia đó có thể kiểm tra được, và khác biệt này đáng đọc một lần. Vùng kết thúc đường hầm cần một quy tắc chuyển tiếp trỏ tới vùng LAN, trong khi quy tắc vào chỉ điều khiển các dịch vụ trên chính bộ định tuyến. Một trang quản trị hoạt động bên cạnh một LAN chết là kết quả thường gặp của quy tắc chuyển tiếp còn thiếu đó.
uci show firewall | grep -E "zone\[[0-9]+\]\.(name|input|forward|output)"Hãy xem đích chuyển tiếp của vùng mang đường hầm: accept là thứ mà chiếc thang cần, còn reject giải thích mọi lần hết thời gian bên dưới. Hai thiết lập lân cận tạo ra cùng một triệu chứng, nên hãy loại chúng khi còn ở đây. Cách ly không dây giấu các máy có dây khỏi máy khách không dây, và bộ định tuyến coi các máy LAN nhàn rỗi là ngoại tuyến có thể bỏ câu trả lời ngay cả sau khi chuyển tiếp đã hoạt động.
Vì sao đường hầm chia tách cần tiền tố được đẩy
Máy khách gửi toàn bộ lưu lượng qua đường hầm đã có tiền tố LAN nhờ tuyến mặc định, nên không có gì để thêm. Đường hầm chia tách là trường hợp cần nêu rõ tiền tố, vì không có gì khác trong cấu hình nhắc tới nó. Thêm chỉ thị vào cấu hình máy chủ và tải lại dịch vụ.
push "route 192.168.50.0 255.255.255.0"Các hồ sơ có chứa route-nopull sẽ bỏ qua các tuyến được đẩy, nên cùng tiền tố đó thuộc về tệp máy khách. Dù thế nào, hãy xác nhận mục đã đến thay vì giả định, vì một lần ghi đè âm thầm trông giống hệt sự cố tường lửa.
ip route show | grep 192.168.50Một đối tác site-to-site yêu cầu nhiều hơn một lần đẩy. Máy chủ phải học những tiền tố nào nằm sau đối tác đó, điều mà dòng iroute trong tệp client-config-dir của nó làm, và bảng của chính nó cũng cần tuyến khớp đi vào đường hầm.
Câu trả lời cần một địa chỉ mà nó có thể tới
Chuyển tiếp yêu cầu chỉ là một nửa của cuộc trao đổi, vì máy LAN phải trả lời một địa chỉ trong nhóm địa chỉ của đường hầm. Các bộ định tuyến nhỏ thường xử lý việc đó bằng dịch nguồn trên vùng đường hầm, nên câu trả lời được gửi tới bộ định tuyến và không cần cấu hình ở nơi khác. Bỏ phép dịch đó đi thì máy chủ cần tuyến riêng tới nhóm, thứ mà nó có miễn phí khi bộ định tuyến là cổng mặc định của nó. Một máy đặt địa chỉ bằng tay và có cổng khác sẽ trả lời qua cổng đó, và máy khách thấy phiên mở ra rồi khựng lại.
tcpdump -ni tun0 host 192.168.50.20Chạy lệnh này trên bộ định tuyến trong khi máy khách lặp lại yêu cầu, và đọc đích của câu trả lời chứ không phải yêu cầu. Một câu trả lời gửi tới nhóm nghĩa là đường về hoạt động và lỗi nằm sâu hơn. Không có câu trả lời nào nghĩa là máy chủ chưa từng nhận gói, điều này đưa bạn trở lại bộ quy tắc.
Một chiếc thang kết thúc đúng chỗ
Bốn kiểm tra xác định tầng, và mỗi bước là một lệnh duy nhất chứ không phải một phán đoán. Chạy chúng theo thứ tự và dừng ở lỗi đầu tiên. Thứ tự quan trọng hơn các lệnh, vì một bước sau thành công sẽ che mất lý do bước trước thất bại.
ping -c1 10.8.0.1
ping -c1 192.168.50.20
nc -vz 192.168.50.20 445
getent hosts nas.localTên thuộc về cuối chiếc thang, không bao giờ ở đầu. Một thư mục chia sẻ trả lời với tư cách 192.168.50.20 nhưng không phải nas.local cho thấy vấn đề phân giải tên hoặc hậu tố tìm kiếm, và việc sửa tường lửa không thể thay đổi cả hai.
Ghi lại bước hỏng đầu tiên, rồi cho các cổng dịch vụ một lượt riêng, vì trình lắng nghe và quyền của máy là hai yêu cầu khác nhau. Chia sẻ tệp, màn hình từ xa và luồng camera đều cần cả hai, và tường lửa của máy tin vào mạng con LAN nhưng không tin nhóm đường hầm sẽ bỏ máy khách trong khi ping vẫn thành công. Khi mọi kiểm tra đều qua mà ứng dụng vẫn hỏng, lỗi nằm trên đường hầm: một dịch vụ gắn với một giao diện, hoặc một proxy được cấu hình trên máy khách.