- Create an AP (Access Point) at any channel.
- Choose one of the following encryptions: WPA, WPA2, WPA/WPA2, Open (no encryption).
- Hide your SSID.
- Disable communication between clients (client isolation).
- IEEE 802.11n & 802.11ac support
- 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).
- Support for IEEE 802.11r configuration (Fast BSS Transition).
- 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/adelolmo/create_ap
cd create_ap
You can build the package for a specific architecture.
dpkg-buildpackage -us -uc -b
dpkg -i createap_0.4.6.ado4_all.deb
systemctl start createap
systemctl enable createap
createap wlan0 eth0 MyAccessPoint
createap wlan0 eth0 MyAccessPoint MyPassPhrase
createap -n wlan0 MyAccessPoint MyPassPhrase
createap -m bridge wlan0 eth0 MyAccessPoint MyPassPhrase
createap -m bridge wlan0 br0 MyAccessPoint MyPassPhrase
createap wlan0 wlan0 MyAccessPoint MyPassPhrase
createap --driver rtl871xdrv wlan0 eth0 MyAccessPoint MyPassPhrase
echo -e "MyAccessPoint" | createap wlan0 eth0
echo -e "MyAccessPoint\nMyPassPhrase" | createap wlan0 eth0
createap --ieee80211n --ht_capab '[HT40+]' wlan0 eth0 MyAccessPoint MyPassPhrase
createap --isolate-clients wlan0 eth0 MyAccessPoint MyPassPhrase
Note that WIFI_FT_KEY
and MOBILITY_DOMAIN
values have to match the values from the other Access Points in the network.
You most probably need to use a bridge
connection so that the client's IP doesn't change.
Enable the feature via cli:
createap -m bridge --ieee80211r --mobility_domain 2e32 --wifi_ft_key 638b46bfff0eefbe0c460edaa403440d wlan0 eth0 MyAccessPoint MyPassPhrase
Enable the feature via the configuration file /etc/createap.conf
.
Name | Type | Default | Description |
---|---|---|---|
IEEE80211R | 0-1 | 0 | (required) Disable/Enable IEEE 802.11r. Default is 0. |
WIFI_FT_KEY | 256-bit hex string | (required) Key used during the Initial Mobility Domain Association. | |
NAS_IDENTIFIER | 1 to 48 octets string | (optional) NAS-Identifier string for RADIUS messages. When used, this should be unique to the NAS within the scope of the RADIUS server. | |
MOBILITY_DOMAIN | 2-octet hex string | (required) Mobility Domain identifier is used to indicate a group of APs (within an ESS, i.e., sharing the same SSID) between which a client can use Fast BSS Transition. |
FreeBSD