静的 IP を使用して携帯電話とラップトップ間でアドホック ネットワークを設定する方法

静的 IP を使用して携帯電話とラップトップ間でアドホック ネットワークを設定する方法

hostapdDebian 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アドレスを割り当てる必要があります。この設定を行う正しい方法は、

  1. /etc/network/interfacesを設定してwlan0のIPアドレス設定を定義します。
  2. 接続するデバイスに 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

完全な手順についてはここ

関連情報