RaspberryPi und Cubietruck als Hotspot

Es getlten folgende Vorraussetzungen:
  • Auf den Systemen ist Debian-Linux installiert
  • eth0 wird in diesem Beispiel mit dem WAN verbunden
  • das Kabel-Netzwerk an eth0 hat die Adresse 192.168.0.0
  • das WiFi-Netz an wlan0 bekommt die Adresse 192.168.1.0
    Falls nicht, sind die Skripte entsprechend anzupassen!

    Alles OK? Dann kann es los gehen.
    Fehlende Software-Pakete installieren mit
    sudo apt-get install iptables dnsmasq hostapd

    Konfigurationen erstellen/einstellen
    # /etc/hostapd.conf
    #
    interface=wlan0
    bridge=br0
    driver=nl80211
    ssid=hotspot
    channel=1
    hw_mode=g
    macaddr_acl=0
    auth_algs=1
    

    # /etc/dnsmasq.conf
    #
    server=/localnet/192.168.0.1
    local=/localnet/192.168.1.1
    interface=br0
    bind-interfaces
    domain=armnet,192.168.1.0/24
    dhcp-range=192.168.1.20,192.168.1.99,infinite
    

    # /etc/hosts/interfaces
    #
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
    
    auto wlan0
    iface wlan0 inet manual
    
    auto br0
    iface br0 inet static
      address 192.168.1.1
      network 192.168.1.0
      broadcast 192.168.1.255
      netmask 255.255.255.0
      gateway 192.168.0.1
      bridge-ports wlan0
    
    up service hostapd restart
    up /etc/init.d/fw.simple restart
    up service dnsmasq restart
    

    Skript für den Firewall-Router erstellen
    #!/bin/sh
    #
    # /etc/init.d/fw.simple
    #
    PATH=/usr/sbin:/sbin:/bin:/usr/bin
    iptables -F
    iptables -t nat -F
    iptables -t mangle -F
    iptables -X
    case "$1" in
    start)
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -m state --state NEW -i eth0 -j ACCEPT
    iptables -A FORWARD -i eth0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    iptables -A FORWARD -i eth0 -o eth0 -j REJECT
    echo 1 > /proc/sys/net/ipv4/ip_forward
    ;;
    stop)
    echo 0 > /proc/sys/net/ipv4/ip_forward
    ;;
    restart)
    $0 stop
    $0 start
    ;;
    *)
    echo 'fw.simple {start|stop|restart}'
    ;;
    esac
    

    sudo reboot
    das wars schon.