저는 노트북을 Wi-Fi 핫스팟으로 작동하도록 제어하는 GUI 애플리케이션을 만들고 있습니다. 배포판을 변경할 수도 있으므로 모든 배포판에 적용되는 솔루션을 찾고 싶습니다. 현재 Fedora 17에서 이 작업을 수행하고 있습니다.
NetworkManager의 "핫스팟으로 사용" 버튼을 사용하여 임시 핫스팟을 훌륭하게 생성할 수 있습니다.
터미널 명령을 사용하여 이 기능을 다시 만들고 싶습니다.
이를 달성하기 위해 두 가지 방법을 시도했지만 아직 해결책을 찾지 못했습니다.
방법 1: iwconfig
웹에서 조사한 결과 다음 명령을 시도했습니다.
# 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
그중에는 "핫스팟으로 사용" 기능을 사용하여 설정한 iptables에 의해 생성된 파일이 있습니다 saved-hotspot-iptables
.iptables-save > saved-hotspot-iptables
방법 1번 질문
장치에서 SSID를 볼 수 있지만 연결할 수는 없습니다. 실행하면 ip a
wlan0에 대한 다음 정보가 표시됩니다.
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
알림은 있지만 NO-CARRIER
상태 DORMANT
는 없습니다 UP
.
실행 ifconfig wlan0
화면은 다음과 같습니다.
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
RUNNING
플래그 중 하나가 누락되었습니다 .
방법 2: nmcli
NetworkManager의 "핫스팟으로 사용" 버튼을 시스템에서 한 번 이상 누르면 /etc/sysconfig/network-scripts/ifcfg-Hotspot
버튼이 생성되고 다음을 사용하여 작동 중인 핫스팟을 시작할 수 있습니다.
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
방법 2 문제
사용자가 이전에 NetworkManager에서 "핫스팟으로 사용"을 누른 적이 없다면 아무런 효과가 없습니다 nmcli con up id Hotspot
. 찾아보았 nm-connection-editor --create
으나 정보가 별로 없었습니다. 수동으로 생성하는 방법도 살펴봤지만 /etc/sysconfig/network-scripts/ifcfg-Hotspot
이 접근 방식은 우아하지 않거나 다른 배포판에 확장 가능해 보이지 않습니다.
답변1
전용 옵션이 있습니다 nmcli
:
nmcli device wifi hotspot ifname wlan0 ssid toto password toto
자세한 내용은수동:
wifi hotspot [ifname ifname] [con-name name] [ssid SSID] [ band { a | bg } ] [channel channel] [password password]
답변2
날 봐답변도착하다"무선 액세스 포인트를 만들고 nmcli
인터넷 연결을 공유하세요"
GNOME Network Manager를 사용하여 핫스팟을 만들었습니다. 문제는 GUI에서 SSID와 비밀번호를 구성할 수 없다는 것입니다. Network Manager GUI를 사용하여 핫스팟을 생성하는 경우 /etc/NetworkManager/system-connections/Hotspot
SSID와 비밀번호를 편집할 수 있는 파일이 생성됩니다.
sudo vim /etc/NetworkManager/system-connections/Hotspot
파일의 내용은 다음과 같습니다.
[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
나는 필요에 따라 및 속성만 변경했습니다 ssid
. 그런 다음 네트워크 관리자 GUI에 더 이상 무선 네트워크 설정이 없기 때문에 네트워크 다시 시작 psk
명령이 작동하지 않는 것 같았고 다시 시작할 때까지 다음 명령도 작동하지 않았기 때문에 컴퓨터를 다시 시작했습니다 . sudo systemctl restart NetworkManager
재부팅한 후 이 nmcli
명령을 사용하여 액세스 포인트를 시작할 수 있습니다.
nmcli con up Hotspot ifname YOUR_WIFI_INTERFACE
YOUR_WIFI_INTERFACE
명령으로 알아낼 수 있습니다 iwconfig
.
답변3
Wi-Fi 연결에 IP 주소를 할당하려면 DHCP 서버가 필요합니다. 저는 dnsmasq
DNS와 DHCP 서버를 사용했습니다.
다음은 임시 Wi-Fi 핫스팟을 시작하는 명령입니다.
# 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