Tóm lược
Giá trị MTU mặc định ngăn truyền dữ liệu cho một hệ thống. Giảm nó theo cách thủ công cho phép truyền dữ liệu một lần nữa, nhưng điều chỉnh thủ công này là không cần thiết trên hệ thống lân cận.
Lý lịch
Tôi có một máy chủ sao lưu. Tôi có hai hệ thống Raspberry Pi ở các địa điểm xa xôi: một ở Vương quốc Anh và một ở Albania. Bên cạnh Albanian Pi là QNAP (máy chủ tệp có nguồn gốc từ Linux). Tôi có một IPSec VPN từ Albania đến mạng Máy chủ sao lưu và một IPSec VPN khác từ Vương quốc Anh đến mạng Máy chủ sao lưu. Mọi thứ đều sử dụng IPv4. Sơ đồ này có thể giúp:
|--Albania Pi
|<--IPSec-->|--Bộ định tuyến--|--Albania QNAP
Miền Trung | | |--Các hệ thống khác
Sao lưu--|--Bộ định tuyến--|
Máy chủ | | |
|<--IPSec-->|--Bộ định tuyến--|--Anh Pi
|--Các hệ thống khác
Cả hệ thống Pi và Máy chủ sao lưu đều có nftables mà không có bất kỳ quy tắc nào và với chính sách mặc định là CHẤP NHẬN.
Hai hệ thống RPi, QNAP và Máy chủ sao lưu đều có MTU ethernet có dây mặc định là 1500, như mong đợi.
MTU phía mạng WAN của bộ định tuyến cho Albania là 1442 và cho Vương quốc Anh là 1500. Theo tùy chọn Khám phá đường dẫn MTU của bộ định tuyến, các giá trị này là chính xác. Đối với tường lửa quản lý mạng chứa Máy chủ sao lưu, nó là 1500 và điều này cũng đúng.
Vấn đề
- Nếu tôi chuyển một khối dữ liệu từ Pi ở Vương quốc Anh sang máy chủ sao lưu, nó sẽ hoạt động tốt
- Nếu tôi chuyển một khối dữ liệu từ QNAP ở Albania sang máy chủ sao lưu, nó sẽ hoạt động tốt
- Nếu tôi cố gắng chuyển một khối dữ liệu từ Pi ở Albania sang máy chủ sao lưu thì không thành công
- Nếu tôi giảm MTU của Pi xuống 1374 thì quá trình chuyển thành công
Thêm thông tin
Đây là một ví dụ về những thứ đang hoạt động/thất bại
# Trên Pi Albania
dd bs=1M đếm=100 if=/dev/urandom >100M.dat
# Trên máy chủ sao lưu
ssh albanian_pi mèo 100M.dat | pv >100M.dat
# Điều chỉnh MTU trên Pi tiếng Albania
ifconfig eth0 mtu 1500 # Mặc định trước khi tôi bắt đầu loay hoay
ifconfig eth0 mtu 1374 # Giá trị cao nhất cho phép luồng dữ liệu
Quá trình chuyển đổi đã từng hoạt động, nhưng đó là trước khi nâng cấp từ Stretch lên Buster. Tôi không gặp vấn đề với hầu hết các hệ thống Pi khác mà tôi có, và đặc biệt không phải với Pi của Vương quốc Anh mà tôi đã đề cập lúc đầu hiện cũng đang chạy Buster.
Không ai trong văn phòng Albania phàn nàn về các vấn đề mạng.
Tôi đã vô tình đặt bit "Không phân mảnh" cho các gói giữa Pi tiếng Albania và Máy chủ sao lưu. Tôi không cố ý có bất cứ thứ gì chặn PMTU Discovery.
Để tóm tắt:
- QNAP tiếng Albania -> Máy chủ sao lưu: tất cả đều tốt
- Albanian Pi -> Máy chủ sao lưu: không thành công mà không giảm MTU
- UK Pi -> Máy chủ sao lưu: tất cả đều tốt
Tôi có một giải pháp thay thế, nhưng tôi không cần phải giảm MTU trên các hệ thống riêng lẻ.
Câu hỏi
Điều gì thực sự sai và làm cách nào tôi có thể chẩn đoán thêm và giải quyết nguyên nhân của sự cố?
Đề xuất biết ơn nhận được. Cảm ơn