Các lệnh của thiết bị đầu cuối tương đương với Tùy chọn của Trình quản lý mạng


10

Tôi đang tạo một ứng dụng gui sẽ điều khiển máy tính xách tay của mình để làm cho nó hoạt động như một điểm phát wifi. Tôi có thể thay đổi phân phối vì vậy tôi muốn tìm một giải pháp sẽ hoạt động chung cho tất cả các phân phối. Tôi hiện đang làm điều này trên Fedora 17.

Sử dụng nút "Sử dụng làm điểm phát sóng" của Trình quản lý mạng hoạt động rất tốt để tạo một điểm nóng đặc biệt: nhập mô tả hình ảnh ở đây

Tôi muốn tạo lại chức năng này với các lệnh đầu cuối.

Dưới đây là hai phương pháp tôi đã cố gắng thực hiện nhưng tôi chưa tìm được giải pháp.


Phương pháp 1: iwconfig
Sử dụng nghiên cứu từ trang web, tôi đã thử lệnh sau:

# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dhclient wlan0

trong đó saved-hotspot-iptablesmột tệp mà tôi đã tạo bằng iptables-save > saved-hotspot-iptablesiptables được đặt bởi chức năng "Sử dụng làm Hotspot".

Phương pháp 1 Sự cố
Thiết bị có thể thấy SSID nhưng không thể kết nối. Chạy ip acho thấy sau đây về wlan0:

...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...

Thông báo NO-CARRIERlà hiện tại, và nhà nước là DORMANTthay vì UP.

Chạy ifconfig wlan0cho thấy như sau:

...
wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
...

Lưu ý rằng RUNNINGthiếu một trong những lá cờ.


Phương pháp 2: nmcli
Nếu nút "Sử dụng làm điểm phát sóng" của Trình quản lý mạng được nhấn ít nhất một lần trên hệ thống, /etc/sysconfig/network-scripts/ifcfg-Hotspotđược tạo và tôi có thể sử dụng lệnh sau để bắt đầu một điểm nóng hoạt động:

# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789

Vấn đề về Phương pháp 2
Nếu người dùng chưa bao giờ nhấn "Sử dụng làm Điểm phát sóng" trên Trình quản lý mạng trước đó, nmcli con up id Hotspotsẽ không hoạt động. Tôi đã xem nm-connection-editor --createnhưng không thể tìm thấy nhiều thông tin. Tôi cũng đã xem xét việc tạo thủ công /etc/sysconfig/network-scripts/ifcfg-Hotspotnhưng phương pháp này có vẻ không thanh lịch hoặc có thể mở rộng cho các bản phân phối khác.


Xin đừng crosspost .
mgorven

1
Hãy thử wicd . Nó tương tự như NetworkManager nhưng có giao diện chế độ văn bản. Tôi không biết nếu nó có tính năng hotspot.
Gilles 'SO- ngừng trở nên xấu xa'

Cảm ơn vì mẹo Gilles, tôi sẽ dùng thử ngay.
Daniel

@Gilles Tôi đã thử wicd nhưng có vẻ như nó thậm chí còn ít chức năng hơn nmcli.
Daniel

Câu trả lời:


1

Xem câu trả lời của tôi cho "Tạo điểm truy cập không dây và chia sẻ kết nối internet với nmcli"

Tôi đã tạo một Hotspot với Trình quản lý mạng Gnome. Vấn đề là, tôi không thể cấu hình SSID và mật khẩu trong GUI. Nếu bạn tạo Hotspot bằng GUI quản lý mạng, nó sẽ tạo tệp /etc/NetworkManager/system-connections/Hotspot. Trong tệp đó có thể chỉnh sửa SSID và mật khẩu.

sudo vim /etc/NetworkManager/system-connections/Hotspot

Nội dung của tệp trông như thế này:

[connection]
id=Hotspot
uuid=0bf627gd-8e34-48c6-865a-06f898b4y1hb
type=wifi
autoconnect=false
permissions=
secondaries=

[wifi]
hidden=false
mac-address=YOUR_WIFI_INTERFACE_MAC_ADDRESS
mac-address-blacklist=
mode=ap
seen-bssids=
ssid=SSID_NAME

[wifi-security]
group=ccmp;
key-mgmt=wpa-psk
pairwise=ccmp;
proto=rsn;
psk=YOUR_WIFI_AP_PASSWORD

[ipv4]
dns-search=
method=shared

[ipv6]
dns-search=
method=auto

Tôi chỉ thay đổi ssidvà các pskthuộc tính theo nhu cầu của tôi. Sau đó, tôi khởi động lại máy tính của mình vì lệnh: sudo systemctl restart NetworkManagerđể khởi động lại mạng dường như không hoạt động chính xác, vì trong GUI Trình quản lý mạng tôi không còn cài đặt mạng không dây nữa và lệnh sau không hoạt động trước khi khởi động lại. Sau khi khởi động lại, bạn có thể sử dụng nmclilệnh để bắt đầu điểm truy cập.

nmcli con up Hotspot ifname YOUR_WIFI_INTERFACE

YOUR_WIFI_INTERFACEbạn có thể tìm ra với lệnh iwconfig.


1

Có một tùy chọn dành riêng trong nmcli:

nmcli device wifi hotspot ifname wlan0 ssid toto password toto

Thông tin thêm từ Hướng dẫn :

wifi hotspot [ifname ifname] [con-name name] [ssid SSID] [ band { a | bg } ] [channel channel] [password password] 

0

Cần có máy chủ DHCP để gán địa chỉ IP cho các kết nối wifi. Tôi đã sử dụng dnsmasq, một máy chủ DNS và DHCP.

Sau đây là các lệnh để bắt đầu một điểm phát wifi đặc biệt:

# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dnsmasq -C /dev/null >/dev/null 2>&1 --bind-interfaces --listen-address=10.42.0.1 --dhcp-range=10.42.0.10,10.42.0.200,12h
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.