Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: связка hostapd+dnsmasq+iptables  (Прочитано 1206 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
связка hostapd+dnsmasq+iptables
« : 01 Мая 2013, 13:28:26 »
всем доброго времени суток.

помогите плиз настроить вышеуказанную связку.
hostpad работает, точка доступа видна, но понятное дело устроийство-клиент адрес не получает.
вот ifconfig:
eth0      Link encap:Ethernet  HWaddr 00:22:4d:9d:e2:71
          inet6 addr: fe80::222:4dff:fe9d:e271/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:86523 errors:0 dropped:0 overruns:0 frame:0
          TX packets:148855 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11922923 (11.9 MB)  TX bytes:50581006 (50.5 MB)
          Interrupt:16 Memory:d0220000-d0240000

eth1      Link encap:Ethernet  HWaddr 00:22:4d:9d:e2:75
          inet addr:192.168.11.1  Bcast:192.168.11.63  Mask:255.255.255.192
          inet6 addr: fe80::222:4dff:fe9d:e275/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2961 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6339 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:523733 (523.7 KB)  TX bytes:2238573 (2.2 MB)
          Interrupt:17 Memory:d0120000-d0140000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3326 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3326 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:442999 (442.9 KB)  TX bytes:442999 (442.9 KB)

mon.wlan1 Link encap:UNSPEC  HWaddr 08-60-6E-CF-77-17-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:119 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:9432 (9.4 KB)  TX bytes:0 (0.0 B)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:92.100.223.136  P-t-P:91.122.160.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:85941 errors:0 dropped:0 overruns:0 frame:0
          TX packets:148826 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:9648520 (9.6 MB)  TX bytes:46716442 (46.7 MB)

wlan1     Link encap:Ethernet  HWaddr 08:60:6e:cf:77:17
          inet6 addr: fe80::a60:6eff:fecf:7717/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:2 overruns:0 frame:0
          TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3852 (3.8 KB)  TX bytes:4634 (4.6 KB)
iwconfig
root@ubuntu:~# iwconfig
mon.wlan1  IEEE 802.11bgn  Mode:Monitor  Frequency:2.447 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

wlan1     IEEE 802.11bgn  Mode:Master  Frequency:2.447 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

ppp0      no wireless extensions.

eth0      no wireless extensions.

eth1      no wireless extensions.

lo        no wireless extensions.
я пробовал настраивать по этому how-to: https://forum.ubuntu.ru/index.php?topic=61834
установил bridge-utils, сконфигурировал интерфейсы следующим образом:
# The loopback network interface
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0
iface eth0 inet manual

auto eth1
iface eth1 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

auto wlan1
iface wlan0 inet manual
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

auto br0
iface br0 inet static
address 192.168.11.1
network 192.168.11.0
netmask 255.255.255.192
broadcast 192.168.11.63
bridge-ports wlan1 eth1
т.к. dnsmasq выдавал адреса на адресе 192.168.11.1 я ничего не стал менять его конфиге.
в правилах iptables, все что относилось к eth1 изменил на br0.
вот iptables-save:
# Generated by iptables-save v1.4.12 on Wed May  1 13:25:37 2013
*mangle
:PREROUTING ACCEPT [154508:17443115]
:INPUT ACCEPT [142691:13809060]
:FORWARD ACCEPT [6928:2912729]
:OUTPUT ACCEPT [231396:81632731]
:POSTROUTING ACCEPT [245649:85615896]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Wed May  1 13:25:37 2013
# Generated by iptables-save v1.4.12 on Wed May  1 13:25:37 2013
*nat
:PREROUTING ACCEPT [8384:649768]
:INPUT ACCEPT [6550:445068]
:OUTPUT ACCEPT [36578:2960313]
:POSTROUTING ACCEPT [154:13067]
-A PREROUTING -m state --state RELATED,ESTABLISHED -j ACCEPT
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.11.5:3389
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed May  1 13:25:37 2013
# Generated by iptables-save v1.4.12 on Wed May  1 13:25:37 2013
*filter
:INPUT DROP [11080:1342860]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [231456:81638779]
-A INPUT -p icmp -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 8112,6990 -j ACCEPT
-A INPUT -p udp -m udp --dport 6990 -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -i eth1 -o ppp0 -j ACCEPT
-A FORWARD -j LOG --log-prefix "IPT-FORWARD "
COMMIT
но все это не помогло, хосты перестали получать адреса, и мне пришлось подключать монитор к роутеру, чтобы откатиться назад.
подскажите, в чем я мог ошибиться?

« Последнее редактирование: 02 Мая 2013, 13:03:26 от kolesov »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: связка hostpad+dnsmasq+iptables
« Ответ #1 : 01 Мая 2013, 13:37:36 »
Для проверки измените политики filter/INPUT и filter/FORWARD на ACCEPT.

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #2 : 01 Мая 2013, 14:24:35 »
попробовал. никаких изменений.
устройство клиент видит ТД, но не получает ip, если на клиенте вписать руками сеть, то шлюз пингуется, все остальное нет, включая ip ppp0.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: связка hostpad+dnsmasq+iptables
« Ответ #3 : 01 Мая 2013, 14:30:11 »
попробовал. никаких изменений.
устройство клиент видит ТД, но не получает ip
Значит, надо проверять статус и ковырять конфиг DHCP-сервера.

если на клиенте вписать руками сеть, то шлюз пингуется, все остальное нет, включая ip ppp0.
На шлюзе:
sysctl net.ipv4.ip_forward?

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #4 : 01 Мая 2013, 14:36:28 »
1все верно. надо было указать интерфейс на котором слушает dhcp-сервер.
« Последнее редактирование: 01 Мая 2013, 16:28:17 от kolesov »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #5 : 01 Мая 2013, 21:14:38 »
Цитировать
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down
Зачем этот бред?...
wlan1 уберите из бриджа - hostapd сам его добавит, вам только надо его правильно настроить.
« Последнее редактирование: 01 Мая 2013, 23:36:49 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #6 : 01 Мая 2013, 21:51:41 »
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

вы предлагаете это убрать и для wlan1 и для eth1?

bridge-ports wlan1 eth1отсюда wlan1 убрать?

что надо указать в конфе hostapd?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #7 : 01 Мая 2013, 22:57:31 »
up ifconfig $IFACE 0.0.0.0 up
up ip link set $IFACE promisc on
down ip link set $IFACE promisc off
down ifconfig $IFACE down

вы предлагаете это убрать и для wlan1 и для eth1?
Я спросил, зачем это всё написано, я ничего не предлагал. Если ни вы, ни автор статьи, с которой вы это срисовали, не в состоянии вразумительно объяснить, нахрена такая портянка нарисована, тогда убрать.

Цитировать
что надо указать в конфе hostapd?
Имя бриджа, в который надо добавить интерфейс при включении.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #8 : 01 Мая 2013, 23:07:03 »
#Предупреждение: 10%, флуд
#truegeek
« Последнее редактирование: 01 Мая 2013, 23:51:54 от truegeek »
Wars ~.o

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #9 : 02 Мая 2013, 00:41:58 »
Цитировать
Я спросил, зачем это всё написано, я ничего не предлагал. Если ни вы, ни автор статьи, с которой вы это срисовали, не в состоянии вразумительно объяснить, нахрена такая портянка нарисована, тогда убрать.
ну да, мне это тоже странным показалось.

Цитировать
Имя бриджа, в который надо добавить интерфейс при включении.
где именно это нужно добавлять? вот hostapd.conf
interface=wlan0
driver=nl80211
ssid=red
auth_algs=1
country_code=RU
hw_mode=g
channel=8
ignore_broadcast_ssid=0
macaddr_acl=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=Password
rsn_pairwise=CCMP
#ctrl_interface=/var/run/hostapd

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #10 : 02 Мая 2013, 01:14:04 »
interface=wlan0

вот ifconfig:
mon.wlan1 Link encap:UNSPEC  HWaddr 08-60-6E-CF-77-17-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:119 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:9432 (9.4 KB)  TX bytes:0 (0.0 B)

wlan1     Link encap:Ethernet  HWaddr 08:60:6e:cf:77:17
          inet6 addr: fe80::a60:6eff:fecf:7717/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:2 overruns:0 frame:0
          TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3852 (3.8 KB)  TX bytes:4634 (4.6 KB)
iwconfig
root@ubuntu:~# iwconfig
mon.wlan1  IEEE 802.11bgn  Mode:Monitor  Frequency:2.447 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

wlan1     IEEE 802.11bgn  Mode:Master  Frequency:2.447 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off


Вам ничто странным не кажется в этих цитатах?

Цитировать
Имя бриджа, в который надо добавить интерфейс при включении.
где именно это нужно добавлять?

bridge=br0 (например)

http://wireless.kernel.org/en/users/Documentation/hostapd#hostapd_Linux_documentation_page
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: связка hostpad+dnsmasq+iptables
« Ответ #11 : 02 Мая 2013, 10:04:20 »
Цитировать
Вам ничто странным не кажется в этих цитатах?
разве только то, что имена интерфейсов разные, но wi-fi сейчас wlan0.

Помогите разобраться с автозапуском hostapd. У меня точка доступа начинает работать только после манипуляций в следующей последовательности:
1./etc/init.d/hostapd start
2. /etc/init.d/networking restart
после этого клиент цепляется к ТД, получает IP, инет и т.д.

практически во всех how to по hostapd говориться, что надо указать параметр RUN_DAEMON="yes" /etc/default/hostapd, но у меня в этом файле этого параметра вообще не было (RUN_DAEMON=""). я вписал его руками: RUN_DAEMON="yes", но это ни к чему не привело.
« Последнее редактирование: 02 Мая 2013, 11:01:04 от kolesov »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Re: связка hostapd+dnsmasq+iptables
« Ответ #12 : 02 Мая 2013, 18:00:19 »
разве только то, что имена интерфейсов разные, но wi-fi сейчас wlan0.
Знаете, очень сложно что-то советовать, когда вы меняете ситуацию на ходу и не считаете нужным даже упомянуть об этом. С какого перепугу у интерфейса вдруг поменялось имя? Это ненормально.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн kolesov

  • Автор темы
  • Участник
  • *
  • Сообщений: 199
    • Просмотр профиля
Re: связка hostapd+dnsmasq+iptables
« Ответ #13 : 03 Мая 2013, 16:08:11 »
в общем удалось придти к тому, что hostapd теперь стартует автоматом, ТД раздает инет, а клиенты получают адреса и т.д.
ниже приведу свои конфиги
hostapd
interface=wlan0
bridge=br0
driver=nl80211
ssid=red
auth_algs=1
country_code=RU
hw_mode=g
channel=8
ignore_broadcast_ssid=0
macaddr_acl=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=PasSwoRd
rsn_pairwise=CCMP
#ctrl_interface=/var/run/hostapd
interfaces
auto lo
iface lo inet loopback

auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider

auto eth0
iface eth0 inet manual

auto wlan0
iface wlan0 inet manual

auto eth1
iface eth1 inet manual

auto br0
iface br0 inet static
address 192.168.11.1
network 192.168.11.0
netmask 255.255.255.192
broadcast 192.168.11.63
bridge-ports eth1 wlan0
существующий скрипт /etc/init.d/hostapd назначен исполняемым и добавлен в автозагрузку,
там где в нем параметр DAEMON_CONF=/местонахождение/hostapd.conf

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28479
    • Просмотр профиля
Re: связка hostapd+dnsmasq+iptables
« Ответ #14 : 03 Мая 2013, 18:36:23 »
DAEMON_CONF надо было в /etc/defaults/... писать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.092 секунд. Запросов: 25.