
hostapd
Debian wheezy を実行しているラップトップと Android Nexus 7 タブレットの間でアドホック接続を確立したいと考えています。この構成でラップトップにインストールしました。
interface=wlan0
driver=nl80211
ssid=myapppp
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=passpass
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
今、AndroidのWi-Fi設定にアクセスポイントがリストされているのがわかります。Nexus 7の設定で固定IPを指定して接続すると接続できました。Nexus 7で指定した設定は次のとおりです。
IP : 192.168.1.3
Gateway: 192.168.1.1
Network prefix length: 24
DNS: 8.8.8.8
では、どうすればラップトップと通信できるのでしょうか? ラップトップにも IP を割り当てる必要がありますか? どの設定を使用すればよいですか?
私のifconfig
贈り物
**mon.wlan0 Link encap:UNSPEC HWaddr D0-DF-9A-EC-E6-09-3A-30-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)**
wlan0 Link encap:Ethernet HWaddr d0:df:9a:ec:e6:09
inet addr:10.0.3.12 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::d2df:9aff:feec:e609/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:95004 errors:0 dropped:0 overruns:0 frame:0
TX packets:78421 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:57369956 (54.7 MiB) TX bytes:10218977 (9.7 MiB)
答え1
明らかに、完全に両立しないか、または少し作業しないと実現できない 2 つのことを同時に実行しようとしているようです。
wlan0 カードにはプライベート IP が割り当てられており、これは Wi-Fi ネットワークへの接続に使用していることを示しています。同時に、hostapd がインストールされていることで、仮想インターフェイス (vif) mon-wlan0 (物理デバイス phy0 上) がステーション モードになっています。これは正しいですか?
何をしたいですか? 2 つのオプションがあります:
1) PC も携帯電話もインターネットにアクセスできない状態で、携帯電話が PC にアクセスできるようにすべてを設定します。
2) 逆に、電話と PC の両方が同じ Wi-Fi カードを介してインターネットにアクセスできるように PC を設定します。
まず、手配が簡単です。
sudo service network-manager stop
sudo sysctl -w net.ipv4.ip_forward=1
sudo ifconfig wlan0 up 192.168.1.1
これで準備完了です。
2番目のこと(つまり、同じWi-Fiカードで既存のワイヤレスネットワークに接続し、同時に他のコンポーネントにWi-Fiアクセスポイントを提供する)は、おそらく手配されるでしょう。基本的に、それはあなたのWi-Fiカードの特性に依存します。これを実現したい場合は、次の出力を投稿する必要があります。
sudo iw list
乾杯。
編集: よく考えてみると、ifi カードでは hostapd の使用がまったく許可されていない可能性があります。最後のコマンドの出力を投稿していただけますか?
答え2
同じネットワーク上にいる必要がありますが、10.0.3.x と 192.168.1.x の 2 つがあります。
どちらか一方を変更して、もう一方と一致させます。
答え3
Nexus の IP アドレスを正しく定義していないようです。ゲートウェイ 10.0.3.12 で、10.0.3.14 などの IP アドレス、または 10.0.3.0 の範囲内のその他の IP アドレスを使用してください。
理想的には、DHCPサーバーを使用してクライアントにIPアドレスを割り当てる必要があります。この設定を行う正しい方法は、
- /etc/network/interfacesを設定してwlan0のIPアドレス設定を定義します。
- 接続するデバイスに IP アドレスを割り当てるために、udhcpd または isc-dhcp-server などの DHCP サーバーを設定します。
また、接続しているデバイスとラップトップのインターネット接続を共有する場合は、パケット転送も有効にする必要があります。パケット転送を有効にするには、/etc/sysctl.conf の次の行のコメントを解除します。
# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1
iptablesを経由したトラフィックを許可する
$ sudo iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
完全な手順についてはここ