một lời giải thích rõ ràng và kỹ thuật liên quan đến vấn đề nhiều phiên FTP đồng thời khi khóa cổng dữ liệu chỉ với một cổng là điều tôi quan tâm nhất khi biết sâu. Khi nào nó có thể hoạt động, khi nào nó không hoạt động, tại sao nó có thể không được khuyến nghị, v.v.
Đây sẽ là một phỏng đoán hoang dã, vì tôi chưa thử nó, bạn nên tự mình thử và xem nếu có một số vấn đề khác tôi có thể đã bỏ qua.
Tôi cho rằng bạn có thể giới hạn phạm vi cổng thụ động ở một cổng duy nhất . Trong thực tế, bạn có thể thấy trong câu hỏi này rằng các phạm vi cổng nhỏ được sử dụng trong thực tế . Về mặt lý thuyết, để hỗ trợ nhiều kết nối đồng thời, bạn chỉ cần 4 giá trị: IP cục bộ, cổng cục bộ, IP từ xa, cổng từ xa là duy nhất. Đây là cách bạn phân biệt giữa các kết nối khác nhau.
Nếu bạn khóa cổng trên máy chủ của mình thành một giá trị duy nhất, thì biến duy nhất còn lại là cổng được sử dụng bởi máy khách. Đây không phải là một vấn đề, miễn là khách hàng có một kho cổng phù du miễn phí đủ lớn để lựa chọn. Trừ khi nó đang làm một số NAT nặng nề, bạn không phải lo lắng về điều này. Bây giờ, được cảnh báo đây sẽ là công cụ lý thuyết đơn thuần : nếu bạn đã sử dụng nhiều cổng trên máy chủ của mình, bạn có thể nhân số lượng kết nối đồng thời giả thuyết bằng cách bậtnumber of ports in range
kết nối trên một cổng phía máy khách. Nhưng nó sẽ không xảy ra trong thực tế, vì tôi nghi ngờ có bất kỳ triển khai nào của máy khách FTP sẽ hỗ trợ việc này (vì nó không có nhiều ý nghĩa). Ngoài ra, nếu khách hàng phải chia sẻ các cổng phù du của mình theo cách này và không thể mở một cổng mới, thì anh ta có nhiều vấn đề nghiêm trọng hơn để giải quyết. Vì vậy, từ quan điểm này, bạn nên hoàn toàn an toàn khi sử dụng một cổng duy nhất.
Hãy nghĩ tại sao một cổng duy nhất có thể không đủ .
Trước hết, tôi có thể đưa ra một tình huống trong đó việc triển khai máy chủ FTP thực sự có lỗi chỉ sử dụng số cổng cục bộ như một cách để xác định việc truyền dữ liệu của khách hàng. Một lần nữa, tôi không nghĩ rằng bất kỳ FTPd tử tế nào sẽ làm điều đó.
Vấn đề thực sự ( vâng, bạn có thể coi nhẹ tất cả ở trên như một sự cải tiến lớn ;-)) là phạm vi cổng thụ động nằm trong phạm vi không có đặc quyền .
Điều này có nghĩa là số cổng đã chọn của bạn không được bảo lưu mỗi se và trên thực tế, bất kỳ quy trình người dùng nào (không cần quyền root ) đều có thể lấy được trước khi máy chủ FTP của bạn thực hiện. Nếu bạn có một số lượng lớn các cổng để lựa chọn, bạn chỉ cần lấy một cổng miễn phí ngẫu nhiên. Nếu bạn bị ràng buộc sử dụng duy nhất và nó đã được sử dụng, bạn sẽ không thể xử lý việc chuyển tiền đúng cách.
Xin lỗi, nếu câu trả lời có vẻ hơi quá suy đoán. Thành thật mà nói, tôi đã cố gắng hết sức để tìm ra lý do tại sao bạn không nên sử dụng một cổng duy nhất và ngoài bit cuối cùng, tôi không thể nghĩ ra bất kỳ bằng chứng cứng rắn nào chống lại nó. Tuy nhiên, một câu hỏi thú vị và đầy thách thức bạn đặt ra.