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:
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-iptables
một tệp mà tôi đã tạo bằng iptables-save > saved-hotspot-iptables
iptables đượ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 a
cho 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-CARRIER
là hiện tại, và nhà nước là DORMANT
thay vì UP
.
Chạy ifconfig wlan0
cho thấy như sau:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Lưu ý rằng RUNNING
thiế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 Hotspot
sẽ không hoạt động. Tôi đã xem nm-connection-editor --create
như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-Hotspot
như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.