Как настроить ad hoc-сеть между телефоном и ноутбуком со статическим IP-адресом

Как настроить ad hoc-сеть между телефоном и ноутбуком со статическим IP-адресом

Я хочу установить adhoc-соединение между моим ноутбуком под управлением Debian Wheezy и моим планшетом Android Nexus 7. Я установил hostapdна своем ноутбуке эту конфигурацию.

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

Теперь я вижу точку доступа, указанную в настройках WiFi на моем Android. Я указал статический IP в настройках nexus 7 и дал команду connect, и он подключился. Настройки, которые я указал в 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

Судя по всему, вы пытаетесь одновременно делать две вещи, которые могут быть совершенно несовместимы или возможны только после некоторой работы.

Вашей карте wlan0 назначен частный IP, что указывает на то, что вы используете ее для подключения к сети Wi-Fi. В то же время на ней установлен hostapd, который переводит виртуальный интерфейс (vif) mon-wlan0 (на вашем физическом устройстве phy0) в режим станции. Это правильно?

Что бы вы хотели сделать? У вас есть два варианта:

1) настроить все так, чтобы ваш телефон имел доступ к ПК, но при этом ни ПК, ни телефон не имели доступа в Интернет:

2) И наоборот, настройте свой компьютер так, чтобы и телефон, и компьютер имели доступ в Интернет через одну и ту же карту Wi-Fi.

Первое легко организовать.

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

и вы готовы идти.

Второе (т.е. с той же картой Wi-Fi, подключиться к существующей беспроводной сети и одновременно предоставить точку доступа Wi-Fi для других компонентов), возможно, можно организовать. В основном, это зависит от свойств вашей карты Wi-Fi. Если это то, чего вы хотите добиться, вам придется опубликовать вывод

sudo iw list

Ваше здоровье.

EDIT: если подумать, возможно, ваша карта ifi в любом случае не позволяет использовать hostapd. Так что не могли бы вы, пожалуйста, опубликовать вывод последней команды?

решение2

Вам необходимо находиться в одной сети, но у вас их две: 10.0.3.x и 192.168.1.x.

Измените одно из них так, чтобы оно согласовывалось с другим.

решение3

Кажется, вы неправильно определили IP-адрес на Nexus. Используйте IP-адрес типа 10.0.3.14 или что-то еще в диапазоне 10.0.3.0, со шлюзом 10.0.3.12.

В идеале вам следует использовать сервер dhcp для выделения IP-адресов клиентам. Правильный способ сделать эту настройку будет таким:

  1. Настройте /etc/network/interfaces, чтобы определить параметры IP-адреса для wlan0
  2. Настройка сервера DHCP (например, udhcpd или isc-dhcp-server) для назначения IP-адресов подключаемым устройствам.

Также, предполагая, что вы хотите поделиться интернет-подключением вашего ноутбука с устройствами, которые подключаются, вы также должны включить пересылку пакетов. Чтобы включить пересылку пакетов, раскомментируйте следующую строку в /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

Полные инструкции можно найтиздесь

Связанный контент