Как да се повиши пълен Wi-Fi точка за достъп до Debian 7 - инструкции и уроци - форум на сървъра

Вдигнете висококачествен Wi-Fi точка за достъп на Debian 7
Малко фон.
Присъствах на организацията на точката за достъп (наричан по-просто TD) за дълго време, и у дома рутер е имало Wi-Fi. Имаше, разбира се, идеята да си купи "фантазия" устройство, така да се каже, "в предвид" и да забрави. Пазаруване и т.н. Не бях успешен - Позар аз kitayschinu, както и на най-добрите модели не изглеждаше дори. Жаба не е позволено.
И тогава ми хрумна друга идея. В крайна сметка, аз имам WiFi един PCI-карта и, ако те могат да вземат WiFi, а след това трябва да го разпространява. Без да се колебае, Poshukayte дъното на бъчвата, и аз се оказа на разположение на 2 карти:

Няма да описвам всички стъпки в олицетворение на заченат живот. Интернет търсене на фразата "Създаване на точка за достъп" даде много информация, от която аз се опитах почти всичко.
Първият разговор е опит за създаване на ТД на Windows 7 (XP е остаряла вече, както се оказва, не може това).
Резултатът в крайна сметка незадоволително. Слаб сигнал, три метра от връзката TD е загубен. Често без причина Изпуснах мрежа.

Вторият подход, по-успешни, е опит за създаване на ТД на Debian 7.
В крайна сметка: Сигналът не се губи целия апартамент. Мрежата е стабилна. Интернет е на разположение. Какво друго трябва да бъде нещо?
Но не ме удари този метод. Интернет е и ресурсите на локалната мрежа, не са пряко достъпни, тъй като TD имаше своя собствена мрежа, беше зад NAT. разстройство.

Малко теория.
хардуерната съвместимост
Както се оказа, не всеки Wi-Fi карта, може да работи в режим на Учителя, т.е. като TD. Китайски Noname веднага е назначен за проверка на мрежовата карта, защото на невзрачен вид и крехък antennki. Но DWL-G550 и погледна твърдо на външен вид, и в действителност имаше необходимите качества - успя да разпространявате Wi-Fi.

И как да се определи вече монтираното оборудване за работа в AP (Acsses Point английски -. Access Point)? Толкова е просто.
Отиди на конзолата (при нас на Дебиан, между другото, също така и за Ubuntu) и въведете командата:

$ Lspci -vnn | Впиши Ethernet
или #
$ Lspci -vnn | Впиши Wireless
# Или USB адаптер
$ Lsusb -vnn | Впиши Wireless

Аз карта се определя, както следва:

lspci -vnn | Впиши Wireless
00: 0a.0 Ethernet контролер # 91, # 93 0200;: Atheros Communications Inc. AR5212 / AR5213 Wireless Network Adapter # 91; 168в: 0013 # 93; (Rev 01)
Подсистема: D-Link System Inc D-Link DWL-G550 AirPremier Wireless PCI Adapter # 91; 1186: 3a18 # 93;

Устройството знам дали има драйвер, за да гледате:

dmesg | Впиши Atheros

Имам на водача, както следва:

dmesg | Впиши Atheros
# 91; 6.671101 # 93; ath5k phy0: Atheros AR2414 чип намерено (MAC: 0x79, PHY: 0x45)


ath5k е нашият водач. След това отидете на wireless.kernel.org на ресурсите (Потребители → → устройства PCI устройства ... в списъка на списък Device намерете и изберете ath5k.) И да разберете какво работи за нашето устройство и кое не е. След това трябва да се отнасят до масата «В момента поддържа PCI ID списък с съответния доклад за състоянието на основния тестване, както е определено по-горе», която по своята значимост PCI ID (това, което е написано в скоби в изхода от lspci -vnn | Впиши Wireless, т. т.е. в този пример - 168в :. 0013) знаем, че адаптера може да бъде, и това, което не е така. Ако установите, че по някаква причина ви книжка не поддържа AP режим - не се отчайвайте. В някои случаи, като например в случая с Atheros адаптер, можете да използвате друг водач, като Madwifi, което е вероятно да бъде функционална в режим AP, но има редица функции в унисон с hostapd.

Инсталиране и конфигуриране на софтуера.
Ще ни трябват минимум пакети:

ап-да инсталирате безжични инструменти мост-UTILS hostapd IW

Сега трябва да конфигурирате мрежовите интерфейси:

# Този файл описва интерфейсите на мрежата на разположение на вашата система
# И как да ги активирате. За повече информация, вижте интерфейси (5).

# Интерфейса-примка мрежа
авто ето
iface ето Инет примка

авто eth0
iface eth0 ръководство Инет

# Wireless Interface
iface ръководство wlan0 Инет
предварително на IW Дев wlan0 дел
предварително на IW PHY phy0 интерфейс добавите wlan0 тип __ap

# Bridge.
iface br0 Инет статично
адрес 192.168.1.122
мрежа 192.168.1.0
мрежова маска 255.255.255.0
излъчват 192.168.1.255
шлюз 192.168.1.1
DNS-сървърите на имената 192.168.1.1
bridge_ports eth0 wlan0


Ако искате да създадете този бизнес от разстояние, да бъдат внимателни, защото ако грешките трябва да се придържат към монитора сървър, клавиатурата и правилно след рестартиране на сървъра.

Сега сте задали hostapd, която "бичета" нашата карта Wi-Fi.
Посочете пътя до конфигурационния

# по подразбиране за hostapd initscript
#
# Вижте /usr/share/doc/hostapd/README.Debian информация за алтернативни
# методи за управление на hostapd.
#
# Разкоментирайте и задайте DAEMON_CONF до абсолютния път на конфигурация hostapd
# File и hostapd ще започне по време на зареждане на системата. Например конфигурация
# Файла може да се намери в /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
DAEMON_CONF = "/ и т.н. / hostapd / hostapd.conf"

# Допълнителни параметри демон да бъдат приложени към hostapd команда: -
# -d покажем повече за отстраняване на грешки на съобщения (-DD за още повече)
# К включва в основните данни за отстраняване на грешки на съобщения
# -t включват времеви отпечатъци в някои отстраняване на грешки съобщения
#
# Имайте предвид, че -B (режим демон) и Р (pidfile) опции са автоматично
# Конфигуриран от сценария на init.d и не трябва да се добавя към DAEMON_OPTS.
#
# DAEMON_OPTS = ""

# Интерфейс на нашите карти
интерфейс = wlan0
# Името на моста
мостови = br0
# Името на драйвера
шофьор = nl80211
# Код на държавата
COUNTRY_CODE = RU
# Включете национал
# роуминг разширения
ieee80211d = 1
# Работно време
hw_mode = грам
номер # Канал
канал = 11
# Регистър на всички модули
logger_syslog = -1
само # Информация
logger_syslog_level = 2
# Регистър на всички модули
logger_stdout = -1
само # Информация
logger_stdout_level = 2
#
dump_file = / TMP / hostapd.dump
#
ctrl_interface = / Var / серия / hostapd
#
ctrl_interface_group = 0
# Името на нашия TD
SSID = My Wlan
# Ако имате нужда да се скрие на определението
# Името на TD, комплект 1
ignore_broadcast_ssid = 0
#
auth_algs = 3
#
eapol_key_index_workaround = 0
#
eap_server = 0
#
WPA = 3
#
rsn_pairwise = CCMP
# Парола между 8 и 63 символа
wpa_passphrase = My_Big_Secret
wpa_key_mgmt = WPA-PSK
# По желание част
# Позволява филтриране по MAC, е допълнителна опция
macaddr_acl = 1
# Посочете файла със списък на разрешените MAC
# Свързване с нашия AP
# може само клиенти от списъка
accept_mac_file = / и т.н. / hostapd / приеме
#

В действителност файл настройки hostapd.conf може да бъде много повече и по различни начини.
Доколкото можех, донесе на основните параметри и настройки от масата.
Погледнете под спойлер.
спойлер

стойност по подразбиране

номера на канала (IEEE 802.11). Трябва да се отбележи, че някои шофьори (например madwifi) не използват стойността на hostapd като в този случай трябва да се определя индивидуално чрез iwconfig на полезност на канала.

macaddr_acl = 0
accept_mac_file = / и т.н. / hostapd.accept
deny_mac_file = / и т.н. / hostapd.deny

IEEE 802.11 описва два алгоритми за автентификация. hostapd може да работи и с двете. "Отворена система» (Open удостоверяване на системата) трябва да се използва с IEEE 802.1x. стойности:
0 = Open Удостоверяваща система
1 = споделен ключ удостоверяване (задължително WEP)

Изпращане на празно поле в съобщенията за излъчване SSID и да игнорира исканията на пациентите, потърсили името на AP. Т.е. на факта, че Wi-Fi рутери, се нарича "скрит точка за достъп" - клиентът трябва да знаете SSID за да се свържете.
1 = изпрати празен (дължина = 0) SSID и игнорира искания сонда за име АР.
2 = изчистване на SSID (ASCII 0), но запази оригиналната дължина на полето (необходима за някои клиенти, които не поддържат празен SSID) и игнорира пробни заявки.

Ограничете клиент станция бездействие. Ако клиентът не предава по време на срока, посочен в ap_max_inactivity (секунди), се изпраща на празен кадър данни на клиента, за да проверите "Още ли е? На разположение" (например, клиентът може да напусне покритие AP). Ако искането е за отговор (АСК), клиентът станция е изключен (първо deassotsiiruetsya тогава deautentifitsiruetsya). Тази функция се използва за изчистване на масата на активните станции на старите ( "мъртви") записи.

Опции WPA. Имайте предвид, тази опция се изисква да принуди АП да поиска от клиента за установяване на истинността WPA. (WPA-PSK и WPA-RADIUS / EAP). За WPA-PSK, трябва да се уточни wpa_psk или wpa_passphrase и даде възможност на WPA-PSK в wpa_key_mgmt. За WPA-RADIUS / EAP, dozhen бъде конфигуриран ieee8021x (без динамични ключове WEP) трябва да бъде конфигуриран RADIUS сървър и е включена в wpa_key_mgmt на WPA-EAP. Възможните стойности са:
0 = няма WPA / WPA2 (не се препоръчва)
1 = WPA (не се препоръчва)
2 = IEEE 802.11i / RSN (WPA2) - Днес е най-безопасният.
3 = както е активиран WPA, WPA2 удостоверяване и

N / A
N / A
/etc/hostapd.wpa_psk

Списък на приетите основни алгоритми за управление. (WPA-PSK, WPA-EAP, или и двете). Записи razdelyutsya проблеми. Можете да използвате WPA-PSK-SHA256 и WPA-EAP-SHA256 за # повече устойчиви алгоритми, базирани на SHA256.

Комплект приета алгоритми за криптиране. Space списък с разделени алгоритми:
CCMP = AES в Counter режим с CBC-MAC [RFC 3610, IEEE 802.11i / D7.0]
TKIP = временен интегритет на ключа протокол [IEEE 802.11i / D7.0]

В комбина криптиране за WPA (v1) (по подразбиране: TKIP) wpa_pairwise = TKIP CCMP
Сдвоени алгоритми за криптиране за RSN / WPA2 (стойност по подразбиране е wpa_pairwise) rsn_pairwise = CCMP

обслужване hostapd рестартиране
# 91; добре # 93; Спирането напреднал IEEE 802.11 управление: hostapd.
# 91; на FAIL # 93; Започвайки разширено управление на IEEE 802.11: hostapd неуспешно!


Изпълнете ключ

hostapd -d /etc/hostapd/hostapd.conf
случаен: Опитвам се да чета ентропия от / сътрудничество / случайна
Конфигурационен файл: /etc/hostapd/hostapd.conf
WPA-PSK е активиран, но PSK или пропуск не е конфигуриран.
1 грешки, открити в конфигурационния файл "/etc/hostapd/hostapd.conf"


Оказа се, финалната линия wpa_passphrase забравили паролата.

Създаване на IPTABLES и маскирането
След това, ние трябва да се създаде ходене всички мрежови пакети между интерфейсите в правилната посока. За да направите това, да създадете файл правила:

# Интернет (Промяна на Интернет интерфейс)
Inet_Interface = "eth0"

# Lan (промените мрежовия интерфейс на моста)
Lan_Interface = "br0"

# Lo (местни intefeys - верига)
Lo_Interface = "ето"

# Описва пътя към IPTABLES
IPT = "/ sbin / IPTABLES"

# Изчистване на настоящите правила (ако изведнъж има някои правила)

$ IPT -F
$ IPT -t NAT -F
$ IPT -t маш -F

$ IPT -X
$ IPT -t NAT -X
$ IPT -t маш -X

# По подразбиране политика

$ IPT -p INPUT DROP
$ IPT -P FORWARD DROP
$ IPT -P OUTPUT DROP

# Създаване на верига за обработка на грешната пакета.
# bad_packets

$ IPT -N bad_packets

$ IPT -A bad_packets -p TCP --tcp-флагове SYN, ACK SYN, ACK \
-м държавни --state НОВИ -j REJECT --reject-с TCP-нулиране
$ IPT -А bad_packets -p TCP. --syn -м състояние --state NEW \
-к ДНЕВНИК --log-префикс "Ню не сън:"
$ IPT -А bad_packets -p TCP. --syn -м състояние --state NEW -j DROP

# Създаване на верига за входящи (от Интернет) връзки TCP.
# tcp_p
$ IPT -N tcp_p

# Например, за да позволите на другите да се свържете с нашия портал от интернет за SSH:
## SSH = "22"
## ssh_ip_allowed = "0/0"
## $ IPT -А tcp_p -p TCP -s $ ssh_ip_allowed --dport $ SSH -j ACCEPT

$ IPT -А tcp_p -p TCP -s 0/0 -j DROP

# Създаване на верига за входящи (от интернет) UDP връзки.
# udp_p
$ IPT -N udp_p

$ IPT -А udp_p -p UDP -s 0/0 -j DROP

# Създаване на верига за входящи (от интернет) ICMP връзки.
# icmp_p
$ IPT -N icmp_p

# Allow "пинг" е нашата врата от интернет:

$ IPT -А icmp_p -p ICMP -s 0/0 --icmp тип 8 -j ACCEPT
$ IPT -А icmp_p -p ICMP -s 0/0 --icmp тип 11 -j ACCEPT

$ IPT -А icmp_p -p ICMP -s 0/0 -j DROP

$ IPT -A INPUT -p TCP -j bad_packets

$ IPT -A INPUT -p всички -i $ Lan_Interface -j ACCEPT
$ IPT -A INPUT -p всички -i $ Lo_Interface -j ACCEPT

$ IPT -A INPUT -p всички -i $ Inet_Interface -м състояние --state \
СЪЗДАДЕНА, СВЪРЗАНИ -j ACCEPT
$ IPT -A INPUT -p TCP -i $ Inet_Interface -j tcp_p
$ IPT -A INPUT -p UDP -i $ Inet_Interface -j udp_p
$ IPT -A INPUT -p ICMP -i $ Inet_Interface -j icmp_p

$ IPT -A FORWARD -p TCP -j bad_packets

$ IPT -A FORWARD -p всички -i $ Lan_Interface -j ACCEPT
$ IPT -A FORWARD -p всички -i $ Lo_Interface -j ACCEPT
$ IPT -A FORWARD -p всички -i $ Inet_Interface -м състояние \
--членка, установили, СВЪРЗАНИ -j ACCEPT

$ IPT -A OUTPUT -p TCP -j bad_packets

$ IPT -A OUTPUT -p всички -o $ Inet_Interface -j ACCEPT
$ IPT -A OUTPUT -p всички -o $ Lan_Interface -j ACCEPT
$ IPT -A OUTPUT -p всички -o $ Lo_Interface -j ACCEPT

# Верига POSTROUTING (NAT маса)

$ IPT -t NAT -A POSTROUTING -o $ Inet_Interface -j маскарад

# Включете пренасочи IPv4.

ехо "1"> / Proc / сис / нето / IPv4 / ip_forward

ехо "Защитна стена започна"


Запазване и да изпълним файл:

коригират + х /etc/network/if-up.d/firewall