Slackware의 무선

Slackware의 무선

좋아, 드디어 Slackware에서 무선 기능을 사용할 수 있게 되었습니다. 문제는 내가 하고 있는 일을 잘 이해하지 못한다는 것이다. 저는 현재 루트이고 무선을 사용하려면 먼저 다음을 수행해야 합니다.

wpa_supplicant -c/etc/wpa_supplicant.conf -Dwext -iwlan0

그 다음에:

/etc/rc.d/rc.inet1 wlan0_start

두 번째 줄을 먼저 실행하면 시간이 초과되어 연결할 수 없습니다.

그래서 내 질문은 다음과 같습니다

  1. 이를 수행하는 더 좋은 방법이 있습니까(구성 파일 간에 일종의 충돌이 있습니까)?

  2. 시작할 때 자동으로 이 작업을 수행할 수 있나요?

  3. 루트 이외의 다른 계정에 대해서도 이를 자동화할 수 있나요?

bash-4.1# wpa_supplicant -c/etc/wpa_supplicant.conf -d -Dwext -iwlan0 &
[1] 2935
bash-4.1# Initializing interface 'wlan0' conf '/etc/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
Reading configuration file '/etc/wpa_supplicant.conf'
ctrl_interface='/var/run/wpa_supplicant'
ctrl_interface_group='0'
eapol_version=1
ap_scan=1
fast_reauth=1
Priority group 10
   id=0 ssid=(##hidden##)
Priority group 0
   id=1 ssid=''
WEXT: cfg80211-based driver detected
SIOCGIWRANGE: WE(compiled)=22 WE(source)=21 enc_capa=0xf
  capabilities: key_mgmt 0xf enc 0xf flags 0x0
netlink: Operstate: linkmode=1, operstate=5
Own MAC address: (##HIDDEN##)
wpa_driver_wext_set_key: alg=0 key_idx=0 set_tx=0 seq_len=0 key_len=0
wpa_driver_wext_set_key: alg=0 key_idx=1 set_tx=0 seq_len=0 key_len=0
wpa_driver_wext_set_key: alg=0 key_idx=2 set_tx=0 seq_len=0 key_len=0
wpa_driver_wext_set_key: alg=0 key_idx=3 set_tx=0 seq_len=0 key_len=0
wpa_driver_wext_set_countermeasures
RSN: flushing PMKID list in the driver
Setting scan request: 0 sec 100000 usec
WPS: UUID based on MAC address - (##HIDDEN##)
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: Supplicant port status: Unauthorized
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: Supplicant port status: Unauthorized
EAPOL: Supplicant port status: Unauthorized
ctrl_interface_group=0
Added interface wlan0
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b06 len=12
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b1a len=16
State: DISCONNECTED -> SCANNING
Starting AP scan for wildcard SSID
Scan requested (ret=0) - scan timeout 5 seconds
EAPOL: disable timer tick
EAPOL: Supplicant port status: Unauthorized
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b19 len=16
Scan results did not fit - trying larger buffer (8192 bytes)
Received 7670 bytes of scan results (15 BSSes)
BSS: Start scan result update 1
(##BUNCH OF SSID's for my local removed##)
New scan results available
WPS: Unsupported attribute type 0x1049 len=6
WPS: Unsupported attribute type 0x1049 len=6
Selecting BSS from priority group 10
Try to find WPA-enabled AP
(##HIDDEN##)
Trying to associate with (##HIDDEN##)
Cancelling scan request
WPA: clearing own WPA/RSN IE
Automatic auth_alg selection: 0x1
RSN: using IEEE 802.11i/D9.0
WPA: Selected cipher suites: group 8 pairwise 24 key_mgmt 2 proto 2
WPA: clearing AP WPA IE
WPA: set AP RSN IE - (##HIDDEN##)
WPA: using GTK TKIP
WPA: using PTK CCMP
WPA: using KEY_MGMT WPA-PSK
WPA: Set own WPA IE default - hexdump (##HIDDEN##)
No keys have been configured - skip key clearing
State: SCANNING -> ASSOCIATING
wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT)
netlink: Operstate: linkmode=-1, operstate=5
wpa_driver_wext_associate
wpa_driver_wext_set_drop_unencrypted
wpa_driver_wext_set_psk
Setting authentication timeout: 10 sec 0 usec
EAPOL: External notification - EAP success=0
EAPOL: Supplicant port status: Unauthorized
EAPOL: External notification - EAP fail=0
EAPOL: Supplicant port status: Unauthorized
EAPOL: External notification - portControl=Auto
EAPOL: Supplicant port status: Unauthorized
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b1a len=16
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b06 len=12
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b04 len=16
RTM_NEWLINK: operstate=0 ifi_flags=0x1003 ([UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b1a len=24
RTM_NEWLINK: operstate=0 ifi_flags=0x11003 ([UP][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
RTM_NEWLINK: operstate=0 ifi_flags=0x11003 ([UP][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8c08 len=198
AssocResp IE wireless event - hexdump (##HIDDEN##)
RTM_NEWLINK: operstate=0 ifi_flags=0x11003 ([UP][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
Wireless event: cmd=0x8b15 len=24
Wireless event: new AP: (##HIDDEN##)
Association info event
resp_ies - hexdump(len=182): (##HIDDEN##)
State: ASSOCIATING -> ASSOCIATED
wpa_driver_wext_set_operstate: operstate 0->0 (DORMANT)
netlink: Operstate: linkmode=-1, operstate=5
Associated to a new BSS: BSSID=(##HIDDEN##)
No keys have been configured - skip key clearing
Associated with (##HIDDEN##)
WPA: Association event - clear replay counter
WPA: Clear old PTK
EAPOL: External notification - portEnabled=0
EAPOL: Supplicant port status: Unauthorized
EAPOL: External notification - portValid=0
EAPOL: Supplicant port status: Unauthorized
EAPOL: External notification - EAP success=0
EAPOL: Supplicant port status: Unauthorized
EAPOL: External notification - portEnabled=1
EAPOL: SUPP_PAE entering state CONNECTING
EAPOL: enable timer tick
EAPOL: SUPP_BE entering state IDLE
Setting authentication timeout: 10 sec 0 usec
Cancelling scan request
RX EAPOL (##HIDDEN##)
Setting authentication timeout: 10 sec 0 usec
IEEE 802.1X RX: version=1 type=3 length=95
  EAPOL-Key type=2
  key_info 0x8a (ver=2 keyidx=0 rsvd=0 Pairwise Ack)
  key_length=16 key_data_length=0
  replay_counter - hexdump(len=8): (##HIDDEN##)
  key_nonce - hexdump(len=32): (##HIDDEN##)
  key_iv - hexdump(len=16): (##HIDDEN##)
  key_rsc - hexdump(len=8): (##HIDDEN##)
  key_id (reserved) - hexdump(len=8): (##HIDDEN##)
  key_mic - hexdump(len=16): (##HIDDEN##)
State: ASSOCIATED -> 4WAY_HANDSHAKE
WPA: RX message 1 of 4-Way Handshake from (##HIDDEN##)
RSN: msg 1/4 key data - hexdump(len=0):
WPA: Renewed SNonce - hexdump(len=32): (##HIDDEN##)
WPA: PTK derivation - A1=(##HIDDEN##)
WPA: PMK - hexdump(len=32): [REMOVED]
WPA: PTK - hexdump(len=48): [REMOVED]
WPA: WPA IE for msg 2/4 - hexdump(len=22): (##HIDDEN##)
WPA: Sending EAPOL-Key 2/4
RX EAPOL from (##HIDDEN##)
IEEE 802.1X RX: version=1 type=3 length=175
  EAPOL-Key type=2
  key_info 0x13ca (ver=2 keyidx=0 rsvd=0 Pairwise Install Ack MIC Secure Encr)
  key_length=16 key_data_length=80
  replay_counter - hexdump(len=8): 00 00 00 00 00 00 00 02
  key_nonce - hexdump(len=32): (##HIDDEN##)
  key_iv - hexdump(len=16): (##HIDDEN##)
  key_rsc - hexdump(len=8): (##HIDDEN##)
  key_id (reserved) - hexdump(len=8): (##HIDDEN##)
  key_mic - hexdump(len=16): (##HIDDEN##)
RSN: encrypted key data - hexdump(len=80): (##HIDDEN##)
WPA: decrypted EAPOL-Key key data - hexdump(len=72): [REMOVED]
State: 4WAY_HANDSHAKE -> 4WAY_HANDSHAKE
WPA: RX message 3 of 4-Way Handshake from (##HIDDEN##)(ver=2)
WPA: IE KeyData - hexdump(len=72): (##HIDDEN##)
WPA: RSN IE in EAPOL-Key - hexdump(len=26): (##HIDDEN##)
WPA: GTK in EAPOL-Key - hexdump(len=40): [REMOVED]
WPA: Sending EAPOL-Key 4/4
WPA: Installing PTK to the driver.
wpa_driver_wext_set_key: alg=3 key_idx=0 set_tx=1 seq_len=6 key_len=16
EAPOL: External notification - portValid=1
State: 4WAY_HANDSHAKE -> GROUP_HANDSHAKE
RSN: received GTK in pairwise handshake - hexdump(len=34): [REMOVED]
WPA: Group Key - hexdump(len=32): [REMOVED]
WPA: Installing GTK to the driver (keyidx=2 tx=0 len=32).
WPA: RSC - hexdump(len=6): 00 01 00 00 00 00
wpa_driver_wext_set_key: alg=2 key_idx=2 set_tx=0 seq_len=6 key_len=32
WPA: Key negotiation completed with  [PTK=CCMP GTK=TKIP]
Cancelling authentication timeout
State: GROUP_HANDSHAKE -> COMPLETED
CTRL-EVENT-CONNECTED - Connection to (##HIDDEN##) completed (auth) [id=0 id_str=]
wpa_driver_wext_set_operstate: operstate 0->1 (UP)
netlink: Operstate: linkmode=-1, operstate=6
EAPOL: External notification - portValid=1
EAPOL: External notification - EAP success=1
EAPOL: SUPP_PAE entering state AUTHENTICATING
EAPOL: SUPP_BE entering state SUCCESS
EAP: EAP entering state DISABLED
EAPOL: SUPP_PAE entering state AUTHENTICATED
EAPOL: Supplicant port status: Authorized
EAPOL: SUPP_BE entering state IDLE
EAPOL authentication completed successfully
RTM_NEWLINK: operstate=1 ifi_flags=0x11043 ([UP][RUNNING][LOWER_UP])
RTM_NEWLINK, IFLA_IFNAME: Interface 'wlan0' added
EAPOL: startWhen --> 0
EAPOL: disable timer tick
bash-4.1# /etc/rc.d/rc.inet1 wlan0_start
bash-4.1# BSS: Expire BSS 0 due to age
BSS: Remove id (##HIDDEN##)
BSS: Remove id (##HIDDEN##)
BSS: Remove id (##HIDDEN##)
(etc)

lspci의 출력은 다음과 같습니다.

ubsystem: Intel Corporation Device 1121
        Flags: bus master, fast devsel, latency 0, IRQ 41
        Memory at f8000000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [c8] Power Management version 3
        Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [e0] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Device Serial Number (##HIDDEN##)
        Kernel driver in use: iwlagn
        Kernel modules: iwlagn

답변1

먼저, init 스크립트를 사용하려면 무선 구성을 설정해야 합니다 /etc/rc.d/rc.inet1.conf(루트만 액세스할 수 있다는 점을 기억하십시오. 그렇지 않으면 네트워크 비밀번호가 노출됩니다). 그러나 이것이 어떤 이유로 항상 동일한 무선 네트워크에 있는 시스템이 아닌 이상 더 나은 구성 가능성을 원할 것입니다.

내 경험을 통해 나는 말할 수 있다wicd효과는 꽤 좋습니다. 가능한 모든 인증 가능성을 포착할 수는 없지만 대부분의 경우를 잘 처리해야 합니다.

/etc/rc.d/rc.wicd기본 설정에서는 실행 가능한지 확인하기만 하면 됩니다 (기본적으로). 이렇게 하면 데몬이 생성되고(충분한 권한으로) 클라이언트 부분을 사용하여 데몬에 액세스해야 합니다 wicd-client. 이는 실제로 Wicd의 다양한 프런트 엔드(명령줄, 저주, GTK 및 QT)를 둘러싼 래퍼일 뿐입니다. 그래픽 환경을 사용하는 경우 클라이언트는 시스템 트레이에 아이콘을 유지합니다.

또 다른 옵션은 NetworkManager입니다. 개인적으로 이 옵션은 너무 무겁고 유연성이 매우 부족하다고 계속해서 생각합니다.

네트워킹을 직접 처리하고 싶다면 내 이전 스크립트에서 영감을 얻을 수 있습니다(오류 검사 없이 모든 것이 순조롭게 진행되어야 합니다. 그렇지 않으면 비참하게 실패할 것입니다).

#!/bin/bash
MODULENAME=your_driver
IFWIRED=eth0
IFWIFI=wlan0

case "$1" in
    start)
        # check that the driver module is loaded
        if ! lsmod | grep $MODULENAME &>/dev/null ; then
            echo "loading $MODULENAME"
            modprobe -v $MODULENAME
            sleep 5
        fi
        echo "running wpa_supplicant"
        wpa_supplicant -D wext -i $IFWIFI \
            -c /etc/wpa_supplicant.conf >& /dev/null &
        echo "shutting down $IFWIRED"
        /sbin/ifconfig $IFWIRED down
        # wait for things to settle down
        sleep 10
        echo "running dhcpcd"
        dhcpcd -n -p -d $IFWIFI
        ;;
    stop)
        echo "shutting down dhcpcd on wlan0"
        dhcpcd -k $IFWIRED
        echo "shutting down wpa_supplicant"
        wpa_cli terminate
        echo "unloading $MODULENAME"
        modprobe -rv $MODULENAME
        ;;
    *)
        echo "$0 <start|stop>"
esac

간단한 홈 네트워크에 대한 기본 wpa_supplicant.conf 항목은 다음과 같습니다.

network={
    ssid="YOURNETSSID"
    psk="password"
    proto=WPA2
    key_mgmt=WPA-PSK
    pairwise=TKIP CCMP
    group=TKIP CCMP
}

wpa_supplicant.conf매뉴얼 페이지에는 보다 복잡한 설정에 대한 몇 가지 예가 있습니다(종종 기업 네트워크에서 유용함).

답변2

wpa_supplicant이 무선 구성에 필요합니다.

부팅 시 무선 네트워크가 나타나지 않고 모든 정보가 정확하다고 생각한다면 파일 에서 해당 행의 주석 처리를 rc.inet1.conf제거하는 것을 잊었을 수도 있습니다 . 이 작업을 수행하면 수동으로 줄을 입력할 필요 없이 부팅 프로세스 중에 무선 네트워크가 나타납니다.wpa_supplicantrc.inet1.conf

또한 BatchyX에서 제안한 대로 -Dwext변경했습니다 .-Dnl80211

답변3

처음 슬랙웨어를 설치했을 때 그것을 사용하려면 루트여야 한다는 것을 알았습니다 wpa_supplicant. 시도해 보고 추가되지 않은 경우 및 ( 등의 경우)가 환경 변수에 포함되어 있는지 echo $PATH확인하십시오./sbin/usr/sbinshutdown

export PATH=/sbin:/usr/sbin:$PATH

귀하의 .profile또는 파일로 또는 파일로 .bashrc내보내기/etc/rc.local

내 슬랙웨어 시스템은 너무 안전할 필요가 없기 때문에 명령을 wpa_supplicant에 추가하기로 선택했습니다 /etc/rc.d/rc.local.

wpa_supplicant -B -Dwext -ieth1 -c/etc/wpa_supplicant.conf

그리고 연결하는 모든 네트워크에 대해 다음을 수행합니다.

wpa_passphrase somenetwork somekey >> /etc/wpa_supplicant.conf

잘 작동

관련 정보