So richten Sie ein Ad-hoc-Netzwerk zwischen meinem Telefon und Laptop mit statischer IP ein

So richten Sie ein Ad-hoc-Netzwerk zwischen meinem Telefon und Laptop mit statischer IP ein

Ich möchte eine Ad-hoc-Verbindung zwischen meinem Laptop mit Debian Wheezy und meinem Android Nexus 7-Tablet herstellen. Ich habe es hostapdmit dieser Konfiguration auf meinem Laptop installiert.

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

Jetzt kann ich den Zugangspunkt in meinen Android-WLAN-Einstellungen sehen. Ich habe in meinen Nexus 7-Einstellungen eine statische IP-Adresse angegeben und „Verbinden“ eingegeben, und die Verbindung wurde hergestellt. Die Einstellungen, die ich in Nexus 7 angegeben habe, sind

IP : 192.168.1.3
Gateway: 192.168.1.1
Network prefix length: 24
DNS: 8.8.8.8

Wie kann ich nun mit meinem Laptop kommunizieren? Ich muss meinem Laptop auch eine IP-Adresse geben? Welche Einstellungen sollte ich verwenden?

Meine ifconfiggibt

**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)

Antwort1

Sie versuchen offensichtlich, zwei Dinge gleichzeitig zu tun, die möglicherweise überhaupt nicht kompatibel sind oder nur mit einigem Aufwand möglich sind.

Ihrer WLAN0-Karte ist eine private IP zugewiesen, was darauf hinweist, dass Sie sie für die Verbindung mit einem WLAN-Netzwerk verwenden. Gleichzeitig haben Sie hostapd darauf, das die virtuelle Schnittstelle (vif) mon-wlan0 (auf Ihrem physischen Gerät phy0) in den Stationsmodus versetzt. Ist das richtig?

Was möchten Sie tun? Sie haben zwei Möglichkeiten:

1) Konfigurieren Sie alles so, dass Ihr Telefon Zugriff auf den PC hat, während weder der PC noch das Telefon über Internetzugang verfügen:

2) Umgekehrt: Konfigurieren Sie Ihren PC so, dass sowohl das Telefon als auch der PC über dieselbe WLAN-Karte auf das Internet zugreifen können.

Das Erste ist leicht zu arrangieren.

sudo service network-manager stop
sudo sysctl -w net.ipv4.ip_forward=1
sudo ifconfig wlan0 up 192.168.1.1

und schon kann es losgehen.

Die zweite Sache (also mit derselben WLAN-Karte eine Verbindung zu einem bestehenden WLAN herstellen und gleichzeitig anderen Komponenten einen WLAN-Zugangspunkt bieten) kann möglicherweise arrangiert werden. Im Wesentlichen hängt es von den Eigenschaften Ihrer WLAN-Karte ab. Wenn Sie dies erreichen möchten, müssen Sie die Ausgabe von

sudo iw list

Prost.

EDIT: Wenn ich es mir recht überlege, ist es möglich, dass Ihre IFI-Karte die Verwendung von hostapd in keinem Fall zulässt. Könnten Sie also bitte die Ausgabe des letzten Befehls posten?

Antwort2

Sie müssen sich im selben Netzwerk befinden, aber Sie haben zwei: 10.0.3.x und 192.168.1.x.

Ändern Sie einen davon, damit er mit dem anderen übereinstimmt.

Antwort3

Offenbar haben Sie die IP-Adresse auf Nexus nicht richtig definiert. Verwenden Sie eine IP-Adresse wie 10.0.3.14 oder etwas anderes im Bereich 10.0.3.0 mit Gateway 10.0.3.12.

Idealerweise sollten Sie jedoch einen DHCP-Server verwenden, um den Clients IP-Adressen zuzuweisen. Die richtige Vorgehensweise für dieses Setup ist:

  1. Konfigurieren Sie /etc/network/interfaces, um die IP-Adresseinstellungen für wlan0 zu definieren
  2. Konfigurieren eines DHCP-Servers wie (udhcpd oder isc-dhcp-server), um den Geräten, die eine Verbindung herstellen, eine IP-Adresse zuzuweisen.

Wenn Sie die Internetverbindung Ihres Laptops mit den verbundenen Geräten teilen möchten, sollten Sie außerdem die Paketweiterleitung aktivieren. Um die Paketweiterleitung zu aktivieren, heben Sie die Kommentierung der folgenden Zeile in /etc/sysctl.conf auf.

# Uncomment the next line to enable packet forwarding for IPv4 net.ipv4.ip_forward=1

und erlauben Sie den Datenverkehr über iptables

$ sudo iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE

Eine vollständige Anleitung finden SieHier

verwandte Informationen