Skip to content

Instantly share code, notes, and snippets.

@goffinet
Forked from Lewiscowles1986/rPi3-ap-setup.sh
Last active April 5, 2017 19:15
Show Gist options
  • Save goffinet/bb58c349f2d095df6e9b92ba3051721c to your computer and use it in GitHub Desktop.
Save goffinet/bb58c349f2d095df6e9b92ba3051721c to your computer and use it in GitHub Desktop.
Raspberry Pi 3 access-point-setup
#!/bin/bash
#
# This version uses September 2016 rpi jessie image, please use this image
#
network="10.0.0"
if [ "$EUID" -ne 0 ]
then echo "Must be root"
exit
fi
if [[ $# -lt 1 ]];
then echo "You need to pass a password!"
echo "Usage:"
echo "sudo $0 yourChosenPassword [apName]"
exit
fi
APPASS="$1"
APSSID="rPi3"
if [[ $# -eq 2 ]]; then
APSSID=$2
fi
apt-get remove --purge hostapd -y
apt-get install hostapd dnsmasq -y
cat > /etc/systemd/system/hostapd.service <<EOF
[Unit]
Description=Hostapd IEEE 802.11 Access Point
After=sys-subsystem-net-devices-wlan0.device
BindsTo=sys-subsystem-net-devices-wlan0.device
[Service]
Type=forking
PIDFile=/var/run/hostapd.pid
ExecStart=/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid
[Install]
WantedBy=multi-user.target
EOF
cat > /etc/dnsmasq.conf <<EOF
interface=wlan0
dhcp-range=${network}.100,${network}.150,255.255.255.0,12h
EOF
cat > /etc/hostapd/hostapd.conf <<EOF
interface=wlan0
hw_mode=g
channel=10
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
wpa_passphrase=$APPASS
ssid=$APSSID
EOF
sed -i -- 's/allow-hotplug wlan0//g' /etc/network/interfaces
sed -i -- 's/iface wlan0 inet manual//g' /etc/network/interfaces
sed -i -- 's/ wpa-conf \/etc\/wpa_supplicant\/wpa_supplicant.conf//g' /etc/network/interfaces
cat >> /etc/network/interfaces <<EOF
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
# Added by rPi Access Point Setup
allow-hotplug wlan0
iface wlan0 inet static
address ${network}.1
netmask 255.255.255.0
network ${network}.0
broadcast ${network}.255
EOF
echo "denyinterfaces wlan0" >> /etc/dhcpcd.conf
systemctl enable hostapd
echo "All done! Please reboot"
@goffinet
Copy link
Author

goffinet commented Apr 5, 2017

Customized three bytes IPv4 address in variable ${network}.

Usage :

sudo bash rPi3-ap-setup.sh ssid_password ssid_name

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment