Устанавливаем 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