我已经通过我的 Ubuntu 笔记本电脑创建了 WiFi 热点。现在我在我的 Android 手机上打开 WiFi 来访问互联网,但我无法通过 Ubuntu 笔记本电脑查看我创建的热点。
我做错了什么吗?我想通过 Ubuntu 笔记本电脑的 WiFi 在我的 Android 手机上访问互联网。可以吗?
答案1
- 首先,您应该确保您的 wifi 适配器支持基础设施热点。如果您在 Windows 系统上使用 connectify 并且成功,请跳过此步骤。
打开终端并输入:sudo lshw | less
找到 -network 部分并确保驱动程序是 ath5k 或 ath9k,此解决方案仅适用于这些驱动程序,但应该可以满足大多数笔记本电脑用户的需求。
- 我们现在需要安装另外两个工具来实现热点,第一个是 hostapd(热点服务器),第二个是 dnsmasq(dns dhcp 服务器)
在终端类型中:sudo apt-get install hostapd dnsmasq
- 如果已经启动,则停止这些服务,并阻止它们在系统启动时启动。
在终端类型中: sudo service hostapd stop sudo service dnsmasq stop sudo update-rc.d hostapd disable sudo update-rc.d dnsmasq disable
- 现在我们需要设置配置文件。在终端中输入:sudo gedit /etc/dnsmasq.conf 或 sudo kate /etc/dnsmasq.conf(如果你使用 kde)
将这些行添加到配置文件代码:
# Bind to only one interface
bind-interfaces
# Choose interface for binding
interface=wlan0
# Specify range of IP addresses for DHCP leasses
dhcp-range=192.168.150.2,192.168.150.10
- hostapd 配置
在终端类型:sudo gedit /etc/hostapd.conf
并添加以下行
代码:
# Define interface
interface=wlan0
# Select driver
driver=nl80211
# Set access point name
ssid=myhotspot
# 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=mypassword
您可以在此处更改 ssid 名称和密码。当前配置将创建名为 myhotspot 的热点,密码为 mypassword。
- 现在在您想要的任何位置创建一个名为 start.sh 的文件,使用任何文本编辑器编辑它,如下所示:
代码:
#!/bin/bash
# Start
# Configure IP address for WLAN
sudo ifconfig wlan0 192.168.150.1
# 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 ppp0 -j MASQUERADE
# Run access point daemon
sudo hostapd /etc/hostapd.conf
# Stop
# Disable NAT
sudo iptables -D POSTROUTING -t nat -o ppp0 -j MASQUERADE
# Disable routing
sudo sysctl net.ipv4.ip_forward=0
# Disable DHCP/DNS server
sudo service dnsmasq stop
sudo service hostapd stop
您可能需要将其中的 ppp0 更改为 eth0(或任何其他指代您的有线连接的数字)。
- 最后一步。现在您可以通过启动我们的脚本来启动热点。只需使用 sudo sh 运行它,对我来说它看起来像这样 sudo sh /home/ogyct/Desktop/start.sh 因为我的桌面上有它