인터넷 연결 없이 핫스팟을 만드는 방법은 무엇입니까?

인터넷 연결 없이 핫스팟을 만드는 방법은 무엇입니까?

저는 XUbuntu 17.10을 사용하고 있고 Wi-Fi 핫스팟을 만들었습니다. 문제는 삼바 및 인터넷 연결이 필요하지 않은 기타 작업에 핫스팟을 사용하고 싶다는 것입니다. Wi-Fi 핫스팟 만들려면 어떻게 해야 해?그렇지 않다내 인터넷 연결을 공유하시겠습니까? 이게 가능한 일인가요?

답변1

간단한 해결책은 다음과 같습니다.create_ap. 해당 사이트에서:

create_ap은 모든 채널에서 개방형 또는 암호화된 AP를 생성하고, SSID를 숨기고, 클라이언트 간 통신을 비활성화하고(클라이언트 격리), IEEE 802.11n 및 802.11ac 지원, 인터넷 공유 방법: NATed 또는 Bridged 또는 없음(없음)을 생성하는 데 도움이 되는 도구입니다. 인터넷 공유)

귀하의 경우 동글에서 클라이언트로 인터넷을 공유하지 않고 Linux PC로 AP를 생성하고 싶지만 파일 공유와 같은 다른 Lan 작업도 수행할 수 있습니다.

Wi-Fi 카드가 AP 생성을 지원해야 합니다.

  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. ifconfig설치 후 (더 이상 사용되지 않음) 또는 다음을 사용하여 모뎀 및 WiFi 카드의 이름을 확인하십시오 .

    iwconfig
    

    일반적으로 Wi-Fi 카드는 wlan0또는 wlp2s0이고 USB 모뎀은 입니다 eth0. 당신은 다를 수도 있습니다

  4. 이제 인터넷 없이 Linux에서 핫스팟을 시작하세요.

    sudo create_ap -n wlp2s0 MyAccessPoint
    

그런 다음 클라이언트를 연결할 수 있습니다. 인터넷은 공유되지 않지만 인터넷 없이도 삼바 및 기타 작업을 할 수 있습니다.

답변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

나는 iptablepacket forwarding명령에 주석을 달았습니다. 언제든지 장치에 인터넷을 제공해야 하는 경우 주석 처리를 제거하면 됩니다.

스크립트 실행

sudo bash eth-to-wifi-route.sh

원천:eth-to-wifi-route.sh

관련 정보