Tôi có một thiết lập như sau:
Internet
|
| 192.168.0.3
PC1 | Laptop1
|---------------Switch(Gateway)---------------Pi1-------Pi2---------Pi3------------|
PC2 192.168.0.1 192.168.0.*(DHCP) 192.168.0.2 Laptop2
192.168.0.4
Từ máy tính xách tay, tôi có thể ping các trang web bên ngoài như '176.34.131.233' (DuckDuckGo), tuy nhiên khi tôi cố gắng kết nối với các máy chủ này thông qua trình duyệt (bằng cách dán địa chỉ IP trong thanh URL) tôi nhận được 'Không tìm thấy máy chủ'.
Từ máy tính để bàn mọi thứ hoạt động hoàn toàn tốt.
Vì vậy, rõ ràng vấn đề phải nằm ở Pi hoặc máy tính xách tay.
Các máy tính xách tay không chạy DNS do đó dán IP vào URL.
Tôi đã nhận thấy trên wireshark rằng các máy tính xách tay có thể hoàn thành bắt tay 3 bước (SYN> SYN, ACK> ACK), nhưng vì một số lý do, nó dường như hoàn thành 2 (với cùng một cổng dst và các cổng src khác nhau).
Sau khi hoàn thành bắt tay, kết nối ngay lập tức bị kết thúc bởi FIN, ACK từ máy tính xách tay theo sau là kết nối đóng bình thường của FIN khác, ACK từ máy chủ sau đó là ACK cuối cùng (Việc đóng kết nối này cũng được sao chép qua 2 cổng khác nhau) .
Không có gói HTTP GET nào được gửi đến máy chủ.
Pi đang chạy phần mềm bắc cầu mà tôi tự viết bằng python, đánh giá bằng thực tế là máy tính xách tay có thể ping máy chủ bên ngoài và có thể hoàn thành bắt tay 3 cách, có vẻ như phần mềm hoạt động.
Vì vậy, câu hỏi là tại sao trên trái đất có 2 bộ bắt tay 3 cách đang diễn ra và tại sao tôi có thể ping một trang web, nhưng không tải nó trong trình duyệt của tôi?
Nếu bất cứ ai có bất kỳ ý tưởng hoặc đề xuất, nó sẽ được đánh giá cao nhất.
Suy nghĩ của tôi là cách mà máy tính xách tay đã được cấu hình (Chạy linux), một loại tường lửa trong bộ định tuyến chặn dữ liệu hoặc có lỗi cơ bản với mã của tôi. Tôi đã xem xét tất cả mà không có kết quả.