NetworkManager의 "핫스팟으로 사용" 옵션에 해당하는 터미널 명령

NetworkManager의 "핫스팟으로 사용" 옵션에 해당하는 터미널 명령

저는 노트북을 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 awlan0에 대한 다음 정보가 표시됩니다.

...
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/HotspotSSID와 비밀번호를 편집할 수 있는 파일이 생성됩니다.

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 서버가 필요합니다. 저는 dnsmasqDNS와 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

관련 정보