비 애드혹 와이파이 핫스팟은 어떻게 만듭니 까?


13

데스크탑을 유선 이더넷 연결 (eth0)과 함께 사용하여 "TP-LINK TL-WN722N"USB Wifi 어댑터 (wlan0)를 Android에 연결할 수있는 비 특정 (인프라 모드) 액세스 지점으로 작동하려고했습니다.

MUCH 검색 후 마침내 필요한 많은 것을 수행하는 메소드 (많은 웹 사이트에 퍼져 있음)를 발견했습니다 ...

종속성 :

 hostapd
 bridge-utils

"/ etc / network / interfaces"를 수정했습니다.

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와 간단한 스크립트를 사용하여 실행기를 만드는 방법을 알아 냈습니다 ...

터미널없이 Wi-Fi / 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

/ etc / network / 인터페이스 :

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

이 설정은 주로이 하우투 를 읽고 맨 페이지를 쳐다 보면서 구현되었습니다 .


감사! 나는 당신이 머리를 긁는 것의 의미를 알고 있습니다. 이 일은 확실히 일하기 힘든 고통이었습니다. 구성을 시도하고 향후 며칠 내에 어떻게 진행되는지 알려 드리겠습니다. :)
askuhn

지난 며칠 동안 /etc/network/interfaces파일이 어떤 이유로 작동하지 않고 휴대 전화가 제대로 연결되지 않는 것을 발견했습니다 . 부팅시 wlan0에 주소를 수동으로 지정하여 다시 돌아 왔습니다.
dutchie

두 개 이상의 장치를 연결하지 않는 한 내 설정이 제대로 작동했습니다 (내가 때로는 작동하지만 때로는 작동하지 않는 경우). 나는 여전히 땜질을하고있다. 그래서 내가 더 좋은 것을 내 놓으면, 반드시 글을 올릴 것이다. :)
askuhn

3

대부분의 문제는 HP 랩탑의 Broadcom 드라이버로 인해 발생합니다. Broadcom 네트워크 컨트롤러가있는 경우 카드가 b43 (링크 1)과 호환되는지 확인하십시오. 그것이 굉장하다면 계속 읽으십시오. 기본 Broadcom sta 드라이버 (wl)는 액세스 포인트 모드를 지원하지 않습니다. 따라서 사전에 필요한 조치를 취하여 예방 조치를 취한 b43을 설치하십시오. modprobe를 사용하여 켜십시오. 이제 지시 사항을 따르고 액세스 포인트를 설정하십시오.

나는 마침내 이것과 함께 일하는 hostapd를 얻었고 달콤한 부분은 내 Nokia 폰이 그렇게 만들어진 wifi를 감지 할 수 있다는 것입니다 (이것은 애드혹 여부를 감지 할 수 있습니다). 이제 나는 당신의 파일을 가지고 놀아야하고 내 플레이 북을 감지 할 수 있는지 확인해야합니다.

  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

마지막 단락에서 플레이 북이 감지 되었습니까?
tshepang

0

위의 훌륭한 답변이지만 hostapd 또는 AP 모드를 지원하지 않는 단지 하나 또는 두 개의 칩셋이 아닙니다.

드라이버와 하드웨어가 AP 모드를 지원하는지 확인하는 방법은 다음과 같습니다.

sudo iw list | less

"지원되는 인터페이스 모드"섹션을 찾으십시오. "AP"가 포함되어 있지 않으면 운이 좋지 않습니다. "AP"라고 표시되어 있으면 다른 포스터에서 이미 제공 한 많은 유용한 지침을 따르십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.