Làm cách nào để bảo lưu danh sách cổng cho các ứng dụng tùy chỉnh của tôi?
Cụ thể, sản phẩm tôi đang tạo có rất nhiều quy trình và rất nhiều giao tiếp giữa chúng.
Vấn đề tôi gặp phải là - thỉnh thoảng - HĐH đánh cắp các cổng của tôi. Nó hiếm, nhưng nó xảy ra.
Điều này có thể là do một ứng dụng khác đã sử dụng ":: bind" không có cổng được chỉ định.
Hoặc đôi khi các ứng dụng của riêng tôi đánh cắp cổng khi tôi gọi ":: kết nối" với một ổ cắm không gắn kết. Như được thấy từ trang người đàn ông:
Nếu ổ cắm chưa được liên kết với một địa chỉ cục bộ, thì kết nối () sẽ liên kết nó với một địa chỉ, trừ khi họ địa chỉ của ổ cắm là AF_UNIX, là một địa chỉ cục bộ không được sử dụng.
Vì vậy, câu hỏi của tôi là, tôi có thể bảo lưu các cổng mà tôi cần để HĐH không sử dụng chúng không? Điều này có thể được thực hiện với / etc / services không? Hay là có một cách khác?
SELinux
ở chế độ Thực thi có thể đáp ứng yêu cầu của bạn hay không, tôi vẫn đang học về nó. Vì vậy, chỉ cần đoán, có thể bạn có thể xác định chính sách của riêng mình SELinux
để dự trữ các cổng của mình, chẳng hạn như my_server_port_t tcp 1111, 2222, 3333, 4444-4600
. Nếu ứng dụng của bạn sẽ chạy ở mọi nơi (không phải ứng dụng máy chủ), tôi e rằng bạn không thể kiểm soát SELinux
được là BẬT hay TẮT.