Installing And configuring Host AP Daemon
First thing required is installing hostapd :
sudo apt install hostapd
Once done edit the hostapd.conf file located in /etc/hostapd/ as below :
# Example configuration file for hostapd
#
# The full documentation is available at https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf
#
interface=wlan0
driver=nl80211
ctrl_interface=/var/run/hostapd
ctrl_interface_group=netdev
ssid=YOUR_AP_SSID
country_code=FR
channel=1
auth_algs=1
hw_mode=g
ieee80211n=1
beacon_int=100
dtim_period=1
max_num_sta=16
# Uncomment to enable WPA2-PSK-CCMP authentication (WPA2-Personal)
#wpa=2
#wpa_passphrase=YOUR_WPA2_PASSPHRASE
#wpa_key_mgmt=WPA-PSK
#rsn_pairwise=CCMP
#ieee80211w=1
# Uncomment to enable WPA2-SAE-CCMP authentication (WPA3-Personal)
#wpa=2
#wpa_passphrase=YOUR_WPA3_PASSPHRASE
#wpa_key_mgmt=SAE
#rsn_pairwise=CCMP
#ieee80211w=2
Finally, enable the service to start upon linux boot and reboot:
systemctl unmask hostapd
systemctl enable hostapd
reboot
You should now see a new access point YOUR_AP_SSID around
Configuring DHCP client for wlan interface
In order to start accepting clients, we need to assign a static IP address to our wlan interface. Doing so requires to modify the DHCP Client daemon config file present in our linux system at /etc/dhcpcd.conf.
There we will add the following :
interface wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant
Installing and configuring DHCP server
At this point we need to enable clients to connect ang gather an IP adress as well
For that we will be using dnsmasq, so we will start by installing it :
apt install dnsmasq
We edit its config file located in /etc/dnsmasq.conf with the below :
# We target wlan0 interface
interface=wlan0
# We deine the IP range, as well as DHCP Lease time
dhcp-range=192.168.4.2,192.168.4.100,255.255.255.0,24h
Make Sure the static IP address and range match
Finally we enable the service :
systemctl unmask dnsmasq
systemctl enable dnsmasq
reboot