LINUX.ORG.RU

Раздача на wi-fi смартфон


0

1

В разных источниках указано, что штатный способ раздачи через Network Manager работает. У меня почему-то нет. Создаю новое соединение... и смартфон видит все соседское, но не мою сеть. Ни с шифрованием, ни без. Никак.

Как настроить такую раздачу и почему этот способ не работает?

Ответ на: комментарий от generator

конкретнее можно? «роутера» нет. Инет попадает на ПК через кабель (dsl). Я о раздаче с помощью линукса (Network Manager) http://s6.hostingkartinok.com/uploads/images/2013/11/8021ee5b1686a97fd8a29f15...

Вот по этому примеру http://www.egormironov.com/2011/01/wi-fi-ubuntu-1010.html

Но там выбрано «точка-точка», а у меня (на украинском) — «Инфраструктура».

Bugs-Bunny
() автор топика
Ответ на: комментарий от Bugs-Bunny

Ой, это я не выспался, похоже. Показалось, что наоборот смартфон раздаёт интернеты.

generator ★★★
()
Ответ на: комментарий от menzoberronzan

читал, через network manager получается. У меня не идет. Смартфон не видит сети.

Делал еще примерно так http://ubuntovod.ru/instructions/vremennaya-tochka-dostupa.html

Смартфон сеть видел, на этапе подключения останавливалось на «Получение IP адреса. Ушел по делам. Вернулся. Подключается окончательно. Но страница долго грузится... не загружается и — „время истекло“ — подключение уже есть, но что-то блокирует выход в инет.

Bugs-Bunny
() автор топика
Ответ на: комментарий от Bugs-Bunny
wlan0: STA 58:a2:b5:c4:1b:af WPA: pairwise key handshake completed (RSN)
AP-STA-DISCONNECTED 58:a2:b5:c4:1b:af
wlan0: STA 58:a2:b5:c4:1b:af IEEE 802.11: disassociated
wlan0: STA 58:a2:b5:c4:1b:af IEEE 802.11: deauthenticated due to inactivity
wlan0: STA 58:a2:b5:c4:1b:af IEEE 802.11: authenticated
wlan0: STA 58:a2:b5:c4:1b:af IEEE 802.11: associated (aid 1)
AP-STA-CONNECTED 58:a2:b5:c4:1b:af
wlan0: STA 58:a2:b5:c4:1b:af RADIUS: starting accounting session 52935B78-00000002
wlan0: STA 58:a2:b5:c4:1b:af WPA: pairwise key handshake completed (RSN)
Bugs-Bunny
() автор топика
Ответ на: комментарий от Bugs-Bunny

Надо включить forwarding и iptables на nat настроить. Хотя мб network manager все это и так делает.
Лучше все таки hostapd+dhcp server+iptables. Все прозрачно, безо всяких гуев и надежно.

menzoberronzan
()
Ответ на: комментарий от menzoberronzan

если я правильно понял, то еще в андроиде нужно в настройках сети вводить статический адрес:

To make and Android detect your wifi hotspot.
Goto the wifi settings press the options key ( the left most key)
Select Advanced>Use Static IP
Give the IP address as something between 10.10.0.2 to 10.10.0.16
Gateway the same IP as your PC, In this case it is 10.10.0.1
Netmask as 255.255.255.0
DNS1 as 8.8.4.4
DNS2 as 8.8.8.8
http://thebeautifullmind.com/2012/09/19/sharing-internet-over-wifi-between-ub...

Не нашел у себя в андроиде возможности вводить адреса вручную. Вот дела...

Bugs-Bunny
() автор топика
Ответ на: комментарий от Bugs-Bunny

оно там есть, wifi -> изменить сеть -> показать дополнительные параметры -> настройки ip -> статические адрес.
Но лучше подними какой нить dhcp сервер, например isc-dhcp-server и можно будет не прописывать статически

menzoberronzan
()
Ответ на: комментарий от menzoberronzan

wifi -> изменить сеть -> показать дополнительные параметры -> настройки ip -> статические адрес

точно есть, нашел — при вводе пароля для нового соединения и при изменении параметров существующего.

В общем, получилось создать соединение. Но есть два нюанса. Первый. Нужно запускать вручную на ПК в терминале: «sudo hostapd /etc/hostapd/hostapd.conf» и оно висит пока не выполнишь «CTRL+C», когда нужно отключить. Второй. Правила iptables. У меня стоит GUFW со своими стандартными правилами, и не пускает смартфон в инет. Приходится отключать. Хотелось бы все автоматом при включении ПК. Ну, «скриптик» на автозапуск я сделаю. Но пока с iptables не знаю что, какое правило добавить к существующим.

По первому
/etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211
ssid=my_hotspot
channel=1
hw_mode=g
auth_algs=1
wpa=3
wpa_passphrase=1234567890
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

/etc/default/isc-dhcp-server

INTERFACES="wlan0"

/etc/dhcp/dhcpd.conf

ddns-update-style none;

# option definitions common to all supported networks...
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;
#default-lease-time 600;
#max-lease-time 7200;

subnet 10.10.0.0 netmask 255.255.255.0 {
        range 10.10.0.2 10.10.0.16;
        option domain-name-servers 8.8.4.4, 208.67.222.222;
        option routers 10.10.0.1;
}

/etc/default/hostapd

RUN_DAEMON="yes"
DAEMON_CONF="/etc/hostapd/hostapd.conf"
DAEMON_OPTS="-dd"

/etc/network/interfaces

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
 address 10.10.0.1
 netmask 255.255.255.0

/etc/sysctl.conf

net.ipv4.ip_forward=1

По второму.

iptables -t nat -A POSTROUTING -s 10.10.0.0/16 -o ppp0 -j MASQUERADE

iptables-save

# Generated by iptables-save v1.4.12 on Tue Nov 26 10:27:47 2013
*nat
:PREROUTING ACCEPT [4330:425878]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [589:36560]
:POSTROUTING ACCEPT [589:36560]
-A POSTROUTING -s 10.10.0.0/16 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Tue Nov 26 10:27:47 2013
# Generated by iptables-save v1.4.12 on Tue Nov 26 10:27:47 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:ufw-after-forward - [0:0]
:ufw-after-input - [0:0]
:ufw-after-logging-forward - [0:0]
:ufw-after-logging-input - [0:0]
:ufw-after-logging-output - [0:0]
:ufw-after-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-before-input - [0:0]
:ufw-before-logging-forward - [0:0]
:ufw-before-logging-input - [0:0]
:ufw-before-logging-output - [0:0]
:ufw-before-output - [0:0]
:ufw-logging-allow - [0:0]
:ufw-logging-deny - [0:0]
:ufw-not-local - [0:0]
:ufw-reject-forward - [0:0]
:ufw-reject-input - [0:0]
:ufw-reject-output - [0:0]
:ufw-skip-to-policy-forward - [0:0]
:ufw-skip-to-policy-input - [0:0]
:ufw-skip-to-policy-output - [0:0]
:ufw-track-input - [0:0]
:ufw-track-output - [0:0]
:ufw-user-forward - [0:0]
:ufw-user-input - [0:0]
:ufw-user-limit - [0:0]
:ufw-user-limit-accept - [0:0]
:ufw-user-logging-forward - [0:0]
:ufw-user-logging-input - [0:0]
:ufw-user-logging-output - [0:0]
:ufw-user-output - [0:0]
-A INPUT -j ufw-before-logging-input
-A INPUT -j ufw-before-input
-A INPUT -j ufw-after-input
-A INPUT -j ufw-after-logging-input
-A INPUT -j ufw-reject-input
-A INPUT -j ufw-track-input
-A FORWARD -j ufw-before-logging-forward
-A FORWARD -j ufw-before-forward
-A FORWARD -j ufw-after-forward
-A FORWARD -j ufw-after-logging-forward
-A FORWARD -j ufw-reject-forward
-A OUTPUT -j ufw-before-logging-output
-A OUTPUT -j ufw-before-output
-A OUTPUT -j ufw-after-output
-A OUTPUT -j ufw-after-logging-output
-A OUTPUT -j ufw-reject-output
-A OUTPUT -j ufw-track-output
-A ufw-after-input -p udp -m udp --dport 137 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 138 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 139 -j ufw-skip-to-policy-input
-A ufw-after-input -p tcp -m tcp --dport 445 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 67 -j ufw-skip-to-policy-input
-A ufw-after-input -p udp -m udp --dport 68 -j ufw-skip-to-policy-input
-A ufw-after-input -m addrtype --dst-type BROADCAST -j ufw-skip-to-policy-input
-A ufw-after-logging-forward -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-after-logging-input -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-before-forward -j ufw-user-forward
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-input -m state --state RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-input -m state --state INVALID -j ufw-logging-deny
-A ufw-before-input -m state --state INVALID -j DROP
-A ufw-before-input -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A ufw-before-input -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A ufw-before-input -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A ufw-before-input -j ufw-not-local
-A ufw-before-input -d 224.0.0.251/32 -p udp -m udp --dport 5353 -j ACCEPT
-A ufw-before-input -d 239.255.255.250/32 -p udp -m udp --dport 1900 -j ACCEPT
-A ufw-before-input -j ufw-user-input
-A ufw-before-output -o lo -j ACCEPT
-A ufw-before-output -m state --state RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -j ufw-user-output
-A ufw-logging-allow -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW ALLOW] "
-A ufw-logging-deny -m state --state INVALID -m limit --limit 3/min --limit-burst 10 -j RETURN
-A ufw-logging-deny -m limit --limit 3/min --limit-burst 10 -j LOG --log-prefix "[UFW BLOCK] "
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP
-A ufw-skip-to-policy-forward -j DROP
-A ufw-skip-to-policy-input -j DROP
-A ufw-skip-to-policy-output -j ACCEPT
-A ufw-track-output -p tcp -m state --state NEW -j ACCEPT
-A ufw-track-output -p udp -m state --state NEW -j ACCEPT
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT
COMMIT
# Completed on Tue Nov 26 10:27:47 2013

Bugs-Bunny
() автор топика

Возможно линуксовый драйвер не может в soft ap, дайте вывод lsusb и lspci. Вполне возможно, что soft ap заработает после установки виндового драйвера через NDISwrapper, также удостоверьтесь, что подключены все нужные плагины Network Manager'а и его версия поддерживает soft ap.

newpunkies
()
Ответ на: комментарий от Bugs-Bunny

По 1 вопросу:
/etc/init.d/hostapd скрипт автозапуска присутствует? Если да, добавь его в автозагрузку.
По 2 вопросу:
Я не такой уж большой спец по iptables, но попробуй добавить:

Пропускаем уже установленные соединения, кроме соединений извне

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
iptables -I FORWARD -i ppp0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT
Пропускаем пакеты из wlan0
iptables -I FORWARD -i wlan0 -o ppp0 -j ACCEPT
Ну и nat у тебя уже включен:
-A POSTROUTING -t nat -s 10.10.0.0/16 -j MASQUERADE

Скорее всего эти правила можно добавить и через GUFW, но я с этим зверем не сталкивался.

menzoberronzan
()
Ответ на: комментарий от newpunkies

способ с поднятием dhcp3-server, isc-dhcp-server и hostapd работает, а через network-manager нет — смарт не видит созданную сеть.

А какие плагины Network Manager'а в моем случае нужные? И как узнать, поддерживает ли его версия soft ap?

Вопрос уже не сильно актуальный, но с Network Manager'ом было бы удобнее.

Bugs-Bunny
() автор топика
Ответ на: комментарий от menzoberronzan

Скорее всего эти правила можно добавить и через GUFW

Кажется, что нет. Самые простые есть: куда, кто (сервис, программа), порт, IP.

http://hkar.ru/mmWr

http://hkar.ru/mmWs

http://hkar.ru/mmWt

Сейчас буду пробовать добавлять ваши правила.

/etc/init.d/hostapd присутствует. И в /etc/rc*d ссылки стоят. Я ошибся. Загружается само и раздает. Еще iptables буду мучать.

Bugs-Bunny
() автор топика
Ответ на: комментарий от rictb

установлены dnsmasq и dnsmasq-base, а dnsmasq-utils нет, но может и не нужно, если и так раздает по второму способу (писал выше).

Bugs-Bunny
() автор топика
Ответ на: комментарий от menzoberronzan

Спасибо, достаточно двух правил, и работает.

iptables -I FORWARD -i ppp0 -o wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -I FORWARD -i wlan0 -o ppp0 -j ACCEPT

и само собой

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

На счет автостарта (/etc/init.d и /etc/rc*d), hostapd там есть, но не срабатывает после перезагрузки системы. Теперь пробовал. Смарт увидел сеть только после «/etc/init.d/hostapd start/restart». Не знаю, почему принудительно хочет.

Bugs-Bunny
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.