Як створити точку доступу до Wi-Fi, яка не є adhoc?


13

Я хотів використовувати свій робочий стіл з дротовим підключенням до Ethernet (eth0) для управління моїм адаптером Wi-Fi "TP-LINK TL-WN722N" (wlan0) як непридатний (інфраструктурний режим) пункт доступу для мого підключення до Android.

Після МНОГО пошуку я нарешті знайшов метод (розповсюджений на багатьох веб-сайтах), який робить більшу частину того, що мені потрібно ...

Залежності:

 hostapd
 bridge-utils

Я змінив "/ etc / network / interface"

sudo gedit /etc/network/interfaces

містити:

# This file describes the network interfaces available on your system
# and how to activate them.

auto lo br0
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual

# Bridge setup

# for dhcp address
iface br0 inet dhcp
bridge_ports eth0 wlan0

# for static ip
# iface br0 inet static
# bridge_ports eth0 wlan0
# adapt with your network settings
# address 192.168.1.250
# netmask 255.255.255.0
# network 192.168.1.0
# broadcast 192.168.1.255
# gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
# dns-nameservers 192.168.1.1
# dns-search localdomain

### Reference ###

# Creating a Wireless Access Point with Debian Linux « Agent Oss (October 31, 2011)
# https://agentoss.wordpress.com/2011/10/31/creating-a-wireless-access-point-with-debian-linux/

Мій "/etc/hostapd/hostapd.conf" (який мені якось вдалося скласти разом)

sudo gedit /etc/hostapd/hostapd.conf

містить:

 ### Guts ###

 interface=wlan0
 bridge=br0
 driver=nl80211

 ### General ###

 ssid=____________________
 hw_mode=g
 channel=1

 ### Security ###

 macaddr_acl=0
 auth_algs=1
 ignore_broadcast_ssid=0     ## 0 visible # 1 hidden ##
 wpa=2
 wpa_passphrase=____________________
 wpa_key_mgmt=WPA-PSK
 wpa_pairwise=TKIP
 rsn_pairwise=CCMP

 ### Reference ###

 ## Created Tuesday, February 14, 2012 ## Ubuntu 11.10/12.04 ##

 # Hostapd Linux Documentation Page
 # http://linuxwireless.org/en/users/Documentation/hostapd

 # Creating a Network Bridge on Ubuntu (January 16th, 2011)
 # http://webserver.linuxportal.nl/?p=422

(Я відредагував біти безпеки для цієї публікації)

Все це дозволяє мені відкрити термінал і виконати:

 sudo hostapd -B /etc/hostapd/hostapd.conf

мати функціонуючу точку доступу, до якої можуть підключитися мій Android та всі інші пристрої WiFi.

Крім того, щоб поділитися цим методом з іншими, оскільки інформація про цю установку настільки рідка; Є три проблеми, які було б непогано виправити:

  1. Ця конфігурація деактивує мережевий менеджер та всі його функції. Коли ви клацаєте на ньому, воно видає повідомлення "пристрій не керується". (не суттєво, але трохи дратує мене)
  2. Цей метод час від часу може боротися з IP-адресами.
  3. Я повинен використовувати термінал, щоб увімкнути Wi-Fi. (Добре для мене, але не для сім'ї). Я зрозумів, як зробити пусковий апарат за допомогою gksu та простого сценарію, якщо комусь потрібен ...

Запуск wifi / Hostapd без терміналу

  1. (Чому менеджер мережі не може зробити це поза вікном ??)

Спасибі заздалегідь! Я сподіваюся, що все це може допомогти комусь іншому; Я ніколи не писав підручника раніше і нічого не знаю про мережу ...

Можливо, пов'язане з мережевим мостом - без руйнування мережевого менеджера (серед інших).

Тестовано за допомогою Ubuntu 11.10, 12.04.

Відповіді:


5

Я не впевнений у тому, як це зробити без клобінгу NM, але можна автоматично запускатись під час завантаження та отримувати IP-адреси, щоб їх легко призначати (принаймні, мені це вдалося за допомогою тієї ж бездротової карти). Для цього потрібні пакети hostapdта dnsmasq(не dnsmasq-base)

/etc/hostapd/hostapd.conf:

interface=wlan0
driver=nl80211 # This works on my TL-WN722N

ssid=______

channel=6
hw_mode=g

auth_algs=1
wpa=3
wpa_passphrase=_____
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

/ etc / default / hostapd:

# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
DAEMON_CONF="/etc/hostapd/hostapd.conf"

# Additional daemon options to be appended to hostapd command:-
#   -d   show more debug messages (-dd for even more)
#   -K   include key data in debug messages
#   -t   include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to DAEMON_OPTS.
#
#DAEMON_OPTS=""

/etc/dnsmasq.conf (відмінна від версії технічного обслуговування):

--- /etc/dnsmasq.conf.dpkg-dist 2011-09-20 00:28:30.000000000 +0100
+++ /etc/dnsmasq.conf   2012-02-13 21:03:03.713554612 +0000
@@ -82,7 +82,7 @@
 # specified interfaces (and the loopback) give the name of the
 # interface (eg eth0) here.
 # Repeat the line for more than one interface.
-#interface=
+interface=wlan0
 # Or you can specify which interface _not_ to listen on
 #except-interface=
 # Or which to listen on by address (remember to include 127.0.0.1 if
@@ -133,7 +133,7 @@
 # a lease time. If you have more than one network, you will need to
 # repeat this for each network on which you want to supply DHCP
 # service.
-#dhcp-range=192.168.0.50,192.168.0.150,12h
+dhcp-range=192.168.3.10,192.168.3.49,12h

 # This is an example of a DHCP range where the netmask is given. This
 # is needed for networks we reach the dnsmasq DHCP server via a relay

/ і т.д. / мережа / інтерфейси:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
    address 192.168.3.1/24
    broadcast 192.168.3.255

/etc/sysctl.conf патч (запустити sudo sysctl -p /etc/sysctl.confпісля зміни):

--- sysctl.conf 2012-05-14 18:06:57.514873009 +0100
+++ /etc/sysctl.conf    2012-05-14 18:09:27.122876525 +0100
@@ -25,7 +25,7 @@
 #net.ipv4.tcp_syncookies=1

 # Uncomment the next line to enable packet forwarding for IPv4
-#net.ipv4.ip_forward=1
+net.ipv4.ip_forward=1

 # Uncomment the next line to enable packet forwarding for IPv6
 #  Enabling this option disables Stateless Address Autoconfiguration

Нарешті, налаштуйте NAT у iptables:

sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables.sav

і додайте iptables-restore < /etc/iptables.savвище exit 0в /etc/rc.local.

Цей параметр здебільшого реалізовувався, читаючи це хауто і дивлячись на сторінки чоловіка, що чухають мені голову.


Спасибі! Я знаю, що ви маєте на увазі подряпання голови; ця річ, безумовно, була болем працювати взагалі. Я спробую ваш конфігурацію, і я повідомляю вам, як це пройде в найближчі кілька днів. :)
аскун

В останні кілька днів я виявив, що /etc/network/interfacesфайл чомусь не працює, і мій телефон не підключається належним чином. Поки я повернувся до того, щоб вручну надати wlan0 адресу під час завантаження.
dutchie

Моя настройка працює досить добре, доки я не намагаюся підключити більше ніж один пристрій (коли я це роблю, іноді це працює, іноді не працює). Я все ще роздумую, тож якщо придумаю щось краще, обов’язково допишу. :)
askuhn

3

Найбільше проблем виникає через щонайменше драйверів Broadcom у ноутбуках HP. Якщо у вас є мережевий контролер, перевірте, чи сумісна ваша карта з b43 (посилання 1). Якщо це чудово, продовжуйте читати. За замовчуванням драйвер Broadcom sta (wl) не підтримує режим точки доступу. Тому встановіть b43 з запобіжними заходами, щоб бути в Інтернеті будь-якими необхідними засобами. Увімкніть його за допомогою modprobe. Тепер дотримуйтесь інструкцій і спробуйте встановити точку доступу.

Нарешті я з цим захоплююсь, і найприємнішою є те, що мій телефон Nokia може виявити створений Wi-Fi (він може виявити що завгодно, adhoc чи ні). Тепер мені доведеться пограти з вашим файлом і подивитися, чи зможу я виявити свою програму для відтворення.

  1. http://linuxwireless.org/en/users/Drivers/b43
  2. http://pclinuxos.com/forum/index.php?topic=91991.0

Також це спрацювало, коли я отримав не керований пристрій у диспетчері пристроїв. askubuntu.com/questions/71159/…
Giridaran Manivannan

Радий, що це було вам корисно! Мені знадобилося назавжди зрозуміти, що мені потрібно, щоб отримати щось, що працювало для мене. Дякую за посилання про менеджера мережі, я обов'язково спробую це :)
askuhn

І це працює! Дивовижна частина eth0 не повинна стати статичною за цим методом. Придбаний ip буде для всіх eth0, мосту та пристрою, який ви хочете підключити!
Giridaran Manivannan

В останньому абзаці, ви мали на увазі, що книжка буде виявлена ?
thepang

0

Відмінні відповіді вище, однак це не один чи два набори чіпів, які не підтримують режим hostapd або AP.

Ось як дізнатися, чи підтримують ваш драйвер та обладнання апаратний режим:

sudo iw list | less

Знайдіть розділ «підтримувані режими інтерфейсу». Якщо він не включає "AP", вам не пощастить. Якщо він каже "AP", тоді приступайте до багатьох хороших інструкцій, які вже надані іншими афішами!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.