FreeBSD гарын авлага
Prev | Chapter 31 Сүлжээний нэмэлт ойлголтууд | Next

# 31.3 Утасгүй сүлжээ

Loader, Марк Фонвил, and Мюррей Стөүкли.

## 31.3.1 Утасгүй сүлжээний үндсүүд

Ихэнх утасгүй сүлжээнүүд нь IEEE® 802.11-ийн стандартууд дээр үндэслэсэн байдаг. Үндсэн утасгүй сүлжээ нь 2.4GHz юм уу эсвэл 5GHz-ийн зурваст цацдаг радио долгионоор холбогддог олон станцуудаас тогтдог (энэ нь орон нутгаас хамаарч өөр өөр байдаг бөгөөд 2.3GHz-с 4.9GHz-ийн хүрээнд холбоог идэвхжүүлэхээр өөрчлөгдөж байгаа).

802.11 сүлжээ нь хоёр аргаар зохион байгуулагддаг: дэд бүтцийн горимд нэг станц мастер маягаар ажиллаж бусад станцууд нь түүнтэй холбогддог; энэ сүлжээг BSS гэдэг бөгөөд мастер станц нь хандалтын цэг (access point)(AP) гэгддэг. BSS-т бүх холбоо AP-р дамждаг; нэг станц өөр нэг утасгүй станцтай холбоо тогтоохыг хүссэн байсан ч гэсэн мэдэгдлүүд нь AP-р дамжих ёстой байдаг. Хоёр дахь хэлбэрийн сүлжээнд мастер байдаггүй бөгөөд станцууд нь шууд холбогддог. Энэ сүлжээний хэлбэрийг IBSS гэдэг бөгөөд бас ad-hoc сүлжээ гэгддэг.

802.11 сүлжээнүүд нь 2.4GHz-ийн зурваст IEEE 802.11 болон 802.11b стандартуудаар тодорхойлогдсон протоколуудыг ашиглан эхлэн хийгдэж байсан. Эдгээр тодорхойлолтууд нь ажиллах давтамжууд, хүрээ хийх болон дамжуулах хурд (холболт төрөл бүрийн хурдаар хийгдэж болно) зэрэг MAC давхаргын үзүүлэлтүүдийг агуулдаг. Сүүлд 802.11a стандарт нь өөр дохионы арга замууд болон илүү өндөр дамжуулах хурдууд зэрэг 5GHz-ийн зурвасын ажиллагааг тодорхойлсон билээ. Мөн дараа нь 802.11b сүлжээнүүдтэй буцаж нийцтэй байхаар 802.11a дохионы хэрэглээ болон 2.4GHz-ийн зурваст дамжуулах арга замуудыг идэвхжүүлж 802.11g стандарт тодорхойлогдсон байна.

Суурь болсон дамжуулах техникүүдээс гадна 802.11 сүлжээнүүд нь төрөл бүрийн аюулгүй байдлын арга замуудтай байдаг. Анхдагч 802.11 тодорхойлолтууд нь WEP гэгддэг аюулгүй байдлын энгийн протоколыг тодорхойлсон билээ. Энэ протокол нь тогтмол, урьдчилан хуваалцсан түлхүүр болон RC4 криптограф шифр ашиглан сүлжээнд дамжуулагдах өгөгдлийг кодчилдог. Станцууд нь өөр хоорондоо холбогдохын тулд бүгд нэг тогтмол түлхүүр дээр зөвшилцөх ёстой. Энэ схемийг амархан эвдэх боломжтойг харуулсан бөгөөд дамжин өнгөрөх хэрэглэгчдийг сүлжээнд нэгдэхийг зөвлөдөггүйгээс бусад тохиолдолд одоо ховор ашиглагдах болсон байна. Криптографийн шинэ шифрүүд болон станцуудыг хандалтын цэгт танин нэвтрүүлж өгөгдлийн холболтыг хийхийн тулд түлхүүрүүдийг солилцох нэмэлт протоколыг тодорхойлдог IEEE 802.11i тодорхойлолтоор одоогийн аюулгүй байдлын практикийг тодорхойлдог. Мөн криптограф түлхүүрүүд нь үе үе шинэчлэгддэг бөгөөд халдлагын оролдлогуудыг илрүүлэх (ба халдлагын оролдлогуудыг сөрөх) арга замууд бас байдаг. Утасгүй сүлжээнүүдэд түгээмэл ашиглагддаг өөр нэг аюулгүй байдлын протоколын тодорхойлолт нь WPA юм. Энэ нь үйлдвэрлэлийн бүлгийн тодорхойлсон 802.11i-ийн өмнөх протокол бөгөөд 802.11i-г батлахыг хүлээж байх хугацаанд түр зуурын арга хэмжээ болох юм. WPA нь 802.11i-д байгаа шаардлагуудын дэд олонлогийг тодорхойлж хуучин тоног төхөөрөмжүүд дээрх шийдэлд зориулагдан хийгджээ. Ялангуяа WPA нь анхдагч WEP шифрээс гарсан TKIP шифрийг зөвхөн шаарддаг. 802.11i нь TKIP-ийн хэрэглээг зөвшөөрдөг боловч өгөгдлийг шифрлэхэд зориулж илүү хүчирхэг шифр болох AES-CCM-ийн дэмжлэгийг бас шаарддаг. (AES шифр нь WPA-д шаардагддаггүй, учир нь үүнийг хуучин тоног төхөөрөмж дээр хийхэд тооцооллын хувьд өртөгтэй гэж үздэг.)

Дээрх протоколын стандартуудаас гадна мэдэж байх өөр нэг чухал стандарт бол 802.11e юм. Энэ нь 802.11 сүлжээнд видео дамжуулах, IP дээгүүрх дуу (VoIP) зэрэг мультимедиа хэрэглээнүүдэд шаардлагатай протоколуудыг тодорхойлдог. 802.11i-тай адил 802.11e нь үйлдвэрлэлийн бүлгээс 802.11e-ийн дэд олонлог гэж тодорхойлсон, 802.11e-г батлахыг хүлээж байх хугацаанд мультимедиа хэрэглээнүүдийг идэвхжүүлэхэд ашиглаж болох WME (сүүлд WMM) гэгдсэн урьдчилсан тодорхойлолт байдаг. 802.11e болон WME/WMM-ийн талаар мэдэх ёстой хамгийн чухал зүйл нь утасгүй сүлжээний зэрэглэл тогтоогдсон урсгалын хэрэглээг Quality of Service (QoS) буюу үйлчилгээний чанарын протоколууд болон өргөтгөсөн зөөвөрлөгчийн хандалтын протоколуудын тусламжтайгаар идэвхжүүлдэг явдал юм. Эдгээр протоколуудын зөв шийдэл нь өгөгдлийн өндөр хурдтай тэсрэлт болон зэрэглэл тогтоогдсон урсгалыг идэвхжүүлдэг.

6.0 хувилбараас эхлээд FreeBSD нь 802.11a, 802.11b, болон 802.11g-г ашиглан ажилладаг сүлжээнүүдийг дэмждэг. WPA болон 802.11i аюулгүй байдлын протоколууд нь адилхан (11a, 11b, болон 11g-тэй цуг) дэмжигдсэн байдаг бөгөөд WME/WMM протоколуудын шаарддаг QoS болон урсгалын зэрэглэлт нь хязгааргүй тооны утасгүй төхөөрөмжүүдэд дэмжигдсэн байдаг.

## 31.3.2 Үндсэн тохируулга

### 31.3.2.1 Цөмийн тохиргоо

Утасгүй сүлжээг ашиглахын тулд танд утасгүй сүлжээний карт болон цөмийг тохирох утасгүй сүлжээний дэмжлэгтэйгээр тохируулах хэрэгтэй болно. Сүүлийнх нь олон модулиудад хуваагддаг. Тэгэхээр танд зөвхөн өөрийнхөө ашиглах програм хангамжийг тохируулах хэрэгтэй болох юм.

Танд эхлээд хэрэг болох зүйл нь утасгүй сүлжээний төхөөрөмж юм. Хамгийн түгээмэл хэрэглэгддэг төхөөрөмжүүд нь Atheros-ийн хийдэг хэсгүүдийг ашигладаг төхөөрөмжүүд байдаг. Эдгээр төхөөрөмжүүд нь ath(4) драйвераар дэмжигддэг бөгөөд `/boot/loader.conf` файлд дараах мөрийг нэмэхийг шаарддаг:

    if_ath_load="YES"

Atheros драйвер нь гурван тусдаа хэсэгт хуваагддаг: эдгээр нь зөв драйвер (ath(4)), бичил схемийн функцуудыг зохицуулдаг, тоног төхөөрөмжийн дэмжлэгийн давхарга (ath_hal(4)), болон хүрээнүүдийг дамжуулахын тулд хэд хэдэн боломжит хурдуудаас (энд ath_rate_sample) сонгох алгоритм юм. Та энэ дэмжлэгийг модуль хэлбэрээр дуудах үед түүнтэй хамааралтай зүйлс автоматаар зохицуулагдах болно. Хэрэв танд Atheros төхөөрөмжийн оронд өөр төхөөрөмж байгаа бол та тэр төхөөрөмжид зориулсан модулийг сонгох юм, өөрөөр хэлбэл:

    if_wi_load="YES"

гэж Intersil Prism хэсгүүд дээр суурилсан төхөөрөмжүүдийн хувьд хийж өгнө (wi(4) driver).

> Note: Энэ баримтын үлдсэн хэсэгт бид ath(4) төхөөрөмжийг ашиглах бөгөөд жишээнүүд дээрх төхөөрөмжийн нэр таны тохиргооны дагуу өөрчлөгдөх ёстой. Байгаа утасгүй драйверуудын жагсаалтыг wlan(4) гарын авлагын хуудасны эхнээс олж болно. Таны утасгүй төхөөрөмжид зориулагдсан FreeBSD-ийн драйвер байхгүй бол магадгүй Windows® драйверийг NDIS драйверийн гүйцэтгэл хялбаршуулагчийн тусламжтай шууд ашиглаж болох юм.

Төхөөрөмжийн драйверийг тохируулсныхаа дараа та драйверийн шаарддаг 802.11 сүлжээний дэмжлэгийг бас оруулах хэрэгтэй болно. ath(4) драйверийн хувьд энэ нь ядахдаа wlan(4), `wlan_scan_ap` болон `wlan_scan_sta` модулиуд байх бөгөөд wlan(4) модуль нь утасгүй төхөөрөмжийн драйвертай цуг автоматаар дуудагддаг ба үлдсэн модулиуд нь `/boot/loader.conf` файлын тусламжтайгаар ачаалах үед дуудагдах ёстой:

    wlan_scan_ap_load="YES"
    wlan_scan_sta_load="YES"

> Note: `wlan_scan_ap` болон `wlan_scan_sta` модулиудыг FreeBSD 7.X шаарддаг бөгөөд, FreeBSD-ийн бусад хувилбарууд тэдгээрийг шаарддаггүй.

Үүнтэй цуг таны ашиглах аюулгүй байдлын протоколуудад зориулагдсан криптографын дэмжлэгийг хийдэг модулиуд хэрэгтэй болно. Эдгээр нь wlan(4) модулиар автоматаар шаардлагын дагуу дуудагддаг байхаар зориулагдсан боловч одоохондоо эдгээрийг гараар тохируулах шаардлагатай. Дараах модулиуд байдаг: wlan_wep(4), wlan_ccmp(4) болон wlan_tkip(4). wlan_ccmp(4) болон wlan_tkip(4) драйверууд нь WPA ба/эсвэл 802.11i аюулгүй байдлын протоколуудыг ашиглахаар болсон тохиолдолд танд зөвхөн хэрэгтэй байдаг. Хэрэв таны сүлжээ нээлттэй (өөрөөр хэлбэл шифрлэлтгүй) ажиллах бол танд wlan_wep(4) дэмжлэг ерөөсөө хэрэггүй. Эдгээр модулиудыг ачаалах үед дуудахын тулд дараах мөрүүдийг `/boot/loader.conf` файлд нэмнэ:

    wlan_wep_load="YES"
    wlan_ccmp_load="YES"
    wlan_tkip_load="YES"

Системийн эхлүүлэх тохиргооны файлд (өөрөөр хэлбэл `/boot/loader.conf`) ийм мэдээлэлтэйгээр та өөрийн FreeBSD хайрцгийг дахин ачаалах хэрэгтэй. Хэрэв та өөрийн машиныг дахин ачаалахыг хүсэхгүй байгаа бол та модулиудыг kldload(8)-ийн тусламжтайгаар гараар дуудаж болно.

> Note: Хэрэв та модулиудыг ашиглахыг хүсэхгүй байгаа бол дараах мөрүүдийг өөрийн цөмийн тохиргооны файлд нэмж эдгээр драйверуудыг цөмд эмхэтгэж болно:

>     device ath               # Atheros IEEE 802.11 wireless network driver
>     device ath_hal           # Atheros Hardware Access Layer
>     options AH_SUPPORT_AR5416       # enable AR5416 tx/rx descriptors
>     device ath_rate_sample   # SampleRate tx rate control for ath
>     device wlan              # 802.11 support
>     device wlan_scan_ap      # 802.11 AP mode scanning
>     device wlan_scan_sta     # 802.11 STA mode scanning
>     device wlan_wep          # 802.11 WEP support
>     device wlan_ccmp         # 802.11 CCMP support
>     device wlan_tkip         # 802.11 TKIP support

> `wlan_scan_ap` болон `wlan_scan_sta` мөрүүдийг FreeBSD 7.X шаарддаг бөгөөд, FreeBSD-ийн бусад хувилбарууд тэдгээрийг шаарддаггүй.

> Цөмийн тохиргооны файлдаа ийм мэдээлэлтэйгээр цөмөө дахин эмхэтгээд өөрийн FreeBSD машиныг дахин ачаалах хэрэгтэй.

Систем ассаны дараа ачаалах үеийн мэдэгдлүүдэд үүнтэй адил утасгүй төхөөрөмжийн талаар зарим мэдээллийг олж болно:

    ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
    ath0: Ethernet address: 00:11:95:d5:43:62
    ath0: mac 7.9 phy 4.5 radio 5.6

## 31.3.3 Дэд бүтцийн горим

Дэд бүтцийн горим буюу BSS горим нь ихэвчлэн ашиглагддаг горим юм. Энэ горимд утасгүй хандалтын цэгүүд нь утастай сүлжээнд холбогдсон байдаг. Утасгүй сүлжээ бүр өөрийн нэртэй байдаг бөгөөд энэ нэр нь сүлжээний SSID гэгддэг. Утасгүй клиентүүд нь утасгүй хандалтын цэгүүдэд холбогддог.

### 31.3.3.1 FreeBSD клиентүүд

#### 31.3.3.1.1 Хандалтын цэгүүдийг хэрхэн олох вэ

Сүлжээнүүдийг хайхын тулд `ifconfig` тушаалыг ашиглана. Энэ хүсэлт нь хэсэг хором болж болох бөгөөд боломжтой утасгүй давтамж бүр уруу шилжиж, байгаа хандалтын цэгүүдийг шалгахыг системээс шаарддаг. Зөвхөн супер хэрэглэгч ийм хайлт эхлүүлж чадна:

    # ifconfig ath0 up scan
    SSID            BSSID              CHAN RATE  S:N   INT CAPS
    dlinkap         00:13:46:49:41:76    6   54M 29:3   100 EPS  WPA WME
    freebsdap       00:11:95:c3:0d:ac    1   54M 22:1   100 EPS  WPA

> Note: Та хайлт хийхээсээ өмнө интерфэйсээ `up` болгож тэмдэглэх ёстой. Дараа дараагийн хайлтын хүсэлтүүд интерфэйсийг up болгож тэмдэглэхийг шаарддаггүй.

Хайлтын хүсэлтийн гаралт олсон BSS/IBSS сүлжээ бүрийг харуулдаг. Сүлжээний нэр `SSID`-с гадна хандалтын цэгийн MAC хаяг болох `BSSID`-г бид харах болно. `CAPS` талбар нь сүлжээ бүрийн төрөл болон тэнд ажиллаж байгаа станцуудын боломжуудыг заана:

`E`

  Extended Service Set (ESS) буюу өргөтгөсөн үйлчилгээний олонлог. Станц нь дэд бүтцийн сүлжээний хэсэг гэдгийг харуулна (IBSS/ad-hoc сүлжээтэй харьцуулах юм бол ).

`I`

  IBSS/ad-hoc сүлжээ. Станц нь ad-hoc сүлжээний хэсэг гэдгийг харуулна (ESS сүлжээтэй харьцуулах юм бол).

`P`

  Хувийн нууц. BSS-ийн дотор солилцож байгаа өгөгдлийн бүх хүрээнүүдэд өгөгдлийн нууц байдал шаардлагатай байдаг. Энэ BSS нь бусадтай солилцох өгөгдлийн хүрээнүүдийг шифрлэх/буцаах WEP, TKIP эсвэл AES-CCMP зэрэг криптограф ашиглахыг станцаас шаарддаг гэсэн үг юм.

`S`

  Богино оршил (preamble). Сүлжээ богино оршлуудыг (802.11b өндөр хурд/DSSS PHY-д тодорхойлогдсоноор богино оршил нь урт оршилд ашиглагддаг 128 бит талбартай харьцуулах юм бол 56 бит sync талбарыг хэрэглэдэг) ашиглаж байгааг харуулдаг.

`s`

  Богино слот (ангархай) хугацаа. 802.11g сүлжээ хуучин (802.11b) станцууд байхгүй байгаа учраас богино слот хугацааг хэрэглэж байгааг харуулна.

Мэдэгдэж байгаа сүлжээнүүдийн одоогийн жагсаалтыг бас доорх тушаалаар харуулж болно:

    # ifconfig ath0 list scan

Энэ мэдээллийг автоматаар хувиргагчаар (adapter) эсвэл гараар `scan` хүсэлтийн тусламжтай шинэчилж болно. Хуучин өгөгдөл кэшээс автоматаар арилгагдах болохоор хэсэг хугацаа өнгөрсний дараа нэмэлт хайлтууд хийхгүй л бол энэ жагсаалт багасаж болох юм.

#### 31.3.3.1.2 Үндсэн тохиргоонууд

Энэ хэсэгт FreeBSD дээр утасгүй сүлжээний хувиргагчийг шифрлэлтгүйгээр хэрхэн ажиллуулахыг харуулсан энгийн жишээг үзүүлнэ. Эдгээр ойлголтуудыг мэддэг болсныхоо дараа өөрийнхөө утасгүй сүлжээг тохируулахдаа WPA-г ашиглахыг бид тууштай зөвлөж байна.

Утасгүй сүлжээг тохируулах гурван үндсэн алхам байдаг: эдгээрт хандалтыг цэгийг сонгох, өөрийн станцыг таниулж нэвтрүүлэх, болон IP хаягийг тохируулах багтана. Дараах хэсэг алхам бүрийг хэлэлцэнэ.

##### 31.3.3.1.2.1 Хандалтын цэгийг сонгох нь

Ихэнх тохиолдолд систем өөртөө бүтээгдсэн гүнзгийрүүлэн шалгах аргаа (heuristic) ашиглан хандалтын цэгийг сонгохыг нь зөвшөөрөх хангалттай байдаг. Таныг интерфэйсийг up гэж тэмдэглэх үед энэ нь анхдагч байх бөгөөд хэрэв үгүй бол интерфэйсийг `/etc/rc.conf` файлд жагсаан тохируулна, өөрөөр хэлбэл:

    ifconfig_ath0="DHCP"

Хэрэв олон хандалтын цэгүүд байгаа бөгөөд та тухайн нэгийг сонгохыг хүсвэл түүнийг SSID-аар нь сонгож болно:

    ifconfig_ath0="ssid your_ssid_here DHCP"

Адил SSID-тай олон хандалтын цэгүүд байгаа орчинд (роуминг-ийг (тэнүүчлэх) хялбар болгохын тулд ихэвчлэн хийдэг) аль нэг тухайн төхөөрөмж уруу холбогдох шаардлагатай болж болох юм. Энэ тохиолдолд та хандалтын цэгийн BSSID-ийг зааж өгч бас болох юм (та бас SSID-ийг үлдээж болно):

    ifconfig_ath0="ssid your_ssid_here bssid xx:xx:xx:xx:xx:xx DHCP"

Системийн хайлт хийх давтамжуудын олонлогийг хязгаарлах зэрэг хандалтын цэгийн сонголтыг шаардах өөр аргууд байдаг.Та олон зурвасын утасгүй сүлжээний карттай байх тохиолдолд энэ нь ашигтай байдаг. Ийм тохиолдолд бүх боломжит сувгуудыг хайх нь цаг хугацаа шаардсан ажил байдаг. Ажиллагааг тухайн нэг зурвас дээр хязгаарлахын тулд `mode` параметрийг та ашиглаж болно, өөрөөр хэлбэл:

    ifconfig_ath0="mode 11g ssid your_ssid_here DHCP"

нь картыг 2.4GHz давтамжуудын хувьд тодорхойлогдсон 802.11g горимд картыг ажиллуулах бөгөөд бусад 5GHz-ийн сувгуудыг авч үзэхгүй байх болно. Үүнийг хийх өөр нэг арга нь ажиллагааг тухайн нэг давтамжид түгжих `channel` параметр болон хайлт хийхдээ сувгуудын жагсаалтыг заах `chanlist` параметрийг ашиглах явдал юм. Эдгээр параметрүүдийн талаар дэлгэрэнгүй мэдээллийг ifconfig(8) гарын авлагын хуудаснаас лавлана уу.

##### 31.3.3.1.2.2 Нэвтрэлт танилт

Хандалтын цэгийг сонгосны дараа таны станц өгөгдөл дамжуулахаа өмнө өөрийгөө таниулан нэвтрэх хэрэгтэй. Нэвтрэлт танилт хэд хэдэн аргаар хийгдэж болно. Ашиглагддаг хамгийн түгээмэл схем бол нээлттэй нэвтрэлт танилт гэгддэг бөгөөд энэ нь дурын станц сүлжээнд нэгдэж холбогдохыг зөвшөөрдөг. Энэ нь эхний удаа утасгүй сүлжээг тохируулж байхдаа тестийн зорилгоор таны ашиглах ёстой нэвтрэлт танилт юм. Бусад схемүүд нь өгөгдлийн урсгал эхлэхээс өмнө криптограф мэдээлэл солилцоо хийгдэхийг шаарддаг; урьдчилсан хуваалцсан түлхүүрүүд эсвэл нууц үгс ашиглах эсвэл RADIUS зэрэг арын үйлчилгээнүүдийг ашигладаг илүү төвөгтэй схемүүд зэргийг дурдаж болно. Ихэнх хэрэглэгчид нээлттэй нэвтрэлт танилт ашиглах бөгөөд энэ нь анхдагч тохиргоо байдаг. Дараагийн хамгийн түгээмэл тохируулга бол WPA-PSK бөгөөд энэ нь бас WPA Personal гэгддэг. Энэ тохируулга доор тайлбарлагдсан байгаа.

> Note: Хэрэв танд хандалтын цэгт зориулсан Apple® AirPort® Extreme дээр суурилсан үндсэн станц байгаа бол WEP түлхүүртэй хамт хуваалцсан түлхүүрийг тохируулах хэрэгтэй болж болох юм. Үүнийг `/etc/rc.conf` файл эсвэл wpa_supplicant(8) програмыг ашиглан хийж болно. Хэрэв та ганц AirPort үндсэн станцтай бол хандалтыг иймэрхүүгээр хийж өгч болно:

>     ifconfig_ath0="authmode shared wepmode on weptxkey 1 wepkey 01234567 DHCP"

> Ерөнхийдээ хуваалцсан түлхүүр бүхий нэвтрэлт танилтыг ашиглахаас зайлсхийх хэрэгтэй, яагаад гэвэл WEP түлхүүрийн материалыг их хүчилсэн хэлбэрээр ашигладаг нь түлхүүрийг эвдэх боломжийг илүү амархан болгодог. Хэрэв WEP ашиглагдах ёстой бол (өөрөөр хэлбэл хуучин төхөөрөмжтэй нийцтэй байх үүднээс) WEP-ийг `open` буюу нээлттэй нэвтрэлт танилттай цуг ашиглах нь зүйтэй юм. WEP-ийн талаар дэлгэрэнгүй мэдээллийг Section 31.3.3.1.4-с олж болно.

##### 31.3.3.1.2.3 DHCP-ээр IP хаяг авах

Хандалтын цэгийг сонгож нэвтрэлт танилтын параметрүүдийг тохируулсны дараа холбогдохын тулд та IP хаяг авах хэрэгтэй болно. Та өөрийн утасгүй IP хаягийг ихэвчлэн DHCP-ээр авах болно. Ингэхийн тулд ердөө л `/etc/rc.conf` файлыг засварлаж дээрх жишээн дээр үзүүлсэн шиг өөрийн төхөөрөмжийн тохиргоонд зориулж `DHCP` гэж нэмж өгнө:

    ifconfig_ath0="DHCP"

Энэ хүрэхэд та утасгүй интерфэйсээ ажиллуулахад бэлэн байх болно:

    # /etc/rc.d/netif start

Интерфэйс ажиллаж эхэлсний дараа `ath0` интерфэйсийн төлөвийг үзэхийн тулд `ifconfig` тушаалыг ашиглана:

    # ifconfig ath0
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
            inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
            inet 192.168.1.100 netmask 0xffffff00 broadcast 192.168.1.255
            ether 00:11:95:d5:43:62
            media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
            status: associated
            ssid dlinkap channel 6 bssid 00:13:46:49:41:76
            authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

`status: associated` мөр нь таныг утасгүй сүлжээнд (бидний тохиолдолд `dlinkap` сүлжээ уруу) холбогдсон гэдгийг харуулж байна. `bssid 00:13:46:49:41:76` хэсэг нь таны хандалтын цэгийн MAC хаяг юм; `authmode` мөр нь холболт шифрлэгдээгүй гэдгийг танд харуулж байна (`OPEN`).

##### 31.3.3.1.2.4 Статик IP хаяг

DHCP серверээс IP хаяг авч чадахгүй тохиолдолд тогтмол IP хаяг та тавьж болно. Дээр үзүүлсэн `DHCP` гэсэн түлхүүр үгийг хаягийн мэдээллээр солих хэрэгтэй. Хандалтын цэгийг сонгохдоо хэрэглэсэн бусад параметрүүдийг үлдээхээ мартуузай:

    ifconfig_ath0="ssid your_ssid_here inet 192.168.1.100 netmask 255.255.255.0"

#### 31.3.3.1.3 WPA

WPA (Wi-Fi Protected Access буюу Wi-Fi Хамгаалагдсан Хандалт) нь WEP-ийн сул тал болон зөв нэвтрэлт танилтын дутмаг байдлыг арилгах зорилгоор 802.11 сүлжээнүүдэд цуг ашиглагддаг аюулгүй байдлын протокол юм. WPA нь 802.1X нэвтрэлт танилтын протоколыг хөшүүрэгддэг бөгөөд өгөгдлийн бүрэн бүтэн байдалд зориулж WEP-ийн оронд хэд хэдэн шифрүүдийн нэгийг ашигладаг. WPA-ийн шаарддаг цорын ганц шифр бол TKIP (Temporary Key Integrity Protocol) бөгөөд энэ нь бүрэн бүтэн байдал шалгалт, хуурамч үйлдлийг илрүүлэлт болон илрүүлсэн халдлагуудад хариулахад зориулсан арга хэмжээнүүдийг WEP-ийн ашигладаг үндсэн RC4 шифрт нэмэн өргөтгөсөн шифр юм. TKIP нь хуучин тоног төхөөрөмж дээр зөвхөн програм хангамжийн өөрчлөлттэйгөөр ажиллахаар хийгдсэн; энэ нь аюулгүй байдлыг сайжруулдаг боловч халдлагаас бүрэн гүйцэд хамгаалж чаддаггүй. WPA нь TKIP-г орлуулж AES-CCMP шифрийг бас заадаг бөгөөд боломжтой тохиолдолд үүнийг хэрэглэхийг урьтал болгодог; энэ тодорхойлолтод WPA2 (эсвэл RSN) гэсэн ухагдахуун нийтлэг ашиглагддаг.

WPA нь нэвтрэлт танилт болон шифрлэлтийн протоколуудыг тодорхойлдог. Нэвтрэлт танилт нь хоёр техникийн аль нэгээр ихэвчлэн хийгддэг: 802.1X болон RADIUS зэрэг арын нэвтрэлт танилтын үйлчилгээгээр эсвэл урьдчилан хуваалцсан нууц үг ашиглан станц болон хандалтын хооронд хамгийн багаар мэдээлэл солилцох (handshake) замаар хийгддэг. Эхнийх нь ихэвчлэн WPA Enterprise, сүүлийнх нь WPA Personal гэгддэг. Ихэнх хүмүүс утасгүй сүлжээнд зориулж арын RADIUS сервер тохируулдаггүй учир WPA-PSK нь WPA-д зориулсан хамгийн түгээмэл тохиолддог тохиргоо юм.

Утасгүй холболтын хяналт болон нэвтрэлт танилт (түлхүүрийн тохиролцоо эсвэл сервертэй хийх нэвтрэлт танилт) нь wpa_supplicant(8) хэрэгслээр хийгддэг. Энэ програм нь ажиллахын тулд `/etc/wpa_supplicant.conf` тохиргооны файл шаарддаг. Энэ файлын талаар дэлгэрэнгүй мэдээллийг wpa_supplicant.conf(5) гарын авлагын хуудаснаас олж болно.

##### 31.3.3.1.3.1 WPA-PSK

WPA-PSK нь бас WPA Personal гэгддэг бөгөөд өгөгдсөн нууц үгээс үүсгэгдсэн pre-shared key буюу (PSK) урьдчилан хуваалцсан түлхүүр дээр суурилдаг бөгөөд утасгүй сүлжээнд мастер түлхүүр болон ашиглагддаг. Энэ нь утасгүй хэрэглэгч бүр адил түлхүүрийг хуваалцана гэсэн үг юм. WPA-PSK нь нэвтрэлт танилтын сервер хэрэглэх боломжгүй эсвэл шаардлагагүй жижиг сүлжээнүүдэд зориулагдсан юм.

> Warning: Хангалттай урт, төрөл бүрийн тэмдэгтүүдээс бүтсэн, таах буюу/эсвэл халдах боломжгүй хэцүү нууц үгсийг үргэлж ашиглах хэрэгтэй.

Эхний алхам нь `/etc/wpa_supplicant.conf` файлыг өөрийн сүлжээний SSID болон урьдчилан хуваалцсан түлхүүрээр тохируулах явдал юм:

    network={
      ssid="freebsdap"
      psk="freebsdmall"
    }

Дараа нь бид `/etc/rc.conf` файлд утасгүй төхөөрөмжийн тохиргоо WPA-аар хийгдэж IP хаяг DHCP-ээс авагдана гэдгийг зааж өгнө:

    ifconfig_ath0="WPA DHCP"

Дараа нь бид интерфэйсийг босгож ажиллуулна:

    # /etc/rc.d/netif start
    Starting wpa_supplicant.
    DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
    DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 6
    DHCPOFFER from 192.168.0.1
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPACK from 192.168.0.1
    bound to 192.168.0.254 -- renewal in 300 seconds.
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
          protmode CTS roaming MANUAL bintval 100

Эсвэл та үүнийг гараар дээрх `/etc/wpa_supplicant.conf` ашиглан хийж доор дурдсан тушаалыг ажиллуулж болно:

    # wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
    Trying to associate with 00:11:95:c3:0d:ac (SSID='freebsdap' freq=2412 MHz)
    Associated with 00:11:95:c3:0d:ac
    WPA: Key negotiation completed with 00:11:95:c3:0d:ac [PTK=TKIP GTK=TKIP]

Дараагийн үйлдэл нь DHCP серверээс IP хаяг авахын тулд `dhclient` тушаалыг ажиллуулах явдал юм:

    # dhclient ath0
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPACK from 192.168.0.1
    bound to 192.168.0.254 -- renewal in 300 seconds.
    # ifconfig ath0
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/48Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
          protmode CTS roaming MANUAL bintval 100

> Note: Хэрэв `/etc/rc.conf` файл нь `ifconfig_ath0="DHCP"` мөртэй тохируулагдсан бол `dhclient` тушаалыг гараар ажиллуулах шаардлагагүй, `dhclient` тушаал нь түлхүүрүүдийг `wpa_supplicant` гаргаж авсны дараа ажиллах болно.

DHCP-ийн хэрэглээ боломжгүй тохиолдолд `wpa_supplicant` станцыг таниулж нэвтрүүлсний дараа та статик IP хаяг тохируулж болно:

    # ifconfig ath0 inet 192.168.0.100 netmask 255.255.255.0
    # ifconfig ath0
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA privacy ON deftxkey UNDEF TKIP 2:128-bit txpowmax 36
          protmode CTS roaming MANUAL bintval 100

DHCP сервер ашиглагдаагүй үед та анхдагч гарц болон нэрийн серверийг гараар бас тохируулах хэрэгтэй болно:

    # route add default your_default_router
    # echo "nameserver your_DNS_server" >> /etc/resolv.conf

##### 31.3.3.1.3.2 EAP-TLS-тэй WPA

WPA-г ашиглах хоёр дахь арга нь 802.1X арын нэвтрэлт танилтын сервертэй цуг ашиглах явдал бөгөөд энэ тохиолдолд WPA-г урьдчилан хуваалцсан түлхүүр бүхий аюулгүй байдлын хувьд арай дутуу WPA-Personal-с ялгахын тулд WPA-Enterprise гэдэг. WPA-Enterprise дахь нэвтрэлт танилт нь EAP (Extensible Authentication Protocol буюу өргөтгөсөн нэвтрэлт танилтын протокол) дээр суурилдаг.

EAP нь шифрлэлтийн аргагүй ирдэг бөгөөд харин шифрлэгдсэн туннелийн дотор EAP-ийг суулгахаар шийдсэн байдаг. EAP нэвтрэлт танилтын аргуудын олон төрлүүд бүтээгдсэн бөгөөд хамгийн түгээмэл аргууд нь EAP-TLS, EAP-TTLS болон EAP-PEAP юм.

EAP-TLS (EAP with Transport Layer Security) нь Wi-Fi alliance-аас хамгийн түрүүнд батламжлагдсан EAP арга бөгөөд утасгүй ертөнц дэх маш сайн дэмжигдсэн нэвтрэлт танилтын протокол юм. EAP-TLS нь ажиллахын тулд гурван сертификат шаарддаг: эдгээр нь CA сертификат (бүх машин дээр суулгагдсан), таны нэвтрэлт танилтын серверт зориулсан сертификат, утасгүй клиент бүрд зориулсан клиентийн сертификат юм. Энэ EAP арга дээр нэвтрэлт танилтын сервер болон утасгүй клиент нь өөр өөрсдийн сертификатыг бие биендээ үзүүлж нэг нэгнийгээ танин нэвтрүүлдэг бөгөөд тэд эдгээр сертификатыг танай байгууллагын сертификатын удирдлага (CA) олгож баталгаажуулсан болохыг шалгадаг.

Урьдын адил тохиргоог `/etc/wpa_supplicant.conf` файлаар хийнэ:

    network={
      ssid="freebsdap"
      proto=RSN
      key_mgmt=WPA-EAP
      eap=TLS
      identity="loader"
      ca_cert="/etc/certs/cacert.pem"
      client_cert="/etc/certs/clientcert.pem"
      private_key="/etc/certs/clientkey.pem"
      private_key_passwd="freebsdmallclient"
    }

  Энэ талбар нь сүлжээний нэрийг заана (SSID).
  Энд бид RSN (IEEE 802.11i) протоколыг ашиглана, өөрөөр хэлбэл, WPA2.
  `key_mgmt` мөр нь бидний ашиглах түлхүүр удирдах протоколыг заана. Бидний тохиолдолд энэ нь EAP нэвтрэлт танилтыг ашиглаж байгаа WPA юм: `WPA-EAP`.
  Энэ талбарт бид өөрсдийн холболтдоо зориулж EAP аргыг заана.
  `identity` талбар нь EAP-ийг таниулах мөрийг агуулна.
  `ca_cert` талбар нь CA сертификат файлын замыг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй.
  `client_cert` шугам клиентийн сертификатын файлын замыг өгнө. Энэ сертификат нь сүлжээний утасгүй клиент бүрийн хувьд давтагдашгүй байна.
  `private_key` талбар нь клиентийн сертификатын хувийн түлхүүрийн файлын замын нэр юм.
  `private_key_passwd` талбар нь хувийн түлхүүрийн нэвтрэх үгийг агуулдаг.

Тэгээд дараах мөрийг `/etc/rc.conf` файлд нэмнэ:

    ifconfig_ath0="WPA DHCP"

Дараагийн алхам нь `rc.d` боломжийн тусламжтай интерфэйсийг босгож ажиллуулах явдал юм:

    # /etc/rc.d/netif start
    Starting wpa_supplicant.
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPACK from 192.168.0.20
    bound to 192.168.0.254 -- renewal in 300 seconds.
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
          txpowmax 36 protmode CTS roaming MANUAL bintval 100

Урьд нь үзүүлсний адил интерфэйсийг гараар `wpa_supplicant` болон `ifconfig` тушаалуудаар босгох боломжтой байдаг.

##### 31.3.3.1.3.3 EAP-TTLS-тэй WPA

EAP-TLS-тэй байхад нэвтрэлт танилтын сервер болон клиентэд сертификат хэрэгтэй бол EAP-TTLS-тэй (EAP-Tunneled Transport Layer Security) байхад клиентийн сертификат нэмэлт сонголт байдаг. Энэ арга нь зорчигчид клиент талдаа сертификатгүй байсан ч гэсэн нууцлаг SSL туннель үүсгэж чаддаг зарим нэг аюулгүй вэб сайтуудын хийдэгтэй ойролцоо байдаг. EAP-TTLS нь нэвтрэлт танилтын өгөгдлийг аюулгүй тээвэрлэхэд зориулж шифрлэгдсэн TLS туннелийг ашиглах болно.

Тохиргоог `/etc/wpa_supplicant.conf` файлаар хийнэ:

    network={
      ssid="freebsdap"
      proto=RSN
      key_mgmt=WPA-EAP
      eap=TTLS
      identity="test"
      password="test"
      ca_cert="/etc/certs/cacert.pem"
      phase2="auth=MD5"
    }

  Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг дурдана.
  `identity` талбар нь шифрлэгдсэн TLS туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг агуулна.
  `password` талбар нь EAP нэвтрэлт танилтад зориулсан нэвтрэх үгийг агуулна.
  `ca_cert` талбар нь CA сертификатын файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй байдаг.
  Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан нэвтрэлт танилтын аргыг заана. Бидний тохиолдолд MD5-Challenge-тай цуг EAP ашиглагдаж байна. “inner authentication” дотоод нэвтрэлт танилт үе нь ихэвчлэн “phase2” буюу хоёрдугаар үе гэгддэг.

Дараах мөрийг та `/etc/rc.conf` файлд бас нэмэх хэрэгтэй:

    ifconfig_ath0="WPA DHCP"

Дараагийн алхам бол интерфэйсийг босгож ажиллуулах явдал юм:

    # /etc/rc.d/netif start
    Starting wpa_supplicant.
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPACK from 192.168.0.20
    bound to 192.168.0.254 -- renewal in 300 seconds.
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
          txpowmax 36 protmode CTS roaming MANUAL bintval 100

##### 31.3.3.1.3.4 EAP-PEAP-тэй WPA

PEAP (Protected EAP) нь EAP-TTLS-ийн өөр нэг хувилбар хэлбэрээр байхаар хийгдсэн юм. Хоёр төрлийн PEAP арга байдаг бөгөөд хамгийн түгээмэл нь PEAPv0/EAP-MSCHAPv2 юм. Энэ баримтын үлдсэн хэсэгт PEAP ухагдахууныг тэр EAP аргыг хэлэхдээ хэрэглэх болно. PEAP нь EAP-TLS-ийн дараа ордог хамгийн их ашиглагддаг EAP стандарт юм, өөрөөр хэлбэл хэрэв та төрөл бүрийн OS-үүд холилдсон сүлжээтэй бол PEAP нь EAP-TLS-ийн дараа орох хамгийн ихээр дэмжигдсэн стандарт байх юм.

PEAP нь EAP-TLS-тэй төстэй байдаг: энэ нь клиент болон нэвтрэлт танилтын серверийн хооронд нэвтрэлт танилтын мэдээллийн солилцоог хамгаалах шифрлэгдсэн туннель үүсгэн клиентүүдийг танин нэвтрүүлэхийн тулд сервер талын сертификатыг ашигладаг. Аюулгүй байдлын ухагдахуун дахь EAP-TTLS болон PEAP-ийн хоорондох ялгаа нь PEAP нэвтрэлт танилт хэрэглэгчийн нэрийг цэвэр текст хэлбэрээр, зөвхөн нууц үгийг шифрлэгдсэн TLS туннелээр цацдаг явдал юм. EAP-TTLS нь хэрэглэгчийн нэр болон нууц үгт зориулж TLS туннелийг ашиглах болно.

Бид `/etc/wpa_supplicant.conf` файлыг засварлаж EAP-PEAP-тэй холбоотой тохируулгуудыг нэмэх хэрэгтэй болно:

    network={
      ssid="freebsdap"
      proto=RSN
      key_mgmt=WPA-EAP
      eap=PEAP
      identity="test"
      password="test"
      ca_cert="/etc/certs/cacert.pem"
      phase1="peaplabel=0"
      phase2="auth=MSCHAPV2"
    }

  Энэ талбарт бид өөрийн холболтондоо зориулж EAP аргыг ашиглахаа дурдана.
  `identity` талбар нь шифрлэгдсэн TLS туннель доторх EAP нэвтрэлт танилтад зориулсан таниулах мөрийг агуулна.
  `password` талбар нь EAP нэвтрэлт танилтад зориулсан нэвтрэх үгийг агуулна.
  `ca_cert` талбар нь CA сертификатын файлын замын нэрийг заана. Энэ файл нь серверийн сертификатыг шалгахад хэрэгтэй байдаг.
  Энэ талбар нь нэвтрэлт танилтын (TLS туннель) эхний үед зориулсан параметрүүдийг агуулна. Ашигласан нэвтрэлт танилтын серверээс хамаараад нэвтрэлт танилтад зориулж тусгай хаяг/шошгыг зааж өгөх хэрэгтэй болно. Ихэнх тохиолдолд хаяг/шошго нь “клиентийн EAP шифрлэлт” байх бөгөөд үүнийг `peaplabel=0` гэж тохируулна. Илүү мэдээллийг wpa_supplicant.conf(5) гарын авлагын хуудаснаас олж болно.
  Энэ талбарт бид шифрлэгдсэн TLS туннельд ашиглагдсан нэвтрэлт танилтын аргыг заана. PEAP-ийн хувьд энэ нь `auth=MSCHAPV2` байна.

Доор дурдсаныг `/etc/rc.conf` файлд нэмэх ёстой:

    ifconfig_ath0="WPA DHCP"

Дараа нь бид интерфэйсийг босгож ажиллуулж болно:

    # /etc/rc.d/netif start
    Starting wpa_supplicant.
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPREQUEST on ath0 to 255.255.255.255 port 67
    DHCPACK from 192.168.0.20
    bound to 192.168.0.254 -- renewal in 300 seconds.
    ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.254 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (DS/11Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA2/802.11i privacy ON deftxkey UNDEF TKIP 2:128-bit
          txpowmax 36 protmode CTS roaming MANUAL bintval 100

#### 31.3.3.1.4 WEP

WEP (Wired Equivalent Privacy) нь анхдагч 802.11 стандартын хэсэг юм. Үүнд ямар ч нэвтрэлт танилтын арга байхгүй, энэ нь хандалт хяналтын зөвхөн сул хэлбэр бөгөөд хялбар эвдэх боломжтой байдаг.

WEP-ийг `ifconfig` тушаалаар тохируулж болно:

    # ifconfig ath0 ssid my_net wepmode on weptxkey 3 wepkey 3:0x3456789012 \
            inet 192.168.1.100 netmask 255.255.255.0

- `weptxkey` нь дамжуулалтад ямар WEP түлхүүр ашиглахыг хэлж байна. Энд бид гурав дахь түлхүүрийг ашиглаж байна. Энэ нь хандалтын цэг дэх тохиргоотой таарах ёстой. Хэрэв та хандалтын цэг дээр ямар түлхүүр ашиглагдаж байгааг мэдэхгүй байгаа бол энэ утгад `1`-ийг (өөрөөр хэлбэл эхний түлхүүр) ашиглах хэрэгтэй.

- `wepkey` нь сонгогдсон WEP түлхүүрийг тохируулахыг хэлнэ. Энэ нь `index:key` хэлбэрийн байх ёстой бөгөөд индекс өгөгдөөгүй бол түлхүүр `1` тохируулагдана. Энэ нь хэрэв бид эхний түлхүүрээс өөр түлхүүрүүдийг ашиглах бол индексийг тохируулах хэрэгтэй гэсэн үг юм.

  > Note: Та `0x3456789012`-г хандалтын цэг дээр ашиглахаар тохируулсан түлхүүрээр солих ёстой.

Цаашхи мэдээллийг ifconfig(8) гарын авлагын хуудаснаас унших нь зүйтэй юм.

`wpa_supplicant` хэрэгслийг өөрийн утасгүй интерфэйсийг WEP-тэй тохируулахын тулд бас ашиглаж болно. Дараах мөрийг `/etc/wpa_supplicant.conf` файлд нэмж дээрх жишээг тохируулж болно:

    network={
      ssid="my_net"
      key_mgmt=NONE
      wep_key3=3456789012
      wep_tx_keyidx=3
    }

Дараа нь:

    # wpa_supplicant -i ath0 -c /etc/wpa_supplicant.conf
    Trying to associate with 00:13:46:49:41:76 (SSID='dlinkap' freq=2437 MHz)
    Associated with 00:13:46:49:41:76

## 31.3.4 Ad-hoc горим

IBSS горим буюу бас ad-hoc гэгддэг горим нь цэгээс цэгт холбогдох холболтуудад зориулагдан хийгдсэн. Жишээ нь `A` машин болон `B` машины хооронд ad-hoc сүлжээ үүсгэхийн тулд бид ердөө л хоёр IP хаяг болон SSID сонгох хэрэгтэй болно.

`A` машин дээр:

    # ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.1 netmask 255.255.255.0
    # ifconfig ath0
      ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
          inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
          ether 00:11:95:c3:0d:ac
          media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
          status: associated
          ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
          authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

`adhoc` параметр нь интерфэйс IBSS горимд ажиллаж байгааг харуулж байна.

`B` машин дээр бид `A` машиныг илрүүлж чадах ёстой:

    # ifconfig ath0 up scan
      SSID            BSSID              CHAN RATE  S:N   INT CAPS
      freebsdap       02:11:95:c3:0d:ac    2   54M 19:3   100 IS

Гаралт дээрх `I` нь `A` машин ad-hoc горимд байгааг батална. Бид одоо `B`-г өөр IP хаягтайгаар тохируулах хэрэгтэй:

    # ifconfig ath0 ssid freebsdap mediaopt adhoc inet 192.168.0.2 netmask 255.255.255.0
    # ifconfig ath0
      ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect <adhoc> (autoselect <adhoc>)
          status: associated
          ssid freebsdap channel 2 bssid 02:11:95:c3:0d:ac
          authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

`A` болон `B` нь одоо мэдээлэл солилцоход бэлэн боллоо.

## 31.3.5 FreeBSD хандах цэг болж ажиллах

FreeBSD нь Access Point (AP) буюу хандах цэг болж ажилласнаар нэмэлт хандах цэг болсон төхөөрөмж худалдаж авах эсвэл цэгээс цэгийн хооронд холбогдож ажилладаг сүлжээ байгуулах зэрэг нэмэлт үйлдлүүдийг хэмнэж болдог. Хэрэв таны FreeBSD машин сүлжээнээс сүлжээний хооронд дамжуулдаг гүүр болж (жишээ нь интернэтэд холбож) ажиллах шаардлагатай үед илүү тохирдог.

### 31.3.5.1 Үндсэн тохиргоо

FreeBSD машинаа хандах цэг болж ажилладгаар тохируулахаасаа өмнө цөмөө сүлжээнийхээ картанд тохируулж тохируулсан байх ёстой. Та мөн хэрэглэх нууцлалын дамжуулах протокол буюу бүртгэлээ нэмэх хэрэгтэй. Нэмэлт мэдээллийг Section 31.3.2 хэсгээс харна уу.

> Note: NDIS хэмээгч драйвер орлуулагч болон Виндоусын драйверуудыг ашигласан тохиолдолд хандах цэг болгож ашиглах боломж одоогоор байхгүй. Зөвхөн FreeBSD-н үндсэн утасгүй холболтын драйвер л хандах цэг болох горимыг дэмжиж байгаа.

Утасгүй холболтын сүлжээ дэмжигдэх ажилладаг болж ирэнгүүт нь утасгүй сүлжээний төхөөрөмж тань тухайн машин дээрээ хандах цэг болж ажиллах чадвартайг шалгаж болдог (заримдаа hostap горим гэж нэрлэдэг):

    # ifconfig ath0 list caps
    ath0=783ed0f<WEP,TKIP,AES,AES_CCM,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME>

Дээрх тушаалын гаралтаас `HOSTAP` гэдэг үг нь тухай утасгүй сүлжээний карт нь хандах цэг болж ажиллах чадвартай гэдгийг баталж өгч байна. Мөн төрөл бүрийн нууцлалын боломжууд нь WEP, TKIP, WPA2, гэх мэтээр дурдагддаг бөгөөд эдгээр нь хандах цэгийн дамжуулалтаа нууцлахад нь хэрэглэгдэх чухал хэрэгтэй мэдээлэл болж өгдөг.

Одоо утасгүй сүлжээний төхөөрөмж нь hostap горимд шилжиж өөрийн гэсэн SSID дугаар болон IP хаягаа аваад ажиллах боломжтой болно:

    # ifconfig ath0 ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0

Дахин `ifconfig` тушаалаар `ath0` төхөөрөмжийн төлөв байдлыг шалгая:

    # ifconfig ath0
      ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
          inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
          ether 00:11:95:c3:0d:ac
          media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode OPEN privacy OFF txpowmax 38 bmiss 7 protmode CTS burst dtimperiod 1 bintval 100

`hostap` үг нь уг төхөөрөмжийг тухайн машин дээр хандах цэг болж ажиллаж байгааг нь илэрхийлж байна.

Тухайн төхөөрөмжийн ийм тохируулгыг машин асах үед нь хийгдэхээр тохируулъя гэж бодсон тохиолдолд `/etc/rc.conf` файлд дараах мөрийг оруулж өгөх хэрэгтэй:

    ifconfig_ath0="ssid freebsdap mode 11g mediaopt hostap inet 192.168.0.1 netmask 255.255.255.0"

### 31.3.5.2 Тухайн машин дээр хандах цэг нь нэвтрэх үйлдэл болон нууцлах үйлчилгээ ашиглахгүй ажиллах

Хэдийгээр хандах цэгийг нэвтрэх үйлдэл болон холболтын нууцлал ашиглахгүйгээр ажиллуулах нь тийм сайшаалтай биш боловч хандах цэгийн ажиллагааг шалгахын тулд ингэж тохируулж ажиллуулах шаардлага гардаг. Энэ тохируулга нь мөн хэрэглэгчтэй холбогдолтой хүндрэлүүдийг шийдэхэд бас хэрэглэгдэж болно.

Өмнө харуулснаар тохируулагдсан хандах цэгийг өөр утасгүй сүлжээтэй ажиллаж буй машинаас хайлт хийж олж болдог:

    # ifconfig ath0 up scan
    SSID            BSSID              CHAN RATE  S:N   INT CAPS
    freebsdap       00:11:95:c3:0d:ac    1   54M 22:1   100 ES

Хэрэглэгч машинаас хандах цэгийг ингэж олоод түүнтэй дараах маягаар холбогдож болно:

    # ifconfig ath0 ssid freebsdap inet 192.168.0.2 netmask 255.255.255.0
    # ifconfig ath0
      ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet6 fe80::211:95ff:fed5:4362%ath0 prefixlen 64 scopeid 0x1
          inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.255
          ether 00:11:95:d5:43:62
          media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/54Mbps)
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode OPEN privacy OFF txpowmax 36 protmode CTS bintval 100

### 31.3.5.3 WPA нууцлалтай хандах цэг болсон машин

Энэ хэсэгт хандах цэг болж ажиллаж буй FreeBSD машиныг WPA нууцлалын бүртгэл хэрэглэх тухай өгүүлэх болно. WPA нууцлалтай холбогдолтой болон WPA дээр суурилсан хэрэглэгчийн тохиргооны талаар дэлгэрэнгүй мэдээллийг Section 31.3.3.1.3 хэсгээс хараарай.

hostapd нэртэй далд чөтгөр нь WPA-г ашиглаж буй хандах цэг дээр хэрэглэгчийг нэвтрүүлэх болон түлхүүр үг солилцох үйлдлүүдэд зориулагдсан байдаг.

Дараах жишээн дээр бүх тохиргооны үйлдлүүд нь хандах цэг болж ажиллаж буй FreeBSD машин дээр гүйцэтгэгдэх болно. Хандах цэг зөв ажиллаж эхэлсэн үед hostapd далд чөтгөрийг автоматаар машиныг ачаалагдах үед зөвшөөрөхийн тулд `/etc/rc.conf` файлд дараах мөрийг нэмж өгөх хэрэгтэй:

    hostapd_enable="YES"

hostapd далд чөтгөрийг тохируулахаасаа өмнө Section 31.3.5.1 хэсэгт заасан ерөнхий тохиргоог хийсэн эсэхээ магадлаарай.

#### 31.3.5.3.1 WPA-PSK

WPA-PSK нь хэрэглэгчид нэвтрэх үйлдэл хийдэг сервер шаардлагагүй юм уу эсвэл боломжгүй болсон бага зэргийг сүлжээнд зориулагдсан билээ.

Тохиргоо нь `/etc/hostapd.conf` файлд хийгддэг:

    interface=ath0
    debug=1
    ctrl_interface=/var/run/hostapd
    ctrl_interface_group=wheel
    ssid=freebsdap
    wpa=1
    wpa_passphrase=freebsdmall
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=CCMP TKIP

  Энэ талбар нь хандах цэг болж ажиллаж буй утасгүй сүлжээний төхөөрөмжийг заадаг.
  hostapd-н гүйцэтгэж байгаа явцыг харуулалтын түвшинг заадаг талбар. `1` гэсэн утга нь хамгийн бага түвшинг зааж байгаа билээ.
  `ctrl_interface` гэсэн талбар нь hostapd-д хэрэглэгддэг hostapd_cli(8) төрлийн гадны програмуудтай холбогдоход хэрэглэгддэг домэйн сокет файлуудыг хадгалах сангийн байрлалыг зааж өгдөг. Энд анхдагч утга нь хэрэглэгдсэн байна.
  `ctrl_interface_group` гэсэн мөрөнд хяналт хийдэг төхөөрөмж рүү хандаж болох бүлгийн нэр (энд `wheel` бүлгийг оруулсан) байна.
  Энэ талбарт сүлжээний нэрийг оруулдаг.
  `wpa` талбар нь WPA нууцлалыг зөвшөөрдөг бөгөөд ямар бүртгэл шаардлагатайг нь тодорхойлж өгнө. `1` гэсэн утга нь хандах цэгийг WPA-PSK нууцлалаар тохируулдаг.
  `wpa_passphrase` талбарт ASCII тэмдэгтээр бичигдсэн WPA нэвтрэх үйлдлийн нууц үг агуулагддаг.

  > Warning: Болж өгвөл урт олон үсэгнээс бүтсэн таахад хялбар биш чангавтар нууц үг сонгох хэрэгтэй.

  `wpa_key_mgmt` мөр нь хэрэглэж буй түлхүүр үгний зориулалтанд хамаатай. Манай тохиолдолд энэ нь WPA-PSK байна.
  `wpa_pairwise` талбар нь хандах цэгт тохиромжтой нууц хувиргалтуудыг харуулдаг. Энд TKIP (WPA) ба CCMP (WPA2) хувиргагчид хоёулаа хүлээн зөвшөөрөгдөнө. CCMP хувиргагч нь TKIP-н бас нэг хувилбар бөгөөд боломжтой бол үүнийг илүүд үзэх хэрэгтэй. TKIP хувиргагчийг CCMP хувиргагч хэрэглэх боломжгүй үед л сонгох нь зүйтэй.

Дараагийн алхам нь hostapd-г эхлүүлэх:

    # /etc/rc.d/hostapd forcestart

    # ifconfig ath0
      ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2290
          inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
          inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
          ether 00:11:95:c3:0d:ac
          media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode WPA2/802.11i privacy MIXED deftxkey 2 TKIP 2:128-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100

Хандах цэг одоо ажиллагаанд орсон бөгөөд хэрэглэгчийн зүгээс холбогдох тухай дэлгэрэнгүй мэдээллийг Section 31.3.3.1.3 хэсгээс харна уу. Хандах цэгт холбогдсон төхөөрөмжүүдийг `ifconfig `ath0` list sta` гэсэн тушаалаар харж болно.

### 31.3.5.4 WEP нууцлал хэрэглэж хандах цэг болсон машин

Ямар ч нэвтрэх үйлдэл хэрэглэдэггүй учраас амархан дайралтад өртдөгийн улмаас WEP нууцлалын хувиргуурыг хэрэглэх нь тийм сайшаалтай биш. Зарим худалдаанд хэрэглэгдэж буй утасгүй сүлжээний картууд нь зөвхөн WEP нууцлалын бүртгэл хэрэглэдэг ба ийм картуудыг хандах цэг болгож хэрэглэхээр бол хэрэглэгчийн таних үйлдэл хийхээр тохируулах боломж байхгүй байх болно.

Утасгүй сүлжээний төхөөрөмж тэгэхээр одоо hostap горимд ажиллаж болох бөгөөд шаардлагатай зөв SSID дугаар болон IP хаягаа авах шаардлагатай:

    # ifconfig ath0 ssid freebsdap wepmode on weptxkey 3 wepkey 3:0x3456789012 mode 11g mediaopt hostap \
        inet 192.168.0.1 netmask 255.255.255.0

- `weptxkey` гэдэг нь дамжуулалтад WEP нууцлал хэрэглэхийг зааж өгч байна. Энд бид гуравдугаар түлхүүрийг (түлхүүрийн дугаар нь `1` гэсэн тоогоор эхэлдэг) хэрэглэсэн байна. Энэ сонголт нь дамжуулагдах өгөгдлийг хувиргахад хэрэглэгддэг.

- `wepkey` гэдэг нь WEP түлхүүрийг сонгосныг зааж байна. Энэ нь `index:key` гэсэн хэлбэртэй байдаг ба хэрэв эхний дугаарлалт нь заагдаагүй бол түлхүүр нь `1` гэж суугддаг. Тэгэхээр хэрэв эхний түлхүүрээс өөр түлхүүр хэрэглэх шаардлагатай бол эхний дугаарлалтыг нь зааж өгөх шаардлагатай гэсэн үг.

Ингээд дахин `ifconfig` тушаалыг ашиглаж `ath0` төхөөрөмжийн төлөв байдлыг шалгаж болно:

    # ifconfig ath0
      ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
          inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
          inet6 fe80::211:95ff:fec3:dac%ath0 prefixlen 64 scopeid 0x4
          ether 00:11:95:c3:0d:ac
          media: IEEE 802.11 Wireless Ethernet autoselect mode 11g <hostap>
          status: associated
          ssid freebsdap channel 1 bssid 00:11:95:c3:0d:ac
          authmode OPEN privacy ON deftxkey 3 wepkey 3:40-bit txpowmax 36 protmode CTS dtimperiod 1 bintval 100

Өөр утасгүй холбогддог машинаас хандах цэгийг хайж шалгаж болдог:

    # ifconfig ath0 up scan
    SSID            BSSID              CHAN RATE  S:N   INT CAPS
    freebsdap       00:11:95:c3:0d:ac    1   54M 22:1   100 EPS

Хэрэглэгчийн машинаас хандах цэгийг олоод зөв тохиргоог нь зааж өгөн (дугаар түлхүүр гэх мэт) холбогдох тухай дэлгэрэнгүй зааврыг Section 31.3.3.1.4 хэсгээс харна уу.

## 31.3.6 Алдааг олж засварлах

Хэрэв та утасгүй сүлжээндээ асуудалтай байгаа бол асуудлыг олж засварлахад туслах хэд хэдэн алхмууд байдаг.

- Хайлт хийж байхдаа та хандалтын цэгийг олж харахгүй байгаа бол та өөрийн утасгүй төхөөрөмжөө тодорхой хэдэн сувгууд дээр хязгаарлаж тохируулаагүй эсэхээ шалгаарай.

- Хэрэв та хандалтын цэгт холбогдож чадахгүй байгаа бол таны станцын тохиргоо хандалтын цэгийн аль нэгтэй тохирч байгаа эсэхийг шалгаарай. Үүнд нэвтрэлт танилтын схем болон аюулгүй байдлын протоколууд хамаарна. Өөрийн тохиргоогоо аль болох хялбаршуулах хэрэгтэй. Хэрэв та WPA эсвэл WEP зэрэг аюулгүй байдлын протоколыг ашиглаж байгаа бол хандалтын цэгийг нээлттэй нэвтрэлт танилтад зориулж ямар нэгэн аюулгүй байдлын хамгаалалтгүй тохируулж урсгал дамжиж байгаа эсэхийг үзэх хэрэгтэй.

- Хандалтын цэгт холбогдсоныхоо дараа ping(8) зэрэг хялбар хэрэгслүүдийг ашиглаад ямар ч аюулгүй байдлын тохиргоог оношилж болно.

  `wpa_supplicant` нь илүү дибаг хийх дэмжлэгтэй байдаг; үүнийг `-dd` сонголттой гараар ажиллуулж системийн бүртгэлүүдийг шалгах хэрэгтэй.

- Мөн олон доод түвшний дибаг хийх хэрэгслүүд бас байдаг. Та 802.11 протоколын дэмжлэг давхаргад дибаг мэдэгдлүүдийг `/usr/src/tools/tools/net80211` дахь `wlandebug` програмыг ашиглан идэвхжүүлж болно. Жишээ нь:

      # wlandebug -i ath0 +scan+auth+debug+assoc
        net.wlan.0.debug: 0 => 0xc80000<assoc,auth,scan>

  тушаал нь хандалтын цэгүүдийг хайх болон холбоог зохион байгуулах 802.11 протоколын мэдээлэл солилцоонуудыг хийхтэй холбоотой консолын мэдэгдлүүдийг идэвхжүүлэхэд ашиглагдаж болох юм.

  802.11 давхаргын арчилж байдаг олон ашигтай статистикууд бас байдаг; эдгээр мэдээллүүдийг `wlanstats` хэрэгсэл харуулах болно. Эдгээр статистикууд нь 802.11 давхаргаар танигдсан бүх алдаануудыг таних ёстой. Гэхдээ 802.11 давхаргаас доош орших төхөөрөмжийн драйверууд дээр танигдсан зарим алдаанууд нь харуулагдахгүй байж болохыг санаарай. Төхөөрөмжтэй холбоотой асуудлуудыг оношлохын тулд та драйверийн баримтаас лавлах хэрэгтэй юм.

Хэрэв дээрх мэдээлэл асуудлыг тодруулахад тань туслахгүй байгаа бол дээрх хэрэгслүүдээс гарсан гаралтыг оруулж асуудлынхаа тайланг илгээгээрэй.

Prev | Home | Next
Гарцууд болон Чиглүүлэлтүүд | Up | Bluetooth

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.