Về cơ bản, tôi muốn sử dụng iwconfig
để kết nối với mạng wifi của mình khi tôi không ở trong X. Nhưng tôi không thấy cách nào để làm điều đó trong trang man. Ý tưởng nào không?
Về cơ bản, tôi muốn sử dụng iwconfig
để kết nối với mạng wifi của mình khi tôi không ở trong X. Nhưng tôi không thấy cách nào để làm điều đó trong trang man. Ý tưởng nào không?
Câu trả lời:
iw
(list / config) chỉ có thể xử lý WEP.
Bạn cần wpasupplicant
gói cung cấp wpa_supplicant
lệnh, cài đặt nếu cần thiết thông qua sudo apt-get install wpasupplicant
.
Bạn đặt SSID và mật khẩu của bạn vào /etc/wpa_supplicant.conf
(yêu cầu sudo).
Thí dụ:
network={
ssid="ssid_name"
psk="password"
}
Giả sử giao diện của bạn là wlan0, bạn có thể kết nối với:
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf -D wext
sudo dhclient wlan0
"Wext" là trình điều khiển và sẽ cụ thể cho từng thẻ; tham khảo wpa_supplicant -h
. Ví dụ:
hostap (default) Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxant DriverLoader).
hermes Agere Systems Inc. driver (Hermes-I/Hermes-II).
madwifi MADWIFI 802.11 support (Atheros, etc.).
atmel ATMEL AT76C5XXx (USB, PCMCIA).
wext Linux wireless extensions (generic).
ndiswrapper Linux ndiswrapper.
broadcom Broadcom wl.o driver.
ipw Intel ipw2100/2200 driver.
wired wpa_supplicant wired Ethernet driver
roboswitch wpa_supplicant Broadcom switch driver
bsd BSD 802.11 support (Atheros, etc.).
ndis Windows NDIS driver.
wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && dhclient wlan0
không kết nối được với mạng không dây, mặc dù theo mặc định, Trình quản lý mạng kết nối tôi với mạng Tôi muốn thử cách sử dụng dòng lệnh?
root
(quản trị viên hệ thống). Vì vậy, sudo wpa_supplicant -B -iwlan0 -c/etc/wpa_supplicant.conf -Dwext && sudo dhclient wlan0
hoặc chia chúng thành hai lệnh xung quanh &&
.
Liên kết này cho thấy tất cả và hoạt động tốt với tôi: http://linux.icydog.net/wpa.php
Tôi đang sao chép nội dung ở đây, vì vậy chúng tôi có nó, trong trường hợp trang web đó ngoại tuyến.
Dòng lệnh WPA
Đôi khi, bạn sẽ ở một dòng lệnh không có quyền truy cập vào các công cụ mạng GUI - nhưng điểm truy cập của bạn được bảo mật bằng WPA. Bạn làm nghề gì?
Giả sử card không dây của bạn thực sự hoạt động (tức là iwconfig có thể nhìn thấy nó và tương tác với nó), sử dụng wpa_supplicant thực sự khá đơn giản. Cài đặt wpa_supplicant
Hầu hết các bản phân phối hiện nay đều có cài đặt wpa_supplicant theo mặc định. Nếu bạn có sẵn các lệnh wpa_passphrase và wpa_supplicant, thì bạn nên đi. Nếu không, bạn sẽ cần cài đặt gói bằng cách thực hiện một cái gì đó như (đối với Ubuntu):
$ sudo apt-get install wpasupplicant
Hoặc (đối với Fedora):
# yum install wpa_supplicant
Hoặc bất cứ lệnh nào là dành cho bản phân phối của bạn.
Tạo tập tin cấu hình
Bây giờ wpa_supplicant đã được cài đặt, chúng tôi sẽ tạo tệp cấu hình của nó. Khi bạn biết cụm mật khẩu SSID và WPA, tất cả những gì bạn phải làm là chạy:
$ wpa_passphrase myrouter mypassphrase > wpa.conf
Tất nhiên, thay thế "myrouter" bằng SSID của bộ định tuyến của bạn, "mypassph khẩu" bằng cụm mật khẩu WPA và "wpa.conf" bằng bất kỳ tệp nào bạn muốn lưu trữ cấu hình. Tên tệp này không phải theo một định dạng cụ thể hoặc có một phần mở rộng cụ thể.
Ngoài ra, để tránh nhập cụm mật khẩu trên dòng lệnh (để nó không được lưu trong lịch sử của trình bao), bạn có thể chỉ định SSID trên dòng lệnh. wpa_passphrase sẽ đợi bạn nhập cụm mật khẩu theo sau là enter:
$ wpa_passphrase myrouter > wpa.conf
mypassphrase
Bạn nên kết thúc với một tập tin trông như thế này:
network={
ssid="myrouter"
#psk="mypassphrase"
psk=8ada1f8dbea59704ac379538b4d9191f6a72390581b4cd7a72864cea685b1a7f
}
Kết nối
Bây giờ chúng tôi thực sự sẽ chạy wpa_supplicant để kết nối với mạng không dây. Đầu tiên, nếu bộ định tuyến của bạn phát SSID của nó (tất cả đều làm theo mặc định), bạn có thể muốn đảm bảo rằng thẻ không dây của bạn thực sự có thể nhìn thấy nó:
$ iwlist scan
Bạn có thể phải chạy nó với quyền root để bắt buộc làm mới.
Tiếp theo, bạn sẽ cần biết ba thông tin:
wpa_supplicant --help
liệt kê các trình điều khiển khác nhau mà nó có (trong "trình điều khiển:"). Tính đến 0.5.8, các lựa chọn hữu ích là: wext
, hostap
, madwifi
, atmel
, ndiswrapper
, và ipw
(IPW chỉ dành cho kernel cũ;> = 2.6.13 nên sử dụng wext). Nếu bạn không thấy một trận đấu cụ thể cho thẻ của mình, hãy thử wext, vì đó là loại hấp dẫn.iwconfig
. Nó sẽ báo cáo "không có tiện ích mở rộng không dây" cho các thiết bị không dây và sẽ hiển thị một số dữ liệu cho mọi thiết bị không dây.Bây giờ bạn có dữ liệu này, hãy chạy (với quyền root):
# wpa_supplicant -D[driver] -i[device] -c[/path/to/config]
Không có khoảng cách giữa các tùy chọn và tham số. Đừng bao gồm các dấu ngoặc khi tôi vừa thêm chúng vào cho rõ ràng. Ví dụ, đối với máy tính xách tay của tôi, nó trông như thế này:
# wpa_supplicant -Dwext -ieth1 -c/root/wpa.conf
Bạn cũng có thể chạy nó trong nền bằng cách sử dụng -B
tùy chọn để nó không chiếm bàn điều khiển của bạn.
Bây giờ bạn được liên kết với mạng.
Bắt đầu trực tuyến
Để thực sự có được trực tuyến, bạn sẽ phải có một IP bằng cách nào đó. Hầu hết mọi người sẽ chỉ muốn nhận một IP động từ máy chủ DHCP, có thể là IP được tích hợp trong bộ định tuyến. (Tôi sẽ không bao gồm cài đặt IP tĩnh và bảng định tuyến vì bản thân nó là một con thú.)
Để có được hợp đồng thuê DHCP, trước tiên hãy phát hành bất cứ thứ gì cho thuê mà bạn vẫn đang giữ (với quyền root):
# dhclient -r
Sau đó yêu cầu một hợp đồng mới (tất nhiên thay thế eth1 bằng tên của thiết bị mạng của bạn, giống như bạn đã sử dụng trong phần trước):
# dhclient eth1
Bây giờ bạn có một IP, trên lý thuyết ít nhất. Chúc bạn lướt sóng vui vẻ!
Debian và các bản phân phối khác có wpa_s repeatant chạy như một dịch vụ theo mặc định để quản lý các mạng wifi. wpa_s repeatant có thể được xử lý bởi các máy khách / giao diện người dùng khác nhau, chẳng hạn như GUI của trình quản lý mạng. Điều này được giải thích tốt hơn trong wiki debian này .
wpa_cli là dòng lệnh wpa_s repeatant client để quản lý các mạng wifi.
Chỉnh sửa : Tôi vừa tìm thấy bài đăng này giải thích cách sử dụng nmcli và nó tốt hơn nhiều so với wpa_cli vì nó tương thích với Trình quản lý mạng GUI và các cài đặt của chúng và các mạng wifi đã lưu.
Ví dụ về việc sử dụng wpa_cli :
Kiểm tra xem tôi đã có giao diện mạng kích hoạt wifi chưa:
# iwconfig
wlan0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Kiểm tra xem quá trình wpa_s repeatant đang chạy:
# ps -e | grep wpa
1881 ? 00:00:07 wpa_supplicant
Nhập vào chế độ tương tác máy khách wpa:
# wpa_cli
Liệt kê các điểm truy cập có sẵn:
> scan
> scan_results
... và bạn nhận được một cái gì đó như thế này:
bssid / frequency / signal level / flags / ssid
e0:60:66:7c:81:7f 2417 -66 [WPA2-PSK-CCMP][ESS] vodafone817E
e0:60:66:61:83:4b 2452 -76 [WPA2-PSK-CCMP][WPS][ESS] vodafone834A
f8:8e:85:c5:65:c2 2462 -76 [WPA-PSK-CCMP+TKIP][WPS][ESS] MOVISTAR_65C1
a8:d3:f7:46:0c:be 2472 -83 [WPA-PSK-CCMP+TKIP][WPA2-PSK-CCMP+TKIP][WPS][ESS] Orange-0CBC
...
Thêm AP của bạn:
> add_network
> set_network 0 ssid "vodafone817E"
> set_network 0 psk "my-pass-phrase"
Chọn nó như hiện tại:
> enable_network 0
Kết nối với nó:
> reconnect
Kiểm tra trạng thái:
> status
Thoát wpa_cli:
> quit
Từ trình bao, yêu cầu DHCP cho cài đặt IP và mạng:
# dhclient -r
# dhclient wlan0
wpa_cli
và sau đó bạn viết wpa_client
? Trên Kubfox 18.10 wpa_client
dường như không tồn tại dưới dạng một lệnh
Đầu tiên hãy nâng thẻ của bạn lên nếu không phải là runnig:
ifconfig wlan0 up
Đặt tham số theo mạng của bạn
iwlist wlan0 scan
iwconfig wlan0 essid NETWORK_ID key WIRELESS_KEY
Thực sự có một cách để làm điều đó bằng NetworkManager, nếu bạn đã checkbox
cài đặt gói.
sudo /usr/share/checkbox/create_connection SSID --security=wpa -key=WPA-KEY
(Tín dụng: lỗi 923836 , xuất hiện trong các tìm kiếm của tôi về chủ đề này.)
Tất cả các câu trả lời cho thấy wpa_supplicant đều sai. Có, nó có thể kết nối bạn với mạng WPA, nhưng về lâu dài đó là một giải pháp tồi vì sẽ rất khó để duy trì và sẽ không chơi tốt với kết nối có dây. Đọc câu trả lời này và làm cho cuộc sống của bạn dễ dàng hơn bằng cách sử dụng Trình quản lý mạng từ dòng lệnh. Tôi đã lãng phí hàng giờ để cố gắng định cấu hình wpa_supplicant, sau đó thử nmcli và nó "chỉ hoạt động".
Bạn có thể sử dụng VSWM - Trình quản lý không dây rất đơn giản. Bạn đặt các AP đã biết của mình vào một tệp cfg đơn giản (/etc/vswm.cfg) và khi bạn chạy vswm
nó, quét các mạng có sẵn và kết nối thẻ của bạn với đầu tiên xuất hiện trên /etc/vswm.cfg.
VSWM có sẵn tại https://github.com/dmelo/vswm . Đây là một lựa chọn về cách tệp cấu hình vswm.cfg trông như thế nào:
[global]
dev = wlan0
dns = ["4.2.2.1","8.8.8.8"]
[wlan0-0]
ssid = Network1
psk = netpassword
protocol = WPA
net = dhcp
[wlan0-1]
ssid = Network2
protocol = WEP
net = static
address = 192.168.0.15/24
Trong mũ trùm, nó sử dụng các công cụ dòng lệnh tiêu chuẩn: iwlist, wpa_supplicant, iwconfig, dhclient ... Chỉ có nó tự động hóa công việc.
Tôi gặp sự cố khi sử dụng wpa_supplicant
trực tiếp để truy cập mạng không dây. ID mạng và mật khẩu của tôi đã tạo ra lỗi khi tôi sử dụng wpa_supplicant.conf
tệp trên wpa_supplicant
dòng lệnh, vd
sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B
Tôi đã có thể làm việc xung quanh nó với wpa_cli
. Chuỗi lệnh tôi phải sử dụng, vì tôi đang sử dụng trình điều khiển Windows với Linux ndiswrapper, là:
sudo modprobe ndiswrapper
sudo iwconfig wlan0 essid "<My Network ID>" mode managed
sudo wpa_cli identity "<My Network ID>" password "<My password>"
Tôi đã thiết lập mạng bằng cách thêm nó vào phần không dây của mạng trong GUI, để tôi có thể nhấp vào biểu tượng mạng có dây hoặc không dây và chọn nhà cung cấp không dây (đôi khi cần thiết để hoàn tất đăng nhập).
Đây nmcli
là phiên bản dòng lệnh của ứng dụng quản lý mạng mặc định trên Ubuntu.
Một số ưu điểm là nó sử dụng cấu hình bạn đã có từ giao diện đồ họa và nó không cần quyền truy cập root.
Bạn có thể chạy nmcli
để hiển thị các tùy chọn có sẵn.
Ví dụ để kết nối với wifi có tên MYESSID:
nmcli c up MYESSID