Nodogsplash não mostrando a página de destino

0

Estou tentando configurar um Raspberry Pi 3 como um portal bridge / cativo entre a porta Ethernet integrada, eth0, que será conectada a um roteador upstream e uma porta ethernet USB, eth1, que será conectada para um ou mais grandes pontos de acesso wi-fi ao ar livre. Eu acho que este é um problema geral de rede e não específico para a máquina física, é por isso que eu não postei isso no fórum do Raspberry Pi.

Eu segui este que me levou ao ponto de um laptop de teste conectado O eth1 é capaz de obter um endereço IP via DHCP e navegar em páginas da web remotas. Eu também segui este para instalar o nodogsplash. No entanto, quando o nodogsplash é iniciado, o laptop de teste deixa de obter páginas da web. Ele ainda pode obter endereços via DHCP, mas tenta ir para qualquer página da Web apenas fornecer "Esta página não pode ser exibida" e não há saída no log de nds. No laptop de teste, tentei especificamente acessar um site da porta 80 , conforme sugerido em os documentos e eu tentei acessar a porta 2050 do endereço do rPi na eth1 para tentar obter a página de destino diretamente, ambos novamente dizendo "Esta página pode seja exibido "

Se eu usar um laptop no lado eth0 e ir para a porta 2050 do endereço eth0 do rpi, ainda recebo um erro, mas recebo o redirecionamento aparecendo na barra de endereço e o log mostra

[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:294) access: GET /
[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:659) Locking client list
[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:659) Client list locked
[5][Tue Aug 14 13:49:32 2018][3448](src/client_list.c:158) Adding 192.168.8.101 c4:17:fe:ba:8a:f7 token 2ec07530 to client list
[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:661) Unlocking client list
[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:661) Client list unlocked
[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:599) originurl: http://192.168.8.135:2050/
[7][Tue Aug 14 13:49:32 2018][3448](src/http_microhttpd.c:611) splashpageurl: http://192.168.64.1:2050/splash.html?redir=http%3a%2f%2f192.168.8.135%3a2050%2f

Meu nodogsplash.conf, depois de remover as linhas comentadas, é

GatewayInterface eth1

FirewallRuleSet authenticated-users {

  FirewallRule allow all

}

FirewallRuleSet preauthenticated-users {

}

FirewallRuleSet users-to-router {

    FirewallRule allow udp port 53
    FirewallRule allow tcp port 53
    FirewallRule allow udp port 67

   FirewallRule allow tcp port 22
   FirewallRule allow tcp port 80
   FirewallRule allow tcp port 443
}

GatewayAddress 192.168.64.1

MaxClients 1000

fw_mark_authenticated 30000
fw_mark_trusted 20000
fw_mark_blocked 10000

eth1 é configurado no dhcpcd.conf como

interface eth1
static ip_address=192.168.64.1/22
static routers=192.168.64.1

Como é um acampamento de reconhecimento que pode ficar bastante ocupado, acho que precisamos de mais de 250 usuários.

Minha configuração do iptables quando o nsd está ativo é

root@raspberrypi:/home/pi# iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ndsRTR     all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ndsNET     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             mark match 0x10000/0x30000 reject-with icmp-port-unreachable
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain ndsAUT (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain ndsNET (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             mark match 0x10000/0x30000
DROP       all  --  anywhere             anywhere             ctstate INVALID
TCPMSS     tcp  --  anywhere             anywhere             tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
ACCEPT     all  --  anywhere             anywhere             mark match 0x20000/0x30000
ndsAUT     all  --  anywhere             anywhere             mark match 0x30000/0x30000
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain ndsRTR (1 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             mark match 0x10000/0x30000
DROP       all  --  anywhere             anywhere             ctstate INVALID
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
DROP       tcp  --  anywhere             anywhere             tcp option=!2 flags:SYN/SYN
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:2050
ACCEPT     all  --  anywhere             anywhere             mark match 0x20000/0x30000
ACCEPT     udp  --  anywhere             anywhere             udp dpt:domain
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:domain
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
REJECT     all  --  anywhere             anywhere             reject-with icmp-port-unreachable

Chain ndsTRT (0 references)
target     prot opt source               destination

Chain ndsTRU (0 references)
target     prot opt source               destination
root@raspberrypi:/home/pi#

A saída de iptables -t mangle -v -n -L é

Chain PREROUTING (policy ACCEPT 61 packets, 3124 bytes)
 pkts bytes target     prot opt in     out     source               destination
    2   140 ndsOUT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
    2   140 ndsBLK     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
    2   140 ndsTRU     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0
 284K   86M MARK       all  --  *      *       0.0.0.0/0            0.0.0.0/0            MARK or 0x10000

Chain INPUT (policy ACCEPT 59 packets, 2984 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 2 packets, 140 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 104 packets, 10096 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 104 packets, 10096 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ndsINC     all  --  *      eth1    0.0.0.0/0            0.0.0.0/0

Chain ndsBLK (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain ndsINC (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain ndsOUT (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain ndsTRU (1 references)
 pkts bytes target     prot opt in     out     source               destination

e se eu olhar para a saída de iptables -L -v enquanto um navegador no laptop de teste tenta ir diretamente para a porta 2050 do roteador, vejo que a tentativa está bloqueada pela primeira regra em ndsRTR, que parece ser intrínseca em vez de gerado por qualquer uma das regras de firewall no nosplashdog.conf

Estou contra uma parede de tijolos agora. Alguém tem sugestões de como eu posso fazer isso funcionar?

    
por Craig Graham 14.08.2018 / 18:31

0 respostas