Điểm:0

Không thể truyền dữ liệu từ một hệ thống cụ thể (sự cố MTU?)

lá cờ my

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

Điểm:1
lá cờ bd

Nó trông giống như Đường dẫn khám phá MTU bị hỏng giữa hệ thống "Albania Pi" và "Máy chủ sao lưu trung tâm". Đây thường là kết quả của việc chặn nhầm các gói ICMP trong bộ định tuyến, tường lửa hoặc iptables cài đặt của các hệ thống liên quan.

Trong trường hợp của bạn, vì hệ thống "Albania QNAP" có vẻ hoạt động tốt nên nghi phạm chính là hệ thống "Albania Pi". Kiểm tra cấu hình của hệ thống đó, cụ thể là bất kỳ iptables cài đặt và cài đặt mạng liên quan đến ICMP và PMTUD.

roaima avatar
lá cờ my
Cảm ơn bạn. Điều này dường như để xác nhận chẩn đoán của tôi. Tôi không có iptables trên bất kỳ hệ thống nào có liên quan. Bộ định tuyến văn phòng từ xa (Draytek) giống như bộ định tuyến tôi sử dụng ở mọi nơi khác ngoài mạng lưu trữ Máy chủ sao lưu. Tôi không thể tìm thấy bất kỳ tài liệu tham khảo nào về cài đặt mạng PMTUD trong nhân Linux. Tôi chắc chắn không cố ý chặn ICMP nhưng nếu là tôi thì chắc chắn nó sẽ ảnh hưởng đến cả hai thiết bị của Albania?
Tilman Schmidt avatar
lá cờ bd
Đó là lý do tại sao tôi đặt tên "Albania Pi" là nghi phạm chính. Tất nhiên, có thể chặn ICMP một cách có chọn lọc từ hoặc tới một hệ thống duy nhất nhưng tôi cho rằng nếu ai đó đã làm thì chắc chắn bạn sẽ biết về nó.
roaima avatar
lá cờ my
Thực sự tôi sẽ, vâng

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.