Encaminhar portas sobre hostapd?

1

Estou executando este projeto para criar pontos de acesso , que é construído sobre hostapd .

Executar isso funciona como esperado, minha conexão ethernet está disponível como wifi:

sudo create_ap wlan0 eth0 wifiname

Eu esperava que a porta 80 em minha máquina host fosse automaticamente exposta ao cliente, mas não é.

Como posso criar um% hotspot hostapd que expõe a porta 80? Estou pensando que talvez precise usar iptables ou dnsmasq , mas não tenho certeza.

Estou usando o projeto vinculado como ponto de partida, mas meu principal objetivo é transmitir uma porta por um ponto de acesso sem fio.

Atualização: descobri que, por padrão, o host está disponível em% IP192.168.12.1. Agora estou procurando uma maneira de encaminhar todo o tráfego (ou no mínimo localhost) no ponto de acesso para esse IP.

Mas ainda preciso ser capaz de resolver outros domínios no próprio host.

    
por Philip Kirkbride 20.10.2017 / 15:31

2 respostas

0

Consegui obter o comportamento que queria usando dnsmasq . Originalmente eu estava confuso porque estava adicionando o seguinte ao padrão dnsmasq.conf location:

address=/#/192.168.12.1

Ele deve encaminhar todo o tráfego para o IP 192.168.12.1 , mas descobri que não estava funcionando.

Mais tarde, durante a execução de top com o programa em execução, descobri que create_ap tinha chamado dnsmasq , mas com uma pasta dnsmasq.conf em /tmp/ personalizada.

Lendo pela fonte, encontrei este snippet :

    MTU=$(get_mtu $INTERNET_IFACE)
    [[ -n "$MTU" ]] && echo "dhcp-option-force=option:mtu,${MTU}" >> $CONFDIR/dnsmasq.conf
    [[ $ETC_HOSTS -eq 0 ]] && echo no-hosts >> $CONFDIR/dnsmasq.conf
    [[ -n "$ADDN_HOSTS" ]] && echo "addn-hosts=${ADDN_HOSTS}" >> $CONFDIR/dnsmasq.conf
    if [[ "$SHARE_METHOD" == "none" && "$REDIRECT_TO_LOCALHOST" == "1" ]]; then
        cat << EOF >> $CONFDIR/dnsmasq.conf
address=/#/$GATEWAY

Dentro dessa declaração, adicionei a seguinte linha para adicionar minha configuração ao arquivo temporário dnsmasq:

echo "address=/#/${GATEWAY}" >> $CONFDIR/dnsmasq.conf

Depois de adicionar que qualquer endereço http no ponto de acesso foi encaminhado para 192.168.12.1 , o navegador assume automaticamente a porta 80 quando não é fornecido um, de modo que se torne um problema.

    
por 01.12.2017 / 16:23
0

Você não pode fazer isso via hostapd porque a porta 80 está na camada 4 da pilha ISO / OSI, os APs trabalham na camada 2. Então você precisa identificar o seu IP conectado via WIFI e trabalhar com IPTABLES para esse IP

    
por 27.10.2017 / 17:35