非アドホックWiFiホットスポットを作成するにはどうすればよいですか?


13

有線イーサネット接続(eth0)でデスクトップを使用して、「TP-LINK TL-WN722N」USB Wifiアダプター(wlan0)をAndroidが接続する非アドホック(インフラストラクチャモード)アクセスポイントとして操作したかった。

多くの検索の後、私は最終的に、私が必要とするほとんどのことを行うメソッド(多くのWebサイトに広がる)を見つけました...

依存関係:

 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デバイスが接続できる機能するアクセスポイントを用意します。

この設定の情報は非常にまばらなので、このメソッドを他の人と共有することは別として、修正するとよい3つの問題があります。

  1. この構成により、ネットワークマネージャーとそのすべての機能が無効になります。クリックすると、「デバイスが管理されていません」というメッセージが表示されます。(必須ではありませんが、少し面倒です)
  2. この方法は、時々IPアドレスと格闘できます。
  3. Wifiをオンにするには端末を使用する必要があります。(わかりましたが、家族向けではありません)。 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

/ etc / network / interfaces:

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 patch(実行 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.savexit 0にし/etc/rc.localます。

このセットアップの大部分は、このハウツーを読み、頭を悩ませるマニュアルページを見つめることで実装されました。


ありがとう!私はあなたが頭を引っかくことで何を意味するか知っています。このことは確かに仕事をするのが大変だった。あなたの設定を試して、今後数日間でどのようになるかをお知らせします。:)
askuhn

ここ数日で、/etc/network/interfaces何らかの理由でファイルが機能せず、携帯電話が正しく接続されないことがわかりました。今のところ、ブート時に手動でwlan0にアドレスを与えることに戻りました。
ダッチ

複数のデバイスを接続しようとしない限り、セットアップはかなりうまく機能します(接続するときは、動作することもあれば、動作しないこともあります)。私はまだいじくり回しているので、もっと良いものを思いついたら、必ず投稿します。:)
askuhn

3

ほとんどのトラブルは、少なくともHPラップトップのBroadcomドライバーが原因で発生します。Broadcomネットワークコントローラーを使用している場合カードがb43(link 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マニバンナン

これがあなたの役に立つことを嬉しく思います!自分に合ったものを手に入れるために何が必要かを理解するのに永遠に時間がかかりました。ネットワークマネージャーに関するリンクをお
寄せ

そしてそれは動作します!驚くべき部分は、このメソッドではeth0が静的である必要がないことです。取得されたIPは、すべてのeth0、ブリッジ、および接続するデバイス用です!
ギリダランマニバンナン

最後の段落で、プレイブックが検出されるということですか?
シェパン

0

上記の優れた答えですが、hostapdまたはAPモードをサポートしないのは1つまたは2つのチップセットだけではありません。

ドライバーとハードウェアがAPモードをサポートしているかどうかを確認する方法は次のとおりです。

sudo iw list | less

「サポートされているインターフェイスモード」セクションを探します。「AP」が含まれていない場合、あなたは運が悪いです。「AP」と表示されている場合は、他のポスターから既に提供されている多くの適切な指示に従ってください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.