-
-
Save goffinet/bb58c349f2d095df6e9b92ba3051721c to your computer and use it in GitHub Desktop.
Raspberry Pi 3 access-point-setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/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" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Customized three bytes IPv4 address in variable
${network}
.Usage :
sudo bash rPi3-ap-setup.sh ssid_password ssid_name