Share Wifi Internet in Linux Ubuntu | Make a Infrastructure Wifi hotspot Ubuntu

As many of you know, most of our android (not only android) devices can't connect to ad hoc hotspots. There's a solution for win7/8 users to set up infrastructure hotspot on their laptop using software like connectify and so on. Ubuntu also allows to create wifi hotspot to share internet, but it will be ad hoc one.
So here's the guide how to set up infrastructure hotspot on Ubuntu. Unlike some other methods described on the internet, this one will not break default network manager.

Note - This need two wifi adapter in a device!                                                                                   
 I have a            
and inbuilt  Atheros AR9285.

1. First of all you should make sure, that your wifi adapter supports infrastructure hotspots. If you used connectify on your windows system and it worked, skip this step.

open terminal and type: sudo lshw | less

find -network section and make sure that driver is ath5k or ath9k, this solution will only work for those drivers, but should fit the needs for the most laptop users.

2. We now need to install 2 additional tools to make out hotspot, 1st one is hostapd(hotspot server), 2nd one is dnsmasq(dns dhcp server)

in terminal type: sudo apt-get install hostapd dnsmasq

3. stop those services if started already, and prevent them from starting on system start up.

in terminal type: 
sudo service hostapd stop
sudo service dnsmasq stop
sudo update-rc.d hostapd disable
sudo update-rc.d dnsmasq disable

4. Now we need to set up config files. 
in terminal type: sudo gedit /etc/dnsmasq.conf
or sudo kate /etc/dnsmasq.conf if you use kde

add those lines to the config file 
# Bind to only one interfacebind-interfaces# Choose interface for bindinginterface=wlan0# Specify range of IP addresses for DHCP leassesdhcp-range=,

5. hostapd config

in terminal type: sudo gedit /etc/hostapd.conf

and add those lines

# Define interface interface=wlan0# Select driver driver=nl80211# Set access point name ssid=Hacktheheck# Set access point harware mode to 802.11g hw_mode=g # Set WIFI channel (can be easily changed) channel=6# Enable WPA2 only (1 for WPA, 2 for WPA2, 3 for WPA + WPA2) wpa=2 wpa_passphrase=hacktheheck

You can change ssid name and password for anything you want here. Current config will create hotspot named Hacktheheck with hacktheheckpassword.

6. Now create anywhere you want a file named
edit it with any text editor like this:

#!/bin/bash # Start # Configure IP address for WLAN sudo ifconfig wlan0 # Start DHCP/DNS server sudo service dnsmasq restart
# Enable routing sudo sysctl net.ipv4.ip_forward=1
# Enable NAT sudo iptables -t nat -A POSTROUTING -o wlan1 -j MASQUERADE
# Run access point daemon sudo hostapd /etc/hostapd.conf
# Stop
# Disable NAT sudo iptables -D POSTROUTING -t nat -o wlan1 -j MASQUERADE
# Disable routing sudo sysctl net.ipv4.ip_forward=0
# Disable DHCP/DNS server
sudo service dnsmasq stop
sudo service hostapd stop
You will probably need to change wlan1  to wlan0 or Something else (or any other number which refers to your wired connection.

7. Last step. Now you can start your hotspot by starting our script. just run it using sudo sh
for me it looks like this sudo sh /home/viper/Desktop/ because I have it on my desktop.

 Grab a feed                                Ask your queries on Facebook


Popular Posts