Ngoài ra với các câu trả lời hay khác, gần đây tôi đã phải sử dụng bảng mangle để điều chỉnh các khác biệt MTU (đơn vị truyền tối đa) do lưu lượng truy cập được đưa qua PPPoE, PPP và ATM, mỗi cái đều thêm chi phí làm giảm tải trọng có sẵn cho IP từ 1500 byte thông thường của khung Ethernet.
Các hệ thống ở mỗi đầu của đường ống, như bình thường, sẽ có MTU của chúng ở mức mặc định là 1500 và vì vậy chúng sẽ cố gắng gửi các khung IP lớn như vậy. Vì kích thước tải trọng thực tế có sẵn nhỏ hơn, điều này sẽ gây ra sự phân mảnh gói, ngoại trừ việc người gửi thường yêu cầu các gói không bị phân mảnh và do đó cuối cùng chúng bị bỏ hoàn toàn.
Trong một thế giới lý tưởng, phát hiện MTU đường dẫn sẽ cho phép các điểm cuối điều chỉnh MTU của họ khi cần, nhưng khám phá này phụ thuộc vào ICMP và các mạng ngoài tầm kiểm soát của tôi thường được định cấu hình để thả ICMP vì lý do bảo mật.
Lựa chọn duy nhất là sử dụng xáo trộn gói trong bộ định tuyến của tôi để sửa đổi các gói TCP SYN để giảm kích thước phân đoạn tối đa ở lớp vận chuyển:
iptables -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1452
Loại điều này là lộn xộn và lý tưởng nên tránh, nhưng tôi không có lựa chọn nào khác và điều này đã giải quyết vấn đề.
Hy vọng những ví dụ này có ích, cũng như trang người đàn ông.
iptables(8)
trang người đàn ông có tất cả các thông tin mà bạn muốn, bao gồm một số ví dụ tốt đẹp của việc sử dụng bảng mangle.