1

Устанавливаем wpa_supplicant , kernel-firmware и kernel-firmware-nonfree, или ложим фирмварники в /lib/firmware.
Устанавливаем dnsmasq и hostapd.
После установки правим конфиги:
/etc/hostapd/hostapd.conf
Удаляем из него всё и пишем следующее:

interface=wlan0
driver=nl80211
hw_mode=g
channel=11
ssid=LinuxSoftAP #Имя сети(любое)
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_passphrase=12345678 #пароль

Сохраняем изменения.
Правим конфиг /etc/dnsmasq.conf, нужно раскоментировать строки

domain-needed
bogus-priv
dhcp-range=192.168.0.50,192.168.0.150,255.255.255.0,12h

Раскоментить и дописать

interface=wlan0
listen-address=192.168.0.1

Сохранить изменения.
Нужно убедится что сервис dnsmasq стартует при загрузки системы, для этого идем в MCC( Центр управления Mageia) =>Система => Включение и отключение системных сервисов => ищем dnsmasq и смотрим установлена ли галочка на Призагрузке системы, если нет - ставим.

Далее идём в /etc/sysconfig/network-scripts и правим ifcfg-wlan0, если нет то создаём

Консоль
touch ifcfg-wlan0

пишем в него

DEVICE=wlan0
BOOTPROTO=static
IPADDR=192.168.0.1
NETMASK=255.255.255.0
ONBOOT=yes
METRIC=35

Перезагружаем комп или перезапускаем сервисы

Консоль
service hostapd restart

Консоль
service dnsmasq restart

Смотрим ifconfig и iwconfig, должны появиться интерфейсы mon.wlan0 и wlan0
Консоль
mon.wlan0 Link encap:UNSPEC  HWaddr F8-D1-11-19-F3-70-70-6D-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:152 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:11840 (11.5 KiB)  TX bytes:0 (0.0 b)

wlan0     Link encap:Ethernet  HWaddr F8:D1:11:19:F3:70
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:96 errors:0 dropped:5 overruns:0 frame:0
          TX packets:71 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7817 (7.6 KiB)  TX bytes:13357 (13.0 KiB)


Консоль
wlan0     IEEE 802.11bgn  Mode:Master  Frequency:2.462 GHz  Tx-Power=20 dBm
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off

Mode:Master адаптер в режиме ТД.
Идём в MCC( Центр управления Mageia) => Безопасность => Настройка персонального файервола или совсем отключаем файервол, или снимаем галки с интерфейсов mon.wlan0 и wlan0, иначе DHCP, IP не раздаёт подключаемым устройствам.

Теперь небольшая проблема с iptables.
Судя по скрипту iptables, конфиг должен сохраняться в

IPTABLES_CONFIG=/etc/sysconfig/iptables

Прописываю правила для него и сохраняю

Консоль
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
iptables-save >/etc/sysconfig/iptables

Конфиг появляется

iptables
# Generated by iptables-save v1.4.12.2 on Mon Dec 10 00:36:24 2012
*raw
:PREROUTING ACCEPT [48384:11120223]
:OUTPUT ACCEPT [46008:6785316]
COMMIT
# Completed on Mon Dec 10 00:36:24 2012
# Generated by iptables-save v1.4.12.2 on Mon Dec 10 00:36:24 2012
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Dec 10 00:36:24 2012
# Generated by iptables-save v1.4.12.2 on Mon Dec 10 00:36:24 2012
*mangle
:PREROUTING ACCEPT [48384:11120223]
:INPUT ACCEPT [48330:11116983]
:FORWARD ACCEPT [54:3240]
:OUTPUT ACCEPT [46008:6785316]
:POSTROUTING ACCEPT [46258:6836858]
:tcfor - [0:0]
:tcin - [0:0]
:tcout - [0:0]
:tcpost - [0:0]
:tcpre - [0:0]
-A PREROUTING -j tcpre
-A INPUT -j tcin
-A FORWARD -j MARK --set-xmark 0x0/0xff
-A FORWARD -j tcfor
-A OUTPUT -j tcout
-A POSTROUTING -j tcpost
COMMIT
# Completed on Mon Dec 10 00:36:24 2012
# Generated by iptables-save v1.4.12.2 on Mon Dec 10 00:36:24 2012
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:Broadcast - [0:0]
:Drop - [0:0]
:Ifw - [0:0]
:Invalid - [0:0]
:NotSyn - [0:0]
:Reject - [0:0]
:dynamic - [0:0]
:fw2loc - [0:0]
:fw2net - [0:0]
:loc2fw - [0:0]
:loc2net - [0:0]
:loc_frwd - [0:0]
:logdrop - [0:0]
:logreject - [0:0]
:mon.wlan0_fwd - [0:0]
:net2fw - [0:0]
:net2loc - [0:0]
:reject - [0:0]
:sfilter - [0:0]
:shorewall - [0:0]
:wlan0_fwd - [0:0]
-A INPUT -j Ifw
-A INPUT -m conntrack --ctstate INVALID,NEW -j dynamic
-A INPUT -i eth0 -j net2fw
-A INPUT -i wlan0 -j loc2fw
-A INPUT -i mon.wlan0 -j loc2fw
-A INPUT -i lo -j ACCEPT
-A INPUT -j Reject
-A INPUT -j LOG --log-prefix "Shorewall:INPUT:REJECT:" --log-level 6
-A INPUT -g reject
-A FORWARD -i eth0 -o wlan0 -j net2loc
-A FORWARD -i eth0 -o mon.wlan0 -j net2loc
-A FORWARD -i wlan0 -j wlan0_fwd
-A FORWARD -i mon.wlan0 -j mon.wlan0_fwd
-A FORWARD -j Reject
-A FORWARD -j LOG --log-prefix "Shorewall:FORWARD:REJECT:" --log-level 6
-A FORWARD -g reject
-A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o wlan0 -j ACCEPT
-A OUTPUT -o eth0 -j fw2net
-A OUTPUT -o wlan0 -j fw2loc
-A OUTPUT -o mon.wlan0 -j fw2loc
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -j Reject
-A OUTPUT -j LOG --log-prefix "Shorewall:OUTPUT:REJECT:" --log-level 6
-A OUTPUT -g reject
-A Broadcast -m addrtype --dst-type BROADCAST -j DROP
-A Broadcast -m addrtype --dst-type MULTICAST -j DROP
-A Broadcast -m addrtype --dst-type ANYCAST -j DROP
-A Broadcast -d 224.0.0.0/4 -j DROP
-A Drop
-A Drop -p tcp -m tcp --dport 113 -m comment --comment Auth -j reject
-A Drop -j Broadcast
-A Drop -p icmp -m icmp --icmp-type 3/4 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Drop -p icmp -m icmp --icmp-type 11 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Drop -j Invalid
-A Drop -p udp -m multiport --dports 135,445 -m comment --comment SMB -j DROP
-A Drop -p udp -m udp --dport 137:139 -m comment --comment SMB -j DROP
-A Drop -p udp -m udp --sport 137 --dport 1024:65535 -m comment --comment SMB -j DROP
-A Drop -p tcp -m multiport --dports 135,139,445 -m comment --comment SMB -j DROP
-A Drop -p udp -m udp --dport 1900 -m comment --comment UPnP -j DROP
-A Drop -p tcp -j NotSyn
-A Drop -p udp -m udp --sport 53 -m comment --comment "Late DNS Replies" -j DROP
-A Ifw -m set --match-set ifw_wl src -j RETURN
-A Ifw -m set --match-set ifw_bl src -j DROP
-A Ifw -m state --state INVALID,NEW -m psd--psd-weight-threshold 10 --psd-delay-threshold 10000 --psd-lo-ports-weight 2 --psd-hi-ports-weight 1  -j IFWLOG--log-prefix "SCAN"
-A Ifw -p tcp -m state --state NEW -m multiport --dports 6881:6999 -j IFWLOG--log-prefix "NEW"
-A Invalid -m conntrack --ctstate INVALID -j DROP
-A NotSyn -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A Reject
-A Reject -p tcp -m tcp --dport 113 -m comment --comment Auth -j reject
-A Reject -j Broadcast
-A Reject -p icmp -m icmp --icmp-type 3/4 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Reject -p icmp -m icmp --icmp-type 11 -m comment --comment "Needed ICMP types" -j ACCEPT
-A Reject -j Invalid
-A Reject -p udp -m multiport --dports 135,445 -m comment --comment SMB -j reject
-A Reject -p udp -m udp --dport 137:139 -m comment --comment SMB -j reject
-A Reject -p udp -m udp --sport 137 --dport 1024:65535 -m comment --comment SMB -j reject
-A Reject -p tcp -m multiport --dports 135,139,445 -m comment --comment SMB -j reject
-A Reject -p udp -m udp --dport 1900 -m comment --comment UPnP -j DROP
-A Reject -p tcp -j NotSyn
-A Reject -p udp -m udp --sport 53 -m comment --comment "Late DNS Replies" -j DROP
-A fw2loc -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A fw2loc -j ACCEPT
-A fw2net -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A fw2net -j ACCEPT
-A loc2fw -m conntrack --ctstate INVALID,NEW -j dynamic
-A loc2fw -m conntrack --ctstate INVALID,NEW -j dynamic
-A loc2fw -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A loc2fw -j ACCEPT
-A loc2net -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A loc2net -j ACCEPT
-A loc_frwd -o eth0 -j loc2net
-A loc_frwd -o wlan0 -j ACCEPT
-A loc_frwd -o mon.wlan0 -j ACCEPT
-A logdrop -j DROP
-A logreject -j reject
-A mon.wlan0_fwd -o mon.wlan0 -g sfilter
-A mon.wlan0_fwd -m conntrack --ctstate INVALID,NEW -j dynamic
-A mon.wlan0_fwd -j loc_frwd
-A net2fw -m conntrack --ctstate INVALID,NEW -j dynamic
-A net2fw -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A net2fw -p tcp -m tcp --dport 6881:6999 -j ACCEPT
-A net2fw -j Drop
-A net2fw -j LOG --log-prefix "Shorewall:net2fw:DROP:" --log-level 6
-A net2fw -j DROP
-A net2loc -o eth0 -g sfilter
-A net2loc -m conntrack --ctstate INVALID,NEW -j dynamic
-A net2loc -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A net2loc -j Drop
-A net2loc -j LOG --log-prefix "Shorewall:net2loc:DROP:" --log-level 6
-A net2loc -j DROP
-A reject -m addrtype --src-type BROADCAST -j DROP
-A reject -s 224.0.0.0/4 -j DROP
-A reject -p igmp -j DROP
-A reject -p tcp -j REJECT --reject-with tcp-reset
-A reject -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject -p icmp -j REJECT --reject-with icmp-host-unreachable
-A reject -j REJECT --reject-with icmp-host-prohibited
-A sfilter -j LOG --log-prefix "Shorewall:sfilter:DROP:" --log-level 6
-A sfilter -j DROP
-A wlan0_fwd -o wlan0 -g sfilter
-A wlan0_fwd -m conntrack --ctstate INVALID,NEW -j dynamic
-A wlan0_fwd -j loc_frwd
COMMIT
# Completed on Mon Dec 10 00:36:24 2012

Всё работает... до перезагрузки.... после, ручками ввожу правила и опять всё работает.

Вот и вопрос, почему iptables не берёт из конфига правила? Или же сетевые интерфейсы поднимаются после iptables и к ним эти правила не применяются ввиду их отсутствия?
Я конечно понимаю что можно и скриптом всё это хозяйство запускать, но хотелось что бы при загрузке всё автоматом шло.

Mageia5, KDE  4.14.5
Спасибо сказали: Zomby1

2

Пробовал в rc.local эти правила писать, после загрузки вообще интернет перестает работать.

Mageia5, KDE  4.14.5

3

/etc/init.d/iptables save
MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================
Спасибо сказали: Zomby1

4

XliN пишет:
/etc/init.d/iptables save

и

Консоль
iptables-save >/etc/sysconfig/iptables

те же яйцы, только вид сбоку. smile то же самое сохраняются правила в /etc/sysconfig/iptables
Кто подскажет мне не умному, почему из этого конфига, после перезагрузки, маскарадинг не работает? Ввожу в консоль
Консоль
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

начинает работать.

Mageia5, KDE  4.14.5

5

А что у тебя показывает

cat /proc/sys/net/ipv4/ip_forward
MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

6

XliN пишет:

А что у тебя показывает

cat /proc/sys/net/ipv4/ip_forward

Включен,

Консоль
cat /proc/sys/net/ipv4/ip_forward
1

Mageia5, KDE  4.14.5

7

Не знаю.
1. Сейчас у себя добавил пробное тестовое правило.
2. проверил что оно добавилось iptables --list-rules
3. Сохранил /etc/init.d/iptables save

После перезапуска оно осталось.

MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

8

XliN⇓ пишет:

После перезапуска оно осталось.

Оставаться-то остаются, почему не применяются?
Сейчас попробую ребутнутся, ещё раз посмотрю.

Mageia5, KDE  4.14.5

9

а сделай еще

chkconfig iptables on

или

systemctl enable iptables.service
MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

10

XliN пишет:

а сделай еще

chkconfig iptables on

или

systemctl enable iptables.service

Консоль
chkconfig iptables on
Note: Forwarding request to 'systemctl enable iptables.service'.

включил
Консоль
systemctl enable iptables.service

Mageia5, KDE  4.14.5

11

Всё равно выдаёт

Консоль
chkconfig iptables on
Note: Forwarding request to 'systemctl enable iptables.service'.

Mageia5, KDE  4.14.5

12

Gnom пишет:

Оставаться-то остаются, почему не применяются?

Вот это не поможет?

Глава 5, пункт 5.4

Mageia6, KDE, LXQt, x86_64.
Человек человеку - волк, а зомби зомби - зомби!
Спасибо сказали: Gnom1

13

Gnom пишет:

Всё равно выдаёт

Консоль
chkconfig iptables on
Note: Forwarding request to 'systemctl enable iptables.service'.

А

Консоль
service iptables start
?

Mageia6, KDE, LXQt, x86_64.
Человек человеку - волк, а зомби зомби - зомби!

14

Zomby⇓ пишет:

Вот это не поможет?Глава 5, пункт 5.4

Спасибо, не помогло smile

Zomby⇓ пишет:

А

Консоль
service iptables start
Starting iptables (via systemctl):                                                                           [   ОК  ]

Консоль
systemctl enable iptables.service

Консоль
chkconfig iptables on
Note: Forwarding request to 'systemctl enable iptables.service'.

ЗЫ. Наверно лыжи не едут big_smile

Mageia5, KDE  4.14.5

15

Дык, всё уже ж !

Gnom пишет:

Консоль
service iptables start
Starting iptables (via systemctl):                                                                           [   ОК  ]

Сервис стартовал (т.е. правила должны примениться).

А это команды для внесения сервиса iptables в автозагрузку:

XliN пишет:

а сделай еще

chkconfig iptables on

или

systemctl enable iptables.service

И они тоже уже отработали. Теперь после перезагрузки сервис поднимется автоматом (правила тоже должны примениться).

Mageia6, KDE, LXQt, x86_64.
Человек человеку - волк, а зомби зомби - зомби!

16 (2012-12-11 20:27:49 отредактировано Zomby)

Там же в пункте 2.3.2:

Для начала -- запишите правила в файл или непосредственно, через команду iptables, смотря что для вас предпочтительнее. Затем исполните команду iptables-save. Эта команда эквивалентна команде iptables-save > /etc/sysconfig/iptables. В результате, весь набор правил будет сохранен в файле /etc/sysconfig/iptables, который автоматически подгружается при запуске сервиса iptables. Другим способом сохранить набор правил будет подача команды

Консоль
service iptables save
, которая полностью идентична вышеприведенной команде. Впоследствии, при перезагрузке компьютера, сценарий iptables из rc.d будет выполнять команду iptables-restore для загрузки набора правил из файла /etc/sysconfig/iptables.

Mageia6, KDE, LXQt, x86_64.
Человек человеку - волк, а зомби зомби - зомби!

17

Zomby⇓ пишет:

Теперь после перезагрузки сервис поднимется автоматом (правила тоже должны примениться).

Я и сам понимаю что должны, но не применяются. После загрузки системы делаю

Консоль
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

начинает работать.


Zomby пишет:

Там же в пункте 2.3.2:

Для начала -- запишите правила в файл или непосредственно, через команду iptables, смотря что для вас предпочтительнее. Затем исполните команду iptables-save. Эта команда эквивалентна команде iptables-save > /etc/sysconfig/iptables. В результате, весь набор правил будет сохранен в файле /etc/sysconfig/iptables, который автоматически подгружается при запуске сервиса iptables. Другим способом сохранить набор правил будет подача команды

Консоль
service iptables save
, которая полностью идентична вышеприведенной команде.

Ну я вроде всё так и делал. и в файл записывал, и в консоль вводил, затем сохранял в конфиг.

Zomby пишет:

Впоследствии, при перезагрузке компьютера, сценарий iptables из rc.d будет выполнять команду iptables-restore для загрузки набора правил из файла /etc/sysconfig/iptables.

Ну вот не хочет после перезагрузки применять эти правила.

Может вся эта хрень из-за того что сетевые интерфесы поднимаются позже применения правил?

Mageia5, KDE  4.14.5

18

Короче лыжи не ехали smile Заработало.
Завтра, если время будет, напишу подробно что сделал, в shorewall поковырялся.

Mageia5, KDE  4.14.5

19

Правим /etc/shorewall/masq , добавляем в него

#INTERFACE    SOURCE     ADDDRESS    PROTO     PORT(S)   IPSEC      MARK
eth0         wlan0

После перезагрузки всё поднимается автоматом.
Если не очень хотим чтобы к нашей сети подключались нелегально соседи, по мимо шифрования, можно сделать фильтрацию по MAC адресам. Для этого редактируем для начала /etc/shorewall/interfaces добавляем в настройках локалки

loc    wlan0         detect          maclist

затем правим сам маклист /etc/shorewall/maclist пишем маки устройств

#DISPOSITION    INTERFACE        MAC            IP ADDRESSES (Optional)
ACCEPT           wlan0                12:34:56:78:90:00
ACCEPT           wlan0                12:34:56:78:90:00

где 12:34:56:78:90:00 MAC устройства, и так для каждого.

Перезапускаем shorewall

Консоль
shorewall restart


PS. Забыл блин... Надо ещё включить перенаправление пакетов, для этого в etc/sysctl.conf добавить строку

net.ipv4.ip_forward = 1

Правила iptables, которые были введены ранее, так и остались в конфиге iptables, я их не удалял.



Какие будут замечания\предложения?
Mageia5, KDE  4.14.5

20

Gnom пишет:

Какие будут замечания\предложения?

Больше внимания уделить описанию настроек /etc/hostapd/hostapd.conf - много там всякого...
Хотя я помучал, потом надоело, взял отдельную точку и стало не интересно.

21

zenon⇓ пишет:

Хотя я помучал, потом надоело, взял отдельную точку и стало не интересно.

Да вот то же хочу взять роутер,  финансы пока не позволяют.

Mageia5, KDE  4.14.5

22

Тут еще вот какой момент - wi-fi железо по Linux это надо ещё поискать стабильно работающее.
А если это сервер, то возникает желание - настроил и забыл.
Поменял несколько адаптеров (Asus/D-Link/Tp-Link), да, более-менее стабильной работы добился... но если сравнить сколько потрачено сил...
Также от софтовой точки не стоит ожидать большого радиуса охвата, чтобы его обеспечить опять придется тратится на приличную антенну.
Можно конечно и посамодельничать, но не для всех это, и самоделки в основном - направленные антенны, тут интерес прежде всего из-за того что направленные антенны для соединения удаленных точек действительно дорогое удовольствие.

23

zenon⇓ пишет:

Также от софтовой точки не стоит ожидать большого радиуса охвата,

По дому  хватает, мне больше и не надо.

zenon⇓ пишет:

тут интерес прежде всего из-за того что направленные антенны для соединения удаленных точек действительно дорогое удовольствие.

Ну есть же точки наружного исполнения, у меня сейчас вот такая http://www.tp-linkru.com/products/detai … TL-WA5210G, есть такого плана Nanostation, радиомосты NanoBridge http://ubntshop.com/en/products/point-t … -antennas/ http://www.o-t-s.ru/equipment_211.html

Mageia5, KDE  4.14.5

24

Gnom пишет:

По дому  хватает, мне больше и не надо.

У меня не хватило... smile

25

zenon⇓ пишет:

Хотя я помучал, потом надоело, взял отдельную точку и стало не интересно.

Gnom⇓ пишет:

Да вот то же хочу взять роутер,  финансы пока не позволяют.

Смотря что от роутера желать. У меня и за 1000р с небольшим TP-Link работает. А это уж можно себе позволить после зарплаты smile
Но мне от него только ТД wifi и нужна, на нем я даже dhcp выключил, ибо стоит вторым "в цепи", а перед ним adsl-роутер acorp за 700р (вроде бы), который делает все остальное.

Fedora & GNOME