有線ネットワークに接続したときにホットスポットを作成する方法は知っていますが、WiFi接続からインターネットを使用している場合、ホットスポットをアクティブにするとすぐにワイヤレス接続が切断されます。
Windowsでは、 Connectify Hotspot を使用できます。これにより、アクセスポイントを作成しているのと同じワイヤレスアダプターからインターネット接続を共有できます。 技術概要ページ で読むことができます:
アクセスポイントモードでは、インターネットへのアクセスに使用しているのと同じWi-Fiカードを使用してホットスポットを作成できます。
Ubuntuでこれを行うにはどうすればよいですか?
簡単な手順:ubuntuでWi-Fiホットスポットを作成する
ターミナルを開き(Ctrl + Alt + T)、手順5で使用した接続名で次のコマンドを入力します。
Sudo gedit /etc/NetworkManager/system-connections/wifi-hotspot
mode=infrastructure
を見つけてmode=ap
に変更します
Wi-Fiが作成されたホットスポットに自動的に接続されるネットワークセクションを確認します。見つからない場合は、隠しネットワークに接続...に進み、接続を見つけて接続します。
ソース: http://ubuntuhandbook.org/index.php/2014/09/3-ways-create-wifi-hotspot-ubuntu/
このリンクvasishath が提供するものを見た後、同じホットスポットをセットアップして、同じ単一のワイヤレスインターフェイスデバイスからインターネット接続を共有することができました。この無線デバイスは、Atherosドライバーを使用する必要がありますnl80211 サポート。次に、その方法を説明します。
terminal で次のコマンドを実行します。
lsmod | grep ath
出力がヌルの場合、または文字列cfg80211
が出力にない場合、続行する意味がなく、 この回答 の2番目と3番目の点に注意する必要があります。
下記のすべてのパッケージがインストールされているかどうかを確認します: iw 、 hostapd 、 iptables 、 dhcpd 、 dhcpc 、 macchanger 。
あなたはこれらをインストールすることができます
Sudo apt-get install iw hostapd iptables udhcpd udhcpc macchanger
ターミナルで次のコマンドを実行して、対応するファイルを編集します。
Sudo -H gedit /etc/hostapd.conf /etc/udhcpd.conf /etc/default/udhcpd /etc/wpa_supplicant.conf
hostapd.conf
ファイルに次のコードを追加します。
interface=new1
driver=nl80211
ssid=my_wifi_hotspot #Change the ssid name as you wish
channel=11 #I sugest you to use the same channel as your wireless network
hw_mode=g
wme_enabled=1
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=1234567890 #Change the passphrase as you wish
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
udhcpd.conf
ファイルで、現在の行をすべてコメント化し(行の前に#
文字を追加する)、次の新しい行を追加します。
start 192.168.0.102 #These IPs must to be in the same subset as your current default route
end 192.168.0.117
interface new1
opt dns 192.168.0.1 #Your current default route (Gateway)
option subnet 255.255.255.0
opt router 192.168.0.101 #This IP must to be in the same subset as your current default route
option domain localhost
/ etc/default/udhcpで、DHCPD_ENABLED="no"
という行をコメント化します。
wpa_supplicant.conf
で、現在のワイヤレスネットワークの設定を指定する必要があります。いくつかの簡単な例については、man wpa_supplicant
を参照してください。そして、おそらくあなたは/usr/share/doc/wpa_supplicant/
ディレクトリにもっと例があるでしょう。私は次のようなものを使用しました:
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="my_wifi_network"
key_mgmt=WPA-PSK
proto=WPA
pairwise=CCMP
group=CCMP
psk="mypassphrase"
}
すべてのファイルを保存して閉じます。
注:これらの編集はすべて、現在のネットワーク構成には影響しません。
mkdir -p bin
を実行します-このコマンドは、bin
フォルダーにhome
ディレクトリーを作成します(まだない場合)。gedit ~/bin/hotspotsetup.sh
を実行すると、geditに新しいファイルhotspotsetup.sh
が作成されます。#!/bin/bash
service network-manager stop
sleep 1
pkill -15 nm-applet
sleep 1
ifconfig wlan0 down #wlan0 - the name of your wireless adapter
sleep 1
iw phy phy0 interface add new0 type station
iw phy phy0 interface add new1 type __ap
sleep 2
ifconfig new0 down
macchanger --mac 00:11:22:33:44:55 new0
ifconfig new1 down
macchanger --mac 00:11:22:33:44:66 new1
ifconfig new0 up
ifconfig new1 up
ifconfig new1 192.168.0.101 up #192.168.0.101 - the same IP defined for router in 'udhcpd.conf' file
hostapd /etc/hostapd.conf &
sleep 2
service udhcpd start
wpa_supplicant -inew0 -c/etc/wpa_supplicant.conf &
sleep 10
udhcpc -i new0
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables --table nat --append POSTROUTING --out-interface new0 -j MASQUERADE
iptables --append FORWARD --in-interface new1 -j ACCEPT
chmod +x ~/bin/hotspotsetup.sh
-スクリプトの実行アクセスを許可します。Root権限でターミナルで上記のスクリプトを実行します。
Sudo ~/bin/hotspotsetup.sh
注:
hotspotsetup.sh
スクリプトを実行する前と同じようにネットワークマネージャーサービスを再開するには、コンピューターを再起動します(Sudo reboot
)。
すべてを簡素化する優れたツールを紹介しましょう:create_ap(byoblique)
これが公式リポジトリです。 https://github.com/oblique/create_ap
このツールはArch Linuxリポジトリの一部であり、Ubuntuリポジトリにもあるはずです!
非常に使いやすく、非常に効果的です。
Ubuntuにインストールするには、最初に依存関係をインストールする必要があります。
Sudo apt install bash util-linux procps hostapd iproute2 iw wireless-tools haveged iptables dnsmasq git
「ミニインストールイメージ」を使用していない限り、すでに90%があります...
完了したら、斜めからリポジトリをクローンします。
git clone https://github.com/oblique/create_ap.git
ダウンロードしたリポジトリで端末を見つけます。
cd create_ap
次を使用してツールをインストールします。
Sudo make install
(make
を使用したコンパイルは不要です)
簡単ですね。残りはさらに簡単です... ...デバイスをクライアントとPAとして同時に使用できる場合(atheros wifiチップ-編集:一部のIntelチップも、 2番目のコメントbellow)を参照してください。通常どおり、ネットワークマネージャーを使用してホームルーターに接続するだけで、次のようなコマンドラインを実行できます。
Sudo create_ap <connected interface> <repeater interface> <essid repeated network> <WPA Key>
例
Sudo create_ap wlp2s0 wlp2s0 Bathroom_WiFi mysecuresecretkey
以上です! 信じられないほど簡単!これで、Androidデバイスで繰り返しネットワークに接続するだけです。ラップトップ端末で、ラップトップとクライアントの間でネゴシエートされたハンドシェイクが表示されます。 そして、あなたはインターネットで素敵なバスルームセッションを楽しむことができます...すべてが単一のインターフェースと1つの簡単なコマンドで行われます。このツールには多くのオプションがあります。詳細については、斜めのgithubリポジトリを参照してください(前述のリンク)。スペイン語を話せる場合は、このフォーラムスレッドを確認できます。 create_ap:Lasoluciónperfecta para transformar tu ordenador en un repetidorユニバーサルtodo terreno
この回答へのコメントでわかるように、ISこれを行う方法です。 FreeBSD(Ubuntu/Linuxではない)向けに文書化されています: https://serverfault.com/questions/192144/connect-to-multiple-ap-with-one-wifi-adapter-under-linux- freebsd (コメントからのリンク)。 Linuxではまったく同じように動作しないようですが、似ているはずです。残念ながら、このトピックに関する詳細な情報を見つけることができませんでした。
おそらく最も簡単で最も一般的な方法は、2つの物理ネットワークインターフェイスを使用することです。そのため、別のwifiスティックを購入するか、別のテクノロジーを使用してさらに接続し、Wifiを介してそのうちの1つだけを実行することができます。たとえば、次のような可能性があります。
Ubuntu Linuxは、複雑になることなく、2台のwifiデバイスを一度に管理できることに気付きました。私はインターネット接続などを共有する方法でこれをテストしませんでしたが、それは可能であるはずです。どの程度複雑になるかは、おそらく使用する接続のタイプに依存します。 Linuxでは、おそらく特別なソフトウェアは必要ありません。特別なツールを必要とせずに接続を共有することができるはずです。残念ながら、現時点では試せません。
とにかく別のWifiスティックがあれば、WifiからWifiを試すことをお勧めします。そうでなければ、LANまたはBluetooth(ほとんどのノートブックに組み込まれています)プロバイダーのデータプランなどのため、3G/LTE共有は少し悪いです。
これは別の回答として追加されました。他の回答が多くの論争を引き起こしたためです。
何よりもまず、ワイヤレスアダプタの名前を知る必要があります。以下のコマンドを使用して取得します。
iwconfig
ほとんどの場合、wlan0またはwlan1です。
古いWiFiアダプターを使用していて、使用するドライバーを知りたい場合があります。 USBまたはPCIのタイプに応じて、以下のコマンドを使用できます。
lsusb
lspci
以下のコマンドを使用して、現在使用しているドライバーを確認します。
lsmod
プログラムをインストールする必要があります。押すだけ Ctrl+Alt+T キーボードでターミナルを開きます。開いたら、以下のコマンドを実行します:
Sudo apt-get install hostapd
次のコマンドでメインネットワークアダプター構成ファイルを開きます。
Sudo gedit /etc/hostapd/hostapd.conf
そして、次のように編集します:
interface=wlan0
driver=nl80211
country_code=US
ssid=mySSID
hw_mode=g
channel=1
wpa=2
wpa_passphrase=MyWiFiPassword
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
auth_algs=1
macaddr_acl=0
最初の行は、ネットワークアダプタ名です。運が悪く、サードパーティのドライバーが必要でない限り、ほとんどの場合、2行目は変更しないでください。 3行目では説明は不要です。 4行目は、WiFiアクセスポイント名(SSID)です。 5行目は、ネットワークをa/b/g/nモードとして識別します。次の行はネットワークチャネルです。残りの行は、セキュリティと暗号化を設定します。ほとんどの場合、パスフレーズの変更のみが必要です。
次のコマンドで2番目の構成ファイルを開きます。
Sudo gedit /etc/default/hostapd
そして、このように変更します:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
RUN_DAEMON="yes"
DAEMON_OPTS="-dd"
最初の行は、メインネットワークアダプターの構成ファイルを指します。 2行目は、hostapdが起動時にバックグラウンドでDAEMONモードで実行するように指示します。最後の行は、hostapdにすべてのメッセージを記録するように指示します。ここでの重要なトリックは、2つの異なるワイヤレスネットワークアダプターを使用してデュアルバンドアクセスポイントをセットアップする場合、各ardの元の構成ファイル(1番目のファイル)を作成し、次のように変更することです。
DAEMON_CONF="/etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf"
設定が完了しました。
DAEMONの実行
ここで、hostapd DAEMONが起動時に起動することを確認する必要があります(以下の最初のコマンド)。これを実行して、必須の再起動を回避する必要があります。
Sudo update-rc.d hostapd defaults
Sudo /etc/init.d/hostapd start
そして完成です。これで、新しく構築したアクセスポイントに接続できます。
ソース: Hostapd:仮想Wifiアクセスポイントを作成するLinuxの方法 & Hostapd Linuxドキュメントページ
現在のところ、Atherosカードとごく少数のBroadcomカードでのみ可能です。使用しているものを知るには、ターミナルで次のコマンドを実行し、出力をここに貼り付けてください:
lspci | Wireless
または、その方法を簡単に試すことができます。これを行う方法に関するチュートリアルのリンクは次のとおりです。 connectify-for-linux-with-single-wireless-interface
CONNECTIFY EXPERIENCEを作成するために見つけた最良の方法は、AP-HOTSPOTを使用することです!
(WPA2..ubuntuでLinuxがデフォルトで行うようにwepではありません)
Sudo add-apt-repository ppa:nilarimogard/webupd8
Sudo apt-get update
Sudo apt-get install ap-hotspot
実行とオプション
開始:Sudo ap-hotspot start
停止:Sudo ap-hotspot stop
構成:Sudo ap-hotspot Configure
グラフィカルユーザーインターフェイス が必要ですか?
それをインストールするには、ターミナルを開き、次のコマンドでブラウズします。
cd /home/USERNAME/LOCATION
次に、インストールコマンドを実行します。
qmake
make
プログラムを作成します...デスクトップにドラッグして完了:)歓声
2つのアダプターに関する限り... Windowsと無料のbsdで実現できます...昨日現在、このシナリオに自分自身でアプローチしただけなので、今のところまだ理解しようとしています!報告します... Linuxでも同様にできます。他のオペレーティングシステムで実行できるアダプタのハードウェア制限ではありません...
Purushoth's answerのように、この回答には2つのWiFiアダプターも必要です(例:1つの内部USB Wi-Fiアダプターと1つの外部USB Wi-Fiアダプター)。しかし、私は彼の答えを私のために働かせることができなかったので、代わりに私がしたことはここにあります。
Xubuntu 14.04でテスト済み。
Ubuntu/Xubuntu PCをWiFiホットスポットとして設定する方法(例:PCからの単一の有料接続を携帯電話や他のデバイスと共有するために空港や飛行機で使用する場合) :
cd /etc/NetworkManager/system-connections
ls
Sudo nano wifi-hotspot
参照:/etc/NetworkManager/system-connections
フォルダーパスと代替アプローチ(私にとっては機能しませんでした)が見つかりました: https://askubuntu.com/a/609199/327339