Сервер MedaiWiki публично недоступен на Raspberry Pi

186
Max Gillett

У меня проблемы с публичным доступом к серверу MediaWiki, который я настроил на своем Raspberry Pi. Я получаю сообщение об ошибке «Превышено время ожидания соединения» при попытке удаленного посещения сервера. Однако он доступен для всех компьютеров в моей локальной сети.

Похоже, что это не проблема моего маршрутизатора или переадресации портов, поскольку я могу изменить целевой IP-адрес на мой Macbook и получить открытый доступ к серверу Apache, установленному на нем.

Я убедился, что ufw неактивен, и использовал iptables для добавления правил, разрешающих HTTP-трафик. Выход sudo iptables -Lниже.

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW,ESTABLISHED  Chain FORWARD (policy ACCEPT) target prot opt source destination  Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp spt:http state ESTABLISHED 

Бег netstat -lдает следующее:

Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 *:ssh *:* LISTEN tcp 0 0 localhost:postgresql *:* LISTEN tcp 0 0 localhost:4700 *:* LISTEN tcp 0 0 *:microsoft-ds *:* LISTEN tcp 0 0 *:afpovertcp *:* LISTEN tcp 0 0 localhost:mysql *:* LISTEN tcp 0 0 localhost:6379 *:* LISTEN tcp 0 0 *:netbios-ssn *:* LISTEN tcp 0 0 *:http *:* LISTEN udp 0 0 *:26592 *:* udp 0 0 *:mdns *:* udp 0 0 *:42516 *:* udp 0 0 *:bootpc *:* udp 0 0 raspberrypi:ntp *:* udp 0 0 localhost:ntp *:* 

Есть ли способ записать, что именно происходит с этим запросом на Пи?

1

1 ответ на вопрос

0
xpac

You may try iptables with the -v option - it will show you the number of packets and bytes that have so far matched a specific rule, or the chains default action (as your INPUT DROP action).

Also, fire up "tcpdump port 80" on your Raspberry Pi. It will show you all packets on port 80, even before iptables may drop them. Another possibility would be "tcpflow -c port 80", it shows you less info about packets and more about the actual HTTP stream.

Both tcpdump and tcpflow are usually not installed by default, so you'll have to do that first.

Оказалось, что мой шлюз для интерфейса wlan0 (я не использую ethernet) был настроен на 0.0.0.0, поэтому я не мог установить исходящие соединения от Pi. Изменение IP-адреса моего маршрутизатора решило проблему. Попытка установить tcpdump предупредила меня об этой проблеме. Max Gillett 8 лет назад 1