web-dev-qa-db-ja.com

Raspberry Piのアクセスポイントとクライアントの両方に単一のワイヤレスアダプターを使用するにはどうすればよいですか?

Wlan0のhostapdを使用してUSBWi-Fiドングルを使用し、RaspberryPiにワイヤレスアクセスポイントを作成することができました。私ができるようにしたいのは、アクセスポイントを仮想インターフェイス(つまり、wlan0:1)またはvlan(wlan0.123)に配置し、wlan0を既存のアクセスポイントに接続することです。

そうすれば、デバイスが提供するアクセスポイントを介して、または接続できたネットワークを介してデバイスに接続できます。

最終目標はこれです:私はそれが提供するアクセスポイントを使用してデバイスに接続することができます。次に、検出したワイヤレスアクセスポイントのスキャンを実行し、接続するアクセスポイントを尋ねてから、接続を試みます。次に、その新しい接続で取得できたIPアドレス、または接続に失敗したことを通知できます(提供しているアクセスポイントを介して接続されたままであるため)。

これを行う他の方法がある場合(2つの物理Wi-Fiアダプターがない場合)、私はすべての耳です。

今のところ、私が取っている手順は、APをVLANインターフェイスで動作させることです。それは機能していません…APは表示されていますが、DHCPサーバーがIPアドレスを発行していないようです。

/ etc/network/interfacesの内容は次のとおりです。

auto lo
auto wlan0 wlan0.10
auto eth0

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0

iface wlan0.10 inet static
  address 192.168.50.1
  netmask 255.255.255.0
  network 192.168.50.0
  broadcast 192.168.50.255
  gateway 192.168.50.1
  vlan_raw_device wlan0

iface wlan0 inet manual

Hostapd.confの内容は次のとおりです。

interface=wlan0
driver=rtl871xdrv
country_code=NZ
ctrl_interface=wlan0.10
ctrl_interface_group=0
ssid=RPiAP
hw_mode=g
channel=1
wpa=3
wpa_passphrase=PASSWORD
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
macaddr_acl=0
wmm_enabled=1
eap_reauth_period=360000000

上記で、インターフェースはwlan0であると言わなければならなかったことに注意してください。 wlan0.10を入れたら、hostapdは気に入らないようです。

最後に、これが私のdhcp構成(isc-dhcp-server)です。

shared-network VLAN10 {
subnet 192.168.50.0 netmask 255.255.255.0 {
       range 192.168.50.10 192.168.50.250;
       option broadcast-address 192.168.50.255;
       option routers 192.168.50.1;
       default routers 192.168.50.1;
       default-lease-time 600;
       max-lease-time 7200;
       option domain-name "local";
}
}

AP/dhcpは、電話が「RPiAPからIPアドレスを取得しています...」でスタックしているように見えるため、VLAN)にいることを好まないようです。タグ付けを削除するためのiptablesルール?

4
Gabe

単一のWLANデバイスをアクセスポイント(AP)とクライアント(ステーション、STA)の両方として使用できるのは、デバイスがそれをサポートしている場合のみです。 iw phyまたはiw listを使用して、デバイスが機能するかどうかを確認できます。可能な組み合わせ(他のモードを含む)を説明する行valid interface combinationsがあります。詳細は例えば ここ です。

お使いのデバイスがそれをサポートしている場合は、次のようなもので新しい仮想インターフェイスを追加できます

iw phy phy0 interface add wlan0_ap type ap

(必要に応じて変更します。他のタイプはクライアント/ステーションの場合はstaです)。

次に、一方のインターフェースでhostapdを実行し、もう一方のインターフェースを通常どおり使用できます。

1
dirkt

Hostapdサーバーとdhcpサーバーは正常に機能していますが、携帯電話とRaspberryPiの時刻が同期されていません。両方のデバイスを同時に置くようにしてください。

0
Albert