Configurando o Linux como um Roteador Wireless (Configure a placa wireless como AP em uma rede separada)?

2

Eu tenho um sistema de segurança interna customizado. Estou trabalhando no uso do Arch Linux, Zoneminder e um conjunto de câmeras IP sem fio FI9800P da Foscam.

O sistema que está sendo construído tem uma porta ethernet gigabit que eu gostaria de usar para conectá-lo à rede doméstica principal para acessar a UI da Web do Zoneminder. Ele também tem uma placa sem fio PCIe que eu gostaria de usar para hospedar uma rede sem fio completamente separada isolada da rede principal. Essa rede será usada exclusivamente para as câmeras IP para ajudar a eliminar o uso de largura de banda na rede principal.

O problema que estou encontrando e que não consigo encontrar uma solução é que posso usar create_ap para estabelecer um ponto de acesso, mas quero que seja uma rede separada. Todos os recursos que encontrei pesquisando on-line descrevem somente pontos de acesso e nada sobre um roteador sem fio. Há artigo na archwiki para criar um roteador (que eu segui), e compartilhamento de internet (que não detalha APs sem fio), mas não consigo encontrar nada para essa circunstância.

Alguém pode ajudar quer apontando para documentação ou detalhando quaisquer métodos para usar um PC baseado em Linux como um roteador sem fio?

EDIT (para esclarecimentos)

É principalmente apenas o aspecto sem fio que eu preciso saber. Eu tenho outro computador no meu nework configurado quase o mesmo em uma configuração de hardwired como meu roteador de casa, foram essas duas interfaces ethernet que eu seria de ouro, é o AP sem fio e fazê-lo funcionar que estou tendo o problema com. / p>     

por FatalKeystroke 28.02.2017 / 16:03

2 respostas

2

Isso é realmente muito mais fácil do que você pensa, você só precisa instalar e implantar hostapd e dnsmasq .

hostapd transforma sua interface wifi em um ponto de acesso. Existe uma pré-condição para isso, que a placa Wi-Fi suporta o modo AP: você testá-lo da seguinte forma,

iw list | less
  .....
software interface modes (can always be added):
             * AP/VLAN
             * monitor

Se o AP aparecer onde está, então você está pronto para ir. Um arquivo de configuração hostapd típico, /etc/hostapd/hostapd.conf , se parece com isto:

interface=wlan0
driver=nl80211
beacon_int=100
hw_mode=g
ieee80211n=1
wme_enabled=1
country_code=US
ssid=MySSID
ieee80211d=1
channel=3
wpa=2
wpa_passphrase=MySuperSecretPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
ignore_broadcast_ssid=0
#logger_syslog=-1
#logger_syslog_level=2
#logger_stdout=-1
#logger_stdout_level=2

Este arquivo de configuração não inclui a declaração

bridge=br0

porque você não indicou o desejo de configurar um componente com fio da LAN, apenas o sem fio. A ponte é geralmente usada para que o roteador apareça no mesmo endereço IP para os clientes com e sem fio e para simplificar o roteamento.

O wifi precisa de um endereço IP,

ip addr add 192.168.251.1/24 dev wlan0 

e encaminhamento de IPv4 para permitir que clientes de Wi-Fi conversem com o mundo. Por fim, você precisa configurar o dnsmasq para configurar os serviços DHCP e DNS para seus clientes. Um arquivo de configuração típico do /etc/dnsmasq.conf tem esta aparência,

domain-needed
bogus-priv
dhcp-authoritative
no-dhcp-interface=eth0
interface=wlan0
server=/someremote.lan/192.168.1.1
local=/my.lan/
server=8.8.8.8
server=8.8.4.4
expand-hosts
domain=my.lan
dhcp-range=192.168.251.32,192.168.251.90,12h
dhcp-host=AA:BB:CC:DD:EE:FF,SomeName,192.168.251.129,12h
dhcp-host=00:11:22:33:44:55,hp-printer,192.168.251.210,12h
dhcp-option=119,my.lan,someremote.lan
dhcp-option=252,"\n"
dhcp-host=AA:11:BB:22:CC:33,ignore
cname=SomeOtherName.my.lan,elastix

onde guardei alguns recursos que podem ou não ser do seu interesse.

Habilite os dois serviços via systemctl , certifique-se de que a placa wifi tenha um endereço no momento da inicialização, ative MASQUERADING na interface conectada à Internet,

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

e você está pronto para ir.

    
por 28.02.2017 / 19:55
0

Para isso, corrija-me se estiver errado, mas vou correr sob a suposição de que você sabe um pouco mais do que o Joe médio quando se trata de entender redes e como o Linux funciona.

Além disso, se eu tiver lido isso corretamente, você pode criar um ponto de acesso usando sua placa de rede atual (você não especificou a marca e o modelo, pois algumas placas sem fio só podem fazer ADHOC no modo AP), mas o único problema é que a rede sem fio acaba ficando na mesma rede que todo o resto.

Encontrei um fórum que pode ajudá-lo a criar uma rede separada para sua interface sem fio, mesmo que isso fale sobre interfaces com fio. Tenho certeza de que você pode ajustá-lo de acordo com suas necessidades.

E não tenho certeza se você sabe como usar o IPTables para criar regras de firewall para segregar as redes e o fluxo de tráfego. Se você precisar dessa informação, me avise, vou colocar algo em conjunto.

Aqui está um link para o fórum que encontrei: link Mesmo que ele diga debian, o servidor dhcp deve ser o mesmo em arco como é no debian / ubuntu.

Aqui está uma descrição do que está no fórum:

Posted/Credits by/to Srz0rz, Auckland, New Zealand:

/etc/dhcp3/dhcpd.conf

##########################################
#####----- Global Configuration -----#####
##########################################
ddns-updates off;
option T150 code 150 = string;
deny client-updates;
#one-lease-per-client false;
#allow bootp;

ddns-update-style none;

option domain-name "vlan.local";
option domain-name-servers    210.56.15.1, 231.117.250.27;

default-lease-time 6000;
max-lease-time 7200;

authoritative;
##############################################
#####----- End Global Configuration -----#####
##############################################

###############################################
#####----- Start Modem Configuration -----#####
###############################################
subnet 192.168.1.0 netmask 255.255.255.0 {
  interface eth0;
}
#############################################
#####----- End Modem Configuration -----#####
#############################################

####################################################
#####----- Start Downstairs Configuration -----#####
####################################################
subnet 192.168.0.0 netmask 255.255.255.0 {
  interface eth1;
  default-lease-time 6000;
  max-lease-time 7200;
  option subnet-mask 255.255.255.0;
  option routers 192.168.0.254;
  option broadcast-address 192.168.0.255;
}
##################################################
#####----- End Downstairs Configuration -----#####
##################################################

##################################################
#####----- Start Upstairs Configuration -----#####
##################################################
subnet 10.0.0.0 netmask 255.255.255.0 {
  interface eth2;
  default-lease-time 6000;
  max-lease-time 7200;
  range 10.0.0.100 10.0.0.200;
  option subnet-mask 255.255.255.0;
  option routers 10.0.0.254;
  option broadcast-address 10.0.0.255;
}
################################################
#####----- End Upstairs Configuration -----#####
################################################

#####################################################################
#####----- Start Server and Fixed IP Address Configuration -----#####
#####################################################################
group{
  ###--- Any global server settings should go here ---###

  #- Printer -#
  host printer {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.25;
      }
  #- J computer -#
  host j {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.105;                   
  }
  #- TServer computer -#
  host tserver {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.110;
  }
  #- Windows 2008 Server -#
  host win2008server {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.115;
  }
  #- Asterisk Box -#
  host asterisk {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.120;
  }
  #- WWW Server -#
  host www2 {
      hardware ethernet 00:00:00:00:00:00;
      fixed-address 10.0.0.125;
  }
}
###################################################################
#####----- End Server and Fixed IP Address Configuration -----#####
###################################################################

NOTE: I have changed the ip addresses and zeroed out the MAC addresses of the interfaces. You should assume that each interface for the server section has a unique MAC address.

I have also tried adding the interfaces in the /etc/default/dhcp3-server file:

# Defaults for dhcp initscript
# sourced by /etc/init.d/dhcp
# installed at /etc/default/dhcp3-server by the maintainer scripts

#
# This is a POSIX shell fragment
#

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1 eth2"

But still no luck getting it to work on the eth1 interface. I'm wondering whether the 'interface ethX' lines in each subnet stanza are recognized. Basically I'm just trying to say that any requests for dhcp leases coming from eth1 should get the 192.168.... subnet and any requests for dhcp leases coming from eth2 should get the 10.0.... subnet.

Posted/Credits by/to emi_ramo, Barcelona, Spain:
range 192.168.0.50 192.168.0.100;
inside each subnet. If problem persists, come here again.
See you!!
emi

Posted/Credits by/to Srz0rz, Auckland, New Zealand:

Thank you emi_ramo! Adding the line 'range 192.168.0.200 192.168.0.253' to the 192.168.0.x subnet declaration worked. I can't believe it was that simple.

Espero que você consiga o que precisa em duas redes, mas lembre-se de usar o IPTables para garantir que haja segregação de rede (informe-me se precisar de ajuda também) e, se necessário, rotas no local , que já deve ser tratado pelo servidor dhcp.

    
por 28.02.2017 / 17:05