NetworkManagerの「ホットスポットとして使用」オプションに相当する端末コマンド


10

私はラップトップをwifiホットスポットとして機能させるために制御するGUIアプリケーションを作成しています。ディストリビューションを変更する可能性があるので、すべてのディストリビューションで一般的に機能するソリューションを見つけたいと思います。私は現在Fedora 17でこれを行っています。

NetworkManagerの[ホットスポットとして使用]ボタンを使用すると、アドホックホットスポットを作成するのに非常に効果的です。 ここに画像の説明を入力してください

端末コマンドでこの機能を再現したい。

これを達成するために私が試みた2つの方法を以下に示しますが、解決策はまだ見つかりません。


方法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フラグの1つとして欠落していることに注意してください。


方法2:nmcliシステムで
NetworkManagerの「ホットスポットとして使用」ボタンを少なくとも1回押すと、/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が、この方法は洗練されていないか、他のディストリビューションに拡張可能ではありません。


クロスポストしないでください。
mgorven 2012年

1
wicdを試してください。これはNetworkManagerに似ていますが、テキストモードのインターフェースがあります。ホットスポット機能があるかどうかはわかりません。
Gilles「SO-邪悪なことをやめよう」

ヒントGillesをありがとう、私はそれをすぐに試してみるつもりです。
Daniel

@Gilles wicdを試しましたが、nmcliよりも機能が少ないようです。
ダニエル

回答:


1

私を参照してください。答えをする「無線アクセスポイントとと共有インターネット接続を作成します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してpsk私のニーズにプロパティを。次に、次のコマンドを使用してコンピューターをsudo systemctl restart NetworkManager再起動しました。ネットワーク再起動の場合、ネットワークマネージャーGUIでワイヤレスネットワーク設定がなくなったため、次のコマンドは再起動前に機能しなかったため、正しく機能していません。再起動後、nmcliコマンドを使用してアクセスポイントを起動できます。

nmcli con up Hotspot ifname YOUR_WIFI_INTERFACE

YOUR_WIFI_INTERFACEコマンドで確認できますiwconfig


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] 

0

IPアドレスをwifi接続に割り当てるには、DHCPサーバーが必要でした。私が使用しdnsmasq、DNSおよびDHCPサーバを。

以下は、アドホックwifiホットスポットを開始するコマンドです。

# 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.