Configurer un hotspot ouvert (via hostapd) qui est filtré par adresse mac en utilisant UFW et DNS personnalisé via dnsmasq

0

J'essaie de configurer ce qu'on appelle un Homepass pour ma Nintendo 3DS. Cela nécessite essentiellement que les éléments suivants soient en jeu:

  • Réseau sans fil sans authentification (ouvert)
  • Un cycleur d’adresses MAC (changez l’adresse MAC des cartes sans fil après un certain temps)

Évidemment, il y a des problèmes de sécurité avec cela - qui veut avoir un réseau sans fil ouvert. Je voulais atténuer ces risques en mettant en œuvre les éléments suivants:

  • Filtrage des adresses MAC (peut être falsifié)
  • Isoler tout ce qui provient du réseau sans fil afin qu’il ne puisse pas accéder à mon réseau local interne
  • Limiter les recherches DNS pour sélectionner des adresses (je ne suis pas encore sûr de celles-ci, je dois les trouver)
  • Restreindre les adresses IP accessibles (Encore une fois, je ne suis pas sûr de celles-ci, je dois les trouver)

Ce que j'ai actuellement configuré:  - Dnsmasq faisant office de serveur DNS et de serveur DHCP pour mon réseau local. Je vais devoir l'utiliser pour le réseau sans fil.  - UFW comme pare-feu  - Un script pour faire défiler les adresses MAC sur la carte sans fil  - hostapd fonctionnant comme un hotspot

Ce que je rencontre actuellement des problèmes avec:  - Mon 3DS est capable de se connecter au hotspot mais il ne peut pas accéder à Internet. Pour tester cela, j'ai autorisé l'accès à un autre périphérique sans fil sur mon autre PC. Il est capable de se connecter, mais ne peut pas non plus accéder à Internet.  - Ma propre ignorance. Je ne sais pas comment faire certaines de ces choses, et en raison de la nature de mon problème, mes recherches Google n'ont pas beaucoup aidé.

Recherche existante:  - lien

Ce que j'ai fait:

Exécuter hostapd via:

sudo hostapd /opt/scripts/nzone/hostapd.conf

configuration hostapd:

interface=wlan1
driver=nl80211
[email protected]
hw_mode=g
channel=6
auth_algs=1
ignore_broadcast_ssid=0
wpa=0
country_code=CA
macaddr_acl=1
accept_mac_file=/opt/scripts/nzone/allowmac

configuration dnsmasq:

# Blocks incomplete requests from leaving the network
domain-needed

# Prevents non-routable private addresses from being forwarded out of the network
bogus-priv

server=/home.local/192.168.0.199
server=//192.168.0.199

# Upstream DNS servers
server=8.8.8.8 # Google
server=8.8.4.4 # Google
#server=208.67.222.222 # OpenDNS
#server=208.67.222.220 # OpenDNS

# Only queries for private domain are answered by Dnsmasq
#local=/home.local/
local=/local/

#domain=home.local
domain=local

interface=eth0
interface=wlan1

listen-address=127.0.0.1
listen-address=192.168.0.199
listen-address=192.168.0.210

# Only listen on the addresses specified with list-address
#bind-interfaces

no-hosts
#no-resolv
addn-hosts=/etc/dnsmasq.hosts # http://winhelp2002.mvps.org/hosts.htm

# Why does the interface command break now?  Worked before.
#dhcp-range=interface:eth0;192.168.0.21,192.168.0.100,6h
#dhcp-range=interface:wlan1,192.168.0.240,192.168.0.245,1h
dhcp-range=192.168.0.21,192.168.0.50,6h

# Default gateway
#dhcp-option=3,192.168.0.1
dhcp-option=option:router,192.168.0.1

dhcp-option=option:dns-server,0.0.0.0
#dhcp-option=option:ntp-server,3.ca.pool.ntp.org # This doesn't work.. why?

# Windows/Samba suggestions from default configuration
dhcp-option=option:ip-forward-enable,0
dhcp-option=option:netbios-ns,0.0.0.0
dhcp-option=option:netbios-dd,0.0.0.0
dhcp-option=option:netbios-nodetype,8

#dhcp-option=19,0           # option ip-forwarding off
#dhcp-option=44,0.0.0.0     # set netbios-over-TCP/IP nameserver(s) aka WINS     server(s)
#dhcp-option=45,0.0.0.0     # netbios datagram distribution server
#dhcp-option=46,8           # netbios node type

dhcp-leasefile=/var/lib/misc/dnsmasq.leases
bogus-nxdomain=64.94.110.11
dhcp-authoritative

mx-host=home.local,mail.home.local,30
txt-record=home.local,"v=spf1 mx -all"

# For debugging purposes, log each DNS query as it passes through
# dnsmasq.
#log-queries

# Log lots of extra information about DHCP transactions.
#log-dhcp

# Include another lot of configuration options.
conf-dir=/etc/dnsmasq.d

Mon statut UFW:

Status: active

To                         Action      From
--                         ------      ----
23/tcp                     DENY        Anywhere
Samba                      ALLOW       192.168.0.0/24
Anywhere                   ALLOW       192.168.0.103/udp
Postfix                    ALLOW       Anywhere
OpenSSH                    LIMIT       Anywhere
Calibre                    ALLOW       192.168.0.0/24
PlexPY                     ALLOW       192.168.0.0/24
Ubooquity                  ALLOW       192.168.0.0/24
Syslog                     ALLOW       192.168.0.0/24
dnsmasq                    ALLOW       Anywhere
Plex                       ALLOW       Anywhere
ZNC                        ALLOW       Anywhere
PlexWebTools               ALLOW       192.168.0.0/24
HDHRExtend                 ALLOW       192.168.0.104
dnsmasq (v6)               ALLOW       Anywhere (v6)

Dans mon fichier /etc/sysctl.conf, j'ai:

net.ipv4.ip_forward=1

J'ai manuellement lancé ces commandes pour iptables:

iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -I FORWARD -i wlan1 -j ACCEPT

Et pour être complet, mes interfaces / etc / network /:

# The loopback network interface
#auto lo eth0 wlan0 wlan1
auto lo eth0

iface lo inet loopback

# The primary network interface

#iface eth0 inet dhcp
iface eth0 inet static
    address 192.168.0.199
    netmask 255.255.255.0
    gateway 192.168.0.1
    broadcast 192.168.0.255
    network 192.168.0.0
    up ethtool -s eth0 wol g
    dns-domain home.local
    dns-search home.local
    dns-nameservers 192.168.0.199

#iface wlan0 inet dhcp
#       wpa-ssid SSID
#       wpa-psk blargh
#       wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

#       pre-up /sbin/wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
#       post-dwn killall -q wpa_supplicant

#iface wlan1 inet static
#       hostapd /etc/hostapd/hostapd.conf
#       address 192.168.0.200
#       netmask 255.255.255.0
#       gateway 192.168.0.1
#       broadcast 192.168.0.255
#       network 192.168.0.0
#       dns-domain home.local
#       dns-search home.local
#       dns-nameservers 192.168.0.199

# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

J'amène mon interface sans fil via:

ifconfig wlan1 192.168.0.210 up

Et je change d’adresse MAC via:

ifconfig wlan1 down hw ether $MAC up

Quelques informations du syslog:

Nov  8 16:13:48 ubuntu hostapd: wlan1: STA MACADDRESS IEEE 802.11: authenticated
Nov  8 16:13:48 ubuntu hostapd: wlan1: STA MACADDRESS IEEE 802.11: authenticated
Nov  8 16:13:48 ubuntu hostapd: wlan1: STA MACADDRESS IEEE 802.11: associated (aid 1)
Nov  8 16:13:48 ubuntu hostapd: wlan1: STA MACADDRESS IEEE 802.11: associated (aid 1)
Nov  8 16:14:04 ubuntu hostapd: wlan1: STA MACADDRESS IEEE 802.11: disassociated
Nov  8 16:14:04 ubuntu hostapd: wlan1: STA MACADDRESS IEEE 802.11: disassociated
    
posée Ackis 16.09.2016 - 16:23
la source

0 réponses