Chúng tôi có hàng tá thiết bị nhúng được cài đặt tại khách hàng, tất cả gọi về nhà với dịch vụ OpenVPN của chúng tôi. Điều đó nói chung hoạt động tốt, nhưng một số khách hàng của chúng tôi có vấn đề MTU nghiêm trọng. Ảnh hưởng của chúng tôi đối với khách hàng để sửa mạng của họ bị hạn chế, vì vậy chúng tôi cần OpenVPN để giải quyết. Tóm lại, câu hỏi của tôi là:
Làm cách nào tôi có thể giảm thiểu MTU đường dẫn thấp của một số khách hàng trên cơ sở mỗi khách hàng, nghĩa là không sử dụng cài đặt toàn cầu trong trường hợp xấu nhất cho tất cả khách hàng
Lưu ý rằng trường hợp xấu nhất của chúng tôi khá tệ: đường dẫn MTU 576, loại bỏ tất cả các mảnh vỡ, không phải là mảnh vỡ, không tôn trọng DF-bit. Bạn thấy tại sao tôi không muốn giải quyết vấn đề này trên toàn cầu.
Trang chủ OpenVPN cung cấp một số tùy chọn liên quan đến MTU, đáng chú ý nhất --link-mtu, --tun-mtu, --fragment and --mssfix
. Nhưng nó cũng nói
--link-mtu [...] Tốt nhất không nên đặt tham số này trừ khi bạn biết bạn đang làm gì.
--tun-mtu [...] Tốt nhất là sử dụng các tùy chọn --fragment và / hoặc --mssfix để xử lý các vấn đề kích thước MTU.
Vì vậy, tôi bắt đầu thử nghiệm --fragment
và --mssfix
sớm phải nhận ra rằng ít nhất cái trước phải được đặt không chỉ phía máy khách, mà cả phía máy chủ . Sau đó tôi đã xem xét cấu hình trên mỗi máy khách phía máy chủ thông qua --client-config-dir
nhưng nó nói
Các tùy chọn sau là hợp pháp trong ngữ cảnh dành riêng cho khách hàng: --push, --push-reset, --iroute, --ifconfig-push và --config.
Không đề cập đến các tùy chọn MTU!
Vì vậy, đây là câu hỏi cụ thể hơn của tôi:
- Tại sao chính xác là
link-mtu
vàtun-mtu
nản lòng? Các vấn đề tiềm năng với các tùy chọn này là gì? Lưu ý rằng tôi khá thoải mái với munging tiêu đề IP cấp thấp. - Lựa chọn nào trong số các tùy chọn
link-mtu tun-mtu fragment mssfix
phải được nhân đôi ở phía máy chủ để hoạt động? - Những tùy chọn
link-mtu tun-mtu fragment mssfix
có thể được sử dụng trongclient-config-dir
? - Trong trường hợp cả bốn tùy chọn phải được nhân đôi phía máy chủ và không thể được sử dụng bên trong
client-config-dir
: Có cách nào khác để chống lại MTU đường dẫn thấp cho mỗi máy khách không?
Ghi chú:
- Một phần câu hỏi của tôi đã được hỏi 5 năm trước đây , nhưng chúng chưa thực sự được trả lời sau đó, do đó tôi dám sao chép chúng.
- Máy chủ OpenVPN hiện là 2.2.1 trên Ubuntu 12.04. Chúng tôi đang chuẩn bị nâng cấp lên 2.3.2 trên Ubuntu 14.04
- Các máy khách OpenVPN là 2.2.1 trên Debian 7.6
- Tôi rất vui khi tự mình xác định đường dẫn của khách hàng - MTU
- Hiện tại chúng tôi không thể kiểm tra nhiều phía máy chủ. Nhưng chúng tôi đang xây dựng một giường thử nghiệm hoàn toàn riêng biệt, nên sẵn sàng sớm.
Tôi biết ơn vì bất kỳ lời khuyên hữu ích.
iptables
các quy tắc để giảm MSS trên tất cả các gói SYN đến hoặc từ địa chỉ IP của máy khách đó.