Script for creating a NATed or bridged Wi-Fi access point.
- Create an AP (Access Point) at any channel.
- Choose one of the following encryptions: WPA, WPA2, WPA/WPA2, WPA3, WPA3 Transition Mode (WPA2 + WPA3), Open (no encryption).
- Hide your SSID.
- Disable communication between clients (client isolation).
- Support for IEEE 802.11n, 802.11ac and 802.11w (Management Frame Protection)
- Internet sharing methods: NATed or Bridged or None (no Internet sharing).
- Choose the AP Gateway IP (only for 'NATed' and 'None' Internet sharing methods).
- You can create an AP with the same interface you are getting your Internet connection.
- You can pass your SSID and password through pipe or through arguments (see examples).
- bash (to run this script)
- util-linux (for getopt)
- procps or procps-ng
- hostapd
- iproute2
- iw
- iwconfig (you only need this if 'iw' can not recognize your adapter)
- haveged (optional)
- dnsmasq
- iptables
git clone https://github.com/legithubert/create_ap
cd create_ap
make install
create_ap wlan0 eth0 MyAccessPoint
create_ap wlan0 eth0 MyAccessPoint MyPassPhrase
create_ap -n wlan0 MyAccessPoint MyPassPhrase
create_ap -m bridge wlan0 eth0 MyAccessPoint MyPassPhrase
create_ap -m bridge wlan0 br0 MyAccessPoint MyPassPhrase
create_ap wlan0 wlan0 MyAccessPoint MyPassPhrase
create_ap --driver rtl871xdrv wlan0 eth0 MyAccessPoint MyPassPhrase
echo -e "MyAccessPoint" | create_ap wlan0 eth0
echo -e "MyAccessPoint\nMyPassPhrase" | create_ap wlan0 eth0
create_ap --ieee80211n --ht_capab '[HT40+]' wlan0 eth0 MyAccessPoint MyPassPhrase
create_ap --isolate-clients wlan0 eth0 MyAccessPoint MyPassPhrase
create_ap wlan0 eth0 MyAccessPoint MyPassPhrase --wps
For Push Button Configuration (PBC), use hostapd_cli
to press the virtual WPS button
(see create_ap's output for exact command):
hostapd_cli -p/path/to/hostapd_ctrl wps_pbc
Using the persistent systemd service
systemctl start create_ap
systemctl enable create_ap
FreeBSD