Как создать точку доступа без подключения к интернету?

8

Я использую XUbuntu 17.10, и я создал точку доступа Wi-Fi, проблема в том, что я хочу использовать точку доступа для Samba и других вещей, которые не требуют подключения к Интернету. Как создать точку доступа Wi-Fi, которая не использует мое интернет-соединение? это вообще возможно?

Zola
источник
Как вы подключаете хост-компьютер (компьютер, который передает точку доступа) к Интернету? Ethernet?
Якша
Я использую Huawei 3G Modem @Yaksha, он подключен через USB порт
Золя

Ответы:

2

Простое решение - использовать create_ap . С их сайта:

create_ap - это инструмент, который помогает вам создать открытую или зашифрованную точку доступа на любом канале, скрыть свой SSID, отключить связь между клиентами (изоляция клиента), поддержку IEEE 802.11n и 802.11ac, методы совместного доступа к Интернету: NATed или Bridged или None (нет Интернет-обмен)

В вашем случае вы хотите создать точку доступа на компьютере с Linux, не делясь интернетом с вашего ключа клиентам, но можете делать другие вещи Lan, такие как обмен файлами.

Ваша карта Wi-Fi должна поддерживать создание точки доступа

  1. Установите несколько пакетов:

    sudo apt install util-linux bash procps hostapd iproute2 iw haveged net-tools dnsmasq iptables
    
  2. Получить create_apпакет. Из терминала сделать

    git clone https://github.com/oblique/create_ap
    cd create_ap
    sudo make install
    
  3. После установки проверьте название вашего модема и карты Wi-Fi с помощью ifconfig(устарело) или:

    iwconfig
    

    карта Wi-Fi обычно есть wlan0или wlp2s0и модем USB eth0. у тебя может быть по другому

  4. Теперь запустите горячую точку из вашего Linux без интернета:

    sudo create_ap -n wlp2s0 MyAccessPoint
    

Затем вы можете подключить клиентов. Ваш интернет не будет распространяться, но вы можете делать самбу и другие вещи без интернета

ptetteh227
источник
1

Вот скрипт, который создаст Hotspot, но не будет делиться 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

Источник: eth-to-wifi-route.sh

Арпит Агарвал
источник