Я пытаюсь создать точку доступа WiFi или точку доступа на моем ноутбуке с Linux. Я использую Opensuse Kde 12.3.
Я обнаружил программное обеспечение, hostapd
которое позволяет вам создавать точки доступа, но требует двух интерфейсов. Один подключен к Интернету, а другой - для создания точки доступа ( учебное пособие здесь ). У меня проблема в том, что у меня нет соединения Ethernet. wlan
Интерфейс используется для подключения к Интернету.
Есть ли способ создать точку доступа на том же интерфейсе, который подключен к Интернету (как программное обеспечение connectctify в Windows)? Я думал о создании виртуального интерфейса (как тот, который airmon-ng
создается для мониторинга Wi-Fi) и использовать его в качестве второго интерфейса. Это возможно?
ОБНОВИТЬ
Вот что я смог сделать до сих пор:
1) Создайте 2 интерфейса (один как станция, а другой как точка доступа)
iw phy phy0 interface add mySta type station
iw phy phy0 interface add myAcc type __ap
2) Дайте им отдельный Mac ID
ifconfig myAcc hw ether A4:17:FE:6E:00:53
ifconfig myAcc 192.168.27.1 up
3) запустить hostapd на интерфейсе myAcc
4) запустите dnsmasq для предоставления IP-адреса подключаемым устройствам
Все это работает. Устройства могут подключиться к этой сети и получить IP-адрес. Следующим шагом является предоставление ip маскарадинга
iptables --table nat --append POSTROUTING --out-interface mySta -j MASQUERADE
iptables --append FORWARD --in-interface myAcc -j ACCEPT
Но интерфейс mySta теперь не может подключиться к Интернету. Он может получить Essid, но не может получить IP-адрес.
Команда dhclient mySta не показывает никаких сообщений и через некоторое время выдает ошибку:
ls: cannot access /var/run/netconfig//mySta/: No such file or directory
Может кто-нибудь выяснить, как получить IP-адрес?
Ответы:
Для всех, кто столкнулся с этой проблемой, проблема была с MAC-адресом. Я запустил интерфейс точки доступа, дал ему mac адрес. Затем после запуска hostapd добавил интерфейс станции, присвоил ему другой mac-адрес, подключил его к сети и дал IP-адрес станции в качестве шлюза по умолчанию для клиентов через dnsmasq.
Теперь все работает правильно.
Как указывает Diblo Dk, вы можете использовать виртуальные и фиктивные интерфейсы, но hostapd не работает с ними. Я не знаю почему.
Вот шаги:
источник
Настройка фиктивной сети
1 Откройте консоль
2 Проверьте, есть ли у вас фиктивный водитель
(!) Если у вас нет фиктивного драйвера, перейдите к « Создать модуль ядра ».
3 Загрузить заглушку драйвера
(!) Не добавляйте его в автозагрузку, если она не удалась.
4 Проверьте dummy0, подняв его
Это даст вам аналогичный вывод.
5 Добавьте заглушку в автозагрузку
Отредактируйте системный файл ядра.
и добавьте " пустышку " в MODULES_LOADED_ON_BOOT.
Ex. MODULES_LOADED_ON_BOOT = "пустышка vmcp".
6 Настройте параметры сети для dummy0
Создайте файл ifcfg-dummy0.
Добавьте в файл ifcfg-dummy0:
Создать модуль ядра
1 Сначала установка необходимых вещей
Откройте YaST.
Перейдите к
Software
->Software Management
.Поставить галочку:
2 Вернитесь в консоль и перейдите к исходному коду ядра.
3 Импортируйте текущую конфигурацию ядра
4 Откройте ядро menuconfig
5 Добавьте поддержку фиктивного сетевого драйвера
Перейдите к
Device Drivers
->Network device support
(!) Если у вас есть звездочка рядом с «Поддержка драйвера сетевого ядра», вы можете пропустить шаги 7 и 9.
6 Скомпилируйте ядро
Где (n + 1) = количество ядер процессора плюс одно, используемое для ускорения компиляции. Для четырех ядер используйте make -j5.
7 Установите новое ядро
8 Установите модули
9 Загрузите новое ядро
Определение VIPA (часть о загрузке модуля и ifcfg-dummy0): http://wiki.linuxvm.org/wiki/Defining_a_VIPA
Настройка статических IP-адресов: https://www.linode.com/wiki/index.php/Configure_Static_IPs
openSUSE 12.3 и установка новых версий ядра Linux с сайта kernel.org: http://forums.opensuse.org/blogs/jdmcdaniel3/opensuse-install-new-linux-kernel-versions-134/
OpenSUSE 11.2 - Как скомпилировать ядро для новичков : http://linuxtweaking.blogspot.dk/2010/04/opensuse-112-how-to-compile-kernel-for.html
источник
Создать виртуальный интерфейс
Создать файл ifcfg-wlan0: 0
Добавьте в файл ifcfg-wlan0: 0:
Команды для активации интерфейса
Примечание. Выключение основного интерфейса также отключает все его псевдонимы. Псевдонимы могут быть отключены независимо от других интерфейсов.
Проверьте, работает ли интерфейс
Это даст вам аналогичный вывод.
http://forums.opensuse.org/english/get-technical-help-here/network-internet/461132-os-11-4-network-manager-default-connection-can-handle-virtual-interfaces.html# post2350426
источник