У меня есть настройки следующим образом:
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
С ноутбуков я могу пропинговать внешние веб-сайты, такие как «176.34.131.233» (DuckDuckGo), однако, когда я пытаюсь подключиться к этим серверам через браузер (вставив IP-адрес в строку URL), я получаю «Сервер не найден».
С рабочих столов все отлично работает.
Поэтому очевидно, что проблема должна заключаться в пи или ноутбуках.
Ноутбуки не работают с DNS, поэтому вставляют IP в URL.
На wireshark я заметил, что ноутбуки могут выполнить 3-х стороннее рукопожатие (SYN> SYN, ACK> ACK), но по какой-то причине он завершает 2 (с тем же портом dst и разными портами src).
По завершении рукопожатия соединение немедленно прерывается с помощью FIN, ACK с ноутбука, за которым следует обычное закрывающее соединение другого FIN, ACK с сервера, затем окончательный ACK (это закрытие соединений также дублируется через 2 разных порта),
Пакеты HTTP GET не отправляются на сервер.
В Pi работает мостовое программное обеспечение, которое я написал для себя на python, и, судя по тому, что ноутбуки могут пинговать внешние серверы и можно выполнить 3 способа установления связи, кажется, программное обеспечение работает.
Таким образом, вопрос в том, почему на земле происходит 2 набора 3-х сторонних рукопожатий и почему я могу пропинговать сайт, но не загружать его в свой браузер?
Если у кого-то есть какие-либо идеи или предложения, это было бы очень ценно.
Я думаю о том, как был настроен ноутбук (работает под управлением linux), какой-то брандмауэр в маршрутизаторе, блокирующий данные, или что-то в корне не так с моим кодом. Я изучил все безрезультатно.