Como configurar o Ubuntu como ponto de acesso sem fio?

25

Como posso configurar meu WiFi para ser usado como ponto de acesso sem fio no Ubuntu Server?

Eu tenho um servidor Ubuntu local, ele possui uma placa sem fio (802.11a / b / g / n) e eu realmente quero configurá-lo como um ponto de acesso 802.11n, pois meu ponto de acesso normal não suporta N.

Ele precisa funcionar como um comutador para que eu possa conectar e obter o DHPC.

Edit: Não vejo o Network Manager como uma boa solução, pois depende de muitos pacotes X11, e não quero isso em um servidor.

LassePoulsen
fonte

Respostas:

7

Encontrei um bom tópico . Ele deve funcionar no Ubuntu 10.04 não há problema. Também é CLI, portanto não precisa de nenhuma biblioteca X. :)

Micheal Harker
fonte
1
O encadeamento vinculado tem na verdade 41 postagens e não está claro qual é a solução para a pergunta. A resposta deve ser resumida aqui.
precisa saber é o seguinte
5

Clique no ícone do NetworkManager no painel e escolha "Criar rede sem fio ..." Você deve poder configurá-lo como uma conexão "Sistema" (em oposição a "Usuário").

Você diz que isso está em um servidor, então talvez você esteja acessando o servidor apenas por SSH. Nesse caso, você pode tentar alguma conexão X remota; ou tente configurar o NetworkManager pela linha de comando, o que deve ser possível, se não for trivial.

Loevborg
fonte
Possível, mas eu não quero NetworkManager
LassePoulsen
OMG, funciona! Teve problemas com WPA1 e 2 e WEP, mas sem criptografia, funciona bem.
WitchCraft
-1

Este é um artigo muito bom (se um pouco desatualizado [se 2006 estiver desatualizado]) que descreve como fazer isso na linha de comando.

http://www.linux.com/archive/feed/55617

Supondo que o seu dispositivo sem fio funcione bem, você provavelmente poderá mergulhar na seção de pontes aproximadamente na metade do caminho.


O acesso protegido por Wi-Fi versão 2 ( WPA2 ) está se tornando o padrão de fato para proteger redes sem fio e um recurso obrigatório para todos os novos produtos Wi-Fi certificados pela Wi-Fi Alliance . Todos conhecemos as fraquezas de segurança de seu antecessor, o WEP; desta vez eles acertaram. Veja como implementar o protocolo WPA2 em um host Linux e criar um ponto de acesso sem fio seguro (WAP) para sua rede.

A maioria dos WAPs comerciais para consumidores opera da mesma maneira simples: eles criam uma ponte entre uma interface de rede com fio (Ethernet) e uma interface sem fio. É exatamente o que faremos também. A parte WAP será tratada pelo hostapddaemon, portanto, você deve escolher uma interface sem fio compatível. Entre as NICs suportadas, estão as que possuem chipsets Prism 2 / 2.5 / 3, Atheros ar521x e Prism GT / Duette / Indigo; uma lista está disponível na página inicial do hostapd, juntamente com links para drivers do Linux para cada chipset. Eu tenho uma placa PCI baseada no Atheros AR5212 instalada no meu WAP, suportada pelo hostapd. Embora qualquer sistema Pentium (ou mais recente) funcione, algumas placas sem fio PCI exigem que o PCI 2.2 funcione, portanto, verifique as especificações da placa-mãe do sistema antes de comprar. Você também precisará de uma interface Ethernet suportada pelo Linux para conectar seu WAP à LAN; a maioria das interfaces integradas funciona bem.

Minha configuração é baseada no Debian Testing (Etch), mas qualquer distribuição GNU / Linux com um kernel 2.6 recente funcionará. O kernel deve suportar 802.1d Ethernet Bridging (CONFIG_BRIDGE) e LAN sem fio (CONFIG_NET_RADIO). A maioria dos kernels padrão de estoque tem esses recursos ativados, mas se você preferir criar seu próprio kernel, inclua essas opções. Os únicos outros pacotes que você precisa instalar, além do hostapd, são bridge-utils e wireless-tools . As principais distribuições GNU / Linux oferecem pacotes binários para todos esses programas, mas se você preferir construí-los a partir do código-fonte, pode encontrar mais informações em suas páginas iniciais.

Antes de unir as duas interfaces, devemos colocar a interface sem fio (no meu caso ath0; ajustá-la para corresponder à sua configuração) no modo hostap ou Master. Normalmente, isso é tão simples quanto executar o modo master do iwconfig ath0, mas como o suporte à wlan no Linux ainda não está padronizado, alguns drivers podem precisar de configuração adicional. Se você possui uma interface baseada no Atheros, também precisa executar o seguinte: wlanconfig ath0 destroy; wlanconfig ath0 create wlandev wifi0 wlanmode apantes do iwconfigcomando. Depois disso, a corrida iwconfig ath0retornará mode:Master, entre outros.

Agora vamos criar a ponte. Vamos assumir que a interface Ethernet é eth0:

ifconfig eth0 0.0.0.0 up
ifconfig ath0 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 ath0

E para parar a ponte, você deve executar:

ifconfig br0 down
ifconfig eth0 0.0.0.0 down
ifconfig ath0 0.0.0.0 down
brctl delif br0 eth0
brctl delif br0 ath0
brctl delbr br0

Opcionalmente, você pode fornecer um endereço IP para a interface br0 se desejar acessar o host WAP da rede, usando, por exemplo, SSH. Cada distribuição oferece sua própria maneira de configurar a rede; se você usa o Debian (ou qualquer distribuição baseada no Debian, como o Ubuntu), pode finalizar todos os comandos anteriores, basta adicionar o seguinte ao seu /etc/network/interfacesarquivo:

auto ath0 br0

iface ath0 inet manual
        pre-up wlanconfig ath0 destroy
        pre-up wlanconfig ath0 create wlandev wifi0 wlanmode ap
        post-down wlanconfig ath0 destroy
        wireless-mode master

iface br0 inet manual
        bridge_ports eth0 ath0

Observe que ifupdownlida com eth0 automaticamente, para que você não precise de uma estrofe separada /etc/network/interfaces. Para verificar se a ponte está configurada corretamente, execute brctl show. Você deve receber algo assim em troca:

bridge name     bridge id               STP enabled     interfaces
br0             8000.00032f2481f0       no              ath0
                                                        eth0

Antes de começar a mexer com o hostapd, precisamos de uma frase secreta para o WPA2. Como em todas as senhas, deve ser aleatório e, portanto, difícil de adivinhar. Uma boa maneira de obter uma senha aleatória é visitar o Gerador de Senhas de Alta Segurança Ultra da Gibson Research Corp. e usar a terceira senha que ela cria - a chamada 63 caracteres alfanuméricos aleatórios (az, AZ, 0-9). Ter uma senha que inclua caracteres ASCII não alfanuméricos (por exemplo!! @, Etc.) pode ser tentador, mas alguns clientes - como o Windows XP - parecem não gostar deles.

Agora crie um novo arquivo de texto chamado /etc/hostapd/wpa_pske cole sua frase secreta como:

00:00:00:00:00:00 PASSPHRASE

A primeira parte com zeros significa 'corresponder a todos os endereços MAC' e faz exatamente isso. Você também pode usar senhas diferentes para cada cliente anexando uma nova linha ao arquivo com o endereço MAC de cada cliente e sua senha. Certifique-se de que apenas a raiz tenha acesso a esse arquivo executando chmod 600 /etc/hostapd/wpa_psk.

Agora crie um backup do arquivo de configuração principal do hostapd /etc/hostapd/hostapd.confe mantenha-o como referência executando mv /etc/hostapd/hostapd.conf /etc/hostapd/hostapd.conf.orig. Crie um novo arquivo hostapd.conf e cole as seguintes linhas nele:

interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=My_Secure_WLAN
#macaddr_acl=1
#accept_mac_file=/etc/hostapd/accept
auth_algs=3
eapol_key_index_workaround=0
eap_server=0
wpa=3
wpa_psk_file=/etc/hostapd/wpa_psk
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
stakey=0

Substitua as peças em itálico por informações que correspondam à sua configuração. Se você deseja permitir que apenas clientes específicos se conectem, remova o caractere # das duas linhas acima e copie os endereços MAC desses clientes /etc/hostapd/accepte torne esse arquivo acessível apenas pela raiz (chmod 600). Para obter mais informações sobre as opções usadas, leia os comentários no arquivo de backup que você criou anteriormente (hostapd.conf.orig).

Inicie o daemon hostapd ( /etc/init.d/hostapd start) e verifique /var/log/daemon.logse ele funciona. Se o daemon não aparecer, aumente o nível de depuração ( option debug=no hostapd.conf) para 4 e tente novamente.

Agora, se você procurar redes sem fio disponíveis a partir de um cliente, deverá ver seu ESSID. Para se conectar ao WAP a partir de um cliente Linux, você precisa instalar o wpa_supplicant e criar um arquivo de configuração, wpa_supplicant.conf (no Debian, instalado no /etc/wpa_supplicant/) da seguinte maneira:

update_config=1
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

network={
        ssid="My_Secure_WLAN"
        proto=RSN
        key_mgmt=WPA-PSK
        pairwise=CCMP
        group=CCMP
        psk="PASSPHRASE"
        priority=5
}

Substitua novamente as partes em itálico para coincidir com sua configuração e execução wpa_supplicant -i eth1 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf(substituindo eth1pelo nome da interface wlan e wext pelo driver apropriado para sua placa; execute wpa_supplicant sem nenhuma opção para obter mais informações). Este comando inicia o wpa_supplicant em primeiro plano e tenta se conectar ao WAP. Se a saída for semelhante à seguinte, você está pronto:

Trying to associate with 00:11:22:33:44:55 (SSID='My_Secure_WLAN' freq=0 MHz)
Associated with 00:11:22:33:44:55
WPA: Key negotiation completed with 00:11:22:33:44:55 [PTK=CCMP GTK=CCMP]
CTRL-EVENT-CONNECTED - Connection to 00:11:22:33:44:55 completed (auth) [id=0 id_str=]

Dê um endereço IP estático à sua interface sem fio (ou execute um cliente DHCP) e tente executar ping em um host dentro da sua LAN para verificar se a conexão funciona.

Parabéns, você acabou de criar um ponto de acesso sem fio altamente personalizável. Embora essa configuração seja ideal para uso doméstico ou em pequenos escritórios, você precisa de algo mais robusto na empresa, com autenticação em um servidor RADIUS ou, melhor ainda, em uma VPN.

popey
fonte
1
Está muito desatualizado ... A pilha de drivers sem fio do kernel mudou desde então, aparentemente!
LassePoulsen
É verdade, mas o material bridge e wpa_supplicant, que é o material bruto necessário para aprimorá-lo, é útil.
popey
1
A página é 404. -1 minha. Se você resumisse as informações contidas na linha, sua resposta ainda seria válida.
Marco
Dead link ......
obayhan