Hết thời gian chờ L2TP trên Ubuntu 22.04: lỗi đường hầm xl2tpd
IPsec kết nối, PPP không bao giờ khởi động, và xl2tpd lặp lại một đường hầm mà nó không thể khớp. Kiểm tra bản dựng đã cài trước khi chạm vào PSK hoặc máy chủ.
Màn hình nền hiển thị một kết nối đang diễn ra, IPsec báo thành công, và giao diện PPP không bao giờ xuất hiện. Trong syslog, cùng một số đường hầm lặp lại cho đến khi lần thử hết thời gian trên UDP 1701. Trước khi sửa khóa chia sẻ trước hoặc cấu hình máy chủ, hãy nhận ra dạng này: trên Ubuntu 22.04 đây thường là một hồi quy đóng gói trong xl2tpd, và máy chủ vẫn đúng suốt thời gian qua.
Cặp dòng log lặp lại cho bạn biết điều gì
Một phiên thất bại in ra hai dòng đều đặn: daemon không tìm thấy đường hầm cho thông điệp điều khiển đến, rồi đổ ra các định danh cuộc gọi và đường hầm mà nó được trao. Sau đó bộ đếm thử lại đạt giới hạn và kết nối đóng lại với thời gian chờ ở cổng 1701. Địa chỉ và định danh chỉ là ngẫu nhiên; dạng mới là điều quan trọng. IKE đã hoàn tất, lưu lượng điều khiển L2TP đã đến, và daemon không thể liên kết nó với một đường hầm mà nó đã tạo trước đó.
Vì vậy lỗi nằm giữa điều khiển L2TP và PPP. Chưa có gì về khóa bí mật, tùy chọn PPP hay mạng con từ xa được thử nghiệm.
Xác nhận IPsec thực sự thành công
Hai kiểm tra tách việc này khỏi vấn đề thông tin đăng nhập, và cả hai đều thuộc trước mọi thay đổi gói.
ipsec status
journalctl -u strongswan --since "5 min ago" | grep -i "shared key"Kết quả trạng thái liệt kê kết nối và trạng thái của nó, và một đường hầm đã thiết lập nghĩa là pha một và pha hai đã hoàn tất. Một dòng log về khóa chia sẻ bị thiếu chỉ vào khóa bí mật mà thôi, nên hãy dừng lại và sửa điều đó trước. Khi IPsec đã thiết lập mà thời gian chờ L2TP vẫn xuất hiện, daemon là nghi phạm còn lại. Giữ các dòng chính xác của một lần thử thay vì cả ngày thử lại.
Kiểm tra bản dựng xl2tpd, không phải tên bản phát hành
Bản dựng jammy của xl2tpd 1.3.16 trên Ubuntu đã bật tối ưu hóa khi liên kết, khiến việc phân tích định danh đường hầm trong phản hồi SCCRP của máy chủ bị hỏng. Daemon sau đó loại bỏ các gói điều khiển cho một đường hầm do chính nó tạo ra. Chuỗi phiên bản quan trọng hơn tên bản phân phối.
dpkg -l xl2tpd
apt policy xl2tpd
apt-mark showholdGói đã sửa là 1.3.16-1ubuntu0.1, nên bản dựng không có hậu tố đó có trước bản sửa. Kết quả chính sách cho biết bản nâng cấp sẽ cài ứng viên nào, và danh sách giữ lại giải thích vì sao bản sửa chưa đến. Ở nơi có gói, hãy nâng cấp và kết nối lại qua hồ sơ thông thường thay vì sửa tệp bằng tay. Không dựng lại mô-đun và không đổi khóa bí mật khi bản dựng cũ vẫn được cài.
Xác minh PPP sau thay đổi
Một bản nâng cấp thành công được chứng minh ở lớp đã hỏng. Kiểm tra rằng PPP đã lên, không chỉ là biểu tượng đã đổi.
ip -4 addr show ppp0
ip route | grep pppDanh sách giao diện phải hiển thị địa chỉ cục bộ và địa chỉ đối tác, và bảng định tuyến phải mang các tiền tố của đường hầm. Syslog phải cho thấy đường hầm được chấp nhận và pppd báo cáo cả hai địa chỉ, không có các dòng không-tìm-thấy-đường-hầm lặp lại. Nếu PPP đã lên mà lưu lượng vẫn thất bại, hãy xem tiếp định tuyến hoặc MTU, vì giai đoạn L2TP đã hoàn thành việc của nó. Ghi lại phiên bản gói đang hoạt động trong ghi chú máy, để lần cài lại sau này không khôi phục bản dựng hỏng.
Ở nơi không có gói đã sửa, các lựa chọn thay thế được ghi nhận là bản dựng cục bộ từ mã nguồn 1.3.16 hoặc 1.3.17, chuyển sang kl2tpd, hoặc hạ cấp được ghim. Mỗi cách đều mang chi phí bảo trì đáng ghi lại.