私はXUbuntu 17.10を使用しており、WiFiホットスポットを作成しましたが、問題は、ホットスポットをSambaやインターネット接続を必要としない他のものに使用したいということです。どのようにWiFiホットスポットを作成すればよいですか?しないインターネット接続を共有する?これは可能でしょうか?
答え1
簡単な解決策は、作成_ap彼らのサイトから:
create_ap は、任意のチャネルでオープンまたは暗号化された AP を作成し、SSID を非表示にし、クライアント間の通信を無効にし (クライアント分離)、IEEE 802.11n および 802.11ac をサポートし、インターネット共有方法 (NAT またはブリッジまたはなし (インターネット共有なし)) を設定するのに役立つツールです。
あなたの場合、ドングルからクライアントにインターネットを共有せずに Linux PC で AP を作成し、ファイル共有などの他の LAN 操作を実行したいと考えています。
Wi-FiカードはAPの作成をサポートしている必要があります
いくつかのパッケージをインストールします:
sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
パッケージを取得します
create_ap
。ターミナルからgit clone https://github.com/oblique/create_ap cd create_ap sudo make install
インストール後、モデムと Wi-Fi カードの名前を
ifconfig
(非推奨) または次のように確認します。iwconfig
Wi-Fiカードは通常
wlan0
またはでwlp2s0
、USBモデムはですeth0
。あなたの場合は違うかもしれません次に、インターネットなしで Linux からホットスポットを起動します。
sudo create_ap -n wlp2s0 MyAccessPoint
その後、クライアントを接続できます。インターネットは共有されませんが、インターネットなしでSambaやその他の操作を行うことができます。
答え2
ホットスポットを作成するスクリプトですがないEthernet
デバイスとインターネットを共有しますWiFi
。システムに応じてネットワーク インターフェイス名を変更する必要があります。
入力しip link
て検索してください。また、およびがインストールされていることを確認してdnsmasq
くださいhostapd
。
sudo apt-get install ifconfig dnsmasq hostapd
スクリプトを実行する前に、ネットワーク管理ツール制御していますWiFi
。
eth-to-wifi-route.sh
#!/bin/bash
# Share Eth with WiFi Hotspot
#
# This script is created to work with Raspbian Stretch
# but it can be used with most of the distributions
# by making few changes.
#
# Make sure you have already installed `dnsmasq` and `hostapd`
# Please modify the variables according to your need
# Don't forget to change the name of network interface
# Check them with `ifconfig`
ip_address="192.168.2.1"
netmask="255.255.255.0"
dhcp_range_start="192.168.2.2"
dhcp_range_end="192.168.2.100"
dhcp_time="12h"
eth="eth0" # replace it with Huawei 3G Modem interface
wlan="wlan0"
ssid="Arpit-Raspberry"
psk="arpit1997"
sudo rfkill unblock wlan &> /dev/null
sleep 2
#sudo iptables -F
#sudo iptables -t nat -F
#sudo iptables -t nat -A POSTROUTING -o $eth -j MASQUERADE
#sudo iptables -A FORWARD -i $eth -o $wlan -m state --state RELATED,ESTABLISHED -j ACCEPT
#sudo iptables -A FORWARD -i $wlan -o $eth -j ACCEPT
#sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo ifconfig $wlan $ip_address netmask $netmask
sudo ip route del 0/0 dev $wlan &> /dev/null
a=`route | awk "/${eth}/"'{print $5+1;exit}'`
sudo route add -net default gw $ip_address netmask 0.0.0.0 dev $wlan metric $a
echo -e "interface=$wlan \n\
bind-interfaces \n\
server=8.8.8.8 \n\
domain-needed \n\
bogus-priv \n\
dhcp-range=$dhcp_range_start,$dhcp_range_end,$dhcp_time" > /etc/dnsmasq.conf
sudo systemctl restart dnsmasq
echo -e "interface=$wlan\n\
driver=nl80211\n\
ssid=$ssid\n\
hw_mode=g\n\
ieee80211n=1\n\
wmm_enabled=1\n\
macaddr_acl=0\n\
auth_algs=1\n\
ignore_broadcast_ssid=0\n\
wpa=2\n\
wpa_key_mgmt=WPA-PSK\n\
wpa_passphrase=$psk\n\
rsn_pairwise=CCMP" > /etc/hostapd/hostapd.conf
sudo systemctl restart hostapd
sudo systemctl status hostapd &> /dev/null
if [ "$?" != 0 ];then
echo "Some Network Management tool is running, which is stopping"
echo "hostapd to be configured."
echo "Please stop that and again run the script."
fi
iptable
およびコマンドをコメント化しましたpacket forwarding
。デバイスにインターネットを提供する必要があるときはいつでも、コメントを解除するだけです。
スクリプトを実行する
sudo bash eth-to-wifi-route.sh