ฉันจะสร้างฮอตสปอต wifi ที่ไม่ใช่ adhoc ได้อย่างไร


13

ฉันต้องการใช้เดสก์ท็อปของฉันด้วยการเชื่อมต่ออีเธอร์เน็ตแบบมีสาย (eth0) เพื่อใช้งานอะแดปเตอร์ไร้สาย "TP-LINK TL-WN722N" ของฉัน (wlan0) เป็นจุดเชื่อมต่อที่ไม่ใช่ adhoc (โหมดโครงสร้างพื้นฐาน) สำหรับ Android ของฉัน

หลังจากการค้นหาจำนวนมากในที่สุดฉันก็พบวิธีการ (แพร่กระจายในหลาย ๆ เว็บไซต์) ที่ทำสิ่งที่ฉันต้องการ ...

อ้างอิง:

 hostapd
 bridge-utils

ฉันแก้ไข "/ etc / network / interfaces"

sudo gedit /etc/network/interfaces

บรรจุ:

# This file describes the network interfaces available on your system
# and how to activate them.

auto lo br0
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet manual

allow-hotplug wlan0
iface wlan0 inet manual

# Bridge setup

# for dhcp address
iface br0 inet dhcp
bridge_ports eth0 wlan0

# for static ip
# iface br0 inet static
# bridge_ports eth0 wlan0
# adapt with your network settings
# address 192.168.1.250
# netmask 255.255.255.0
# network 192.168.1.0
# broadcast 192.168.1.255
# gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
# dns-nameservers 192.168.1.1
# dns-search localdomain

### Reference ###

# Creating a Wireless Access Point with Debian Linux « Agent Oss (October 31, 2011)
# https://agentoss.wordpress.com/2011/10/31/creating-a-wireless-access-point-with-debian-linux/

"/etc/hostapd/hostapd.conf" ของฉัน (ซึ่งฉันพยายามที่จะรวบรวมตัวเอง)

sudo gedit /etc/hostapd/hostapd.conf

ประกอบด้วย:

 ### Guts ###

 interface=wlan0
 bridge=br0
 driver=nl80211

 ### General ###

 ssid=____________________
 hw_mode=g
 channel=1

 ### Security ###

 macaddr_acl=0
 auth_algs=1
 ignore_broadcast_ssid=0     ## 0 visible # 1 hidden ##
 wpa=2
 wpa_passphrase=____________________
 wpa_key_mgmt=WPA-PSK
 wpa_pairwise=TKIP
 rsn_pairwise=CCMP

 ### Reference ###

 ## Created Tuesday, February 14, 2012 ## Ubuntu 11.10/12.04 ##

 # Hostapd Linux Documentation Page
 # http://linuxwireless.org/en/users/Documentation/hostapd

 # Creating a Network Bridge on Ubuntu (January 16th, 2011)
 # http://webserver.linuxportal.nl/?p=422

(ฉันแก้ไขบิตความปลอดภัยสำหรับโพสต์นี้แล้ว)

จากทั้งหมดที่ฉันเปิดเทอร์มินัลและเรียกใช้งาน:

 sudo hostapd -B /etc/hostapd/hostapd.conf

เพื่อให้มีจุดเชื่อมต่อที่ใช้งานได้ซึ่ง Android ของฉันและอุปกรณ์ WiFi อื่น ๆ ทั้งหมดสามารถเชื่อมต่อได้

นอกเหนือจากการแบ่งปันวิธีการนี้กับผู้อื่นเนื่องจากข้อมูลสำหรับการตั้งค่านี้เบาบาง; มีสามปัญหาที่น่ายินดีแก้ไข:

  1. การกำหนดค่านี้จะปิดการใช้งานตัวจัดการเครือข่ายและฟังก์ชั่นทั้งหมด เมื่อคุณคลิกมันจะให้ข้อความ "อุปกรณ์ไม่ได้จัดการ" (ไม่จำเป็น แต่น่ารำคาญสำหรับฉัน)
  2. วิธีนี้สามารถต่อสู้กับที่อยู่ IP เป็นครั้งคราว
  3. ฉันต้องใช้เทอร์มินัลเพื่อเปิด Wifi (โอเคสำหรับฉัน แต่ไม่เหมาะกับครอบครัว) ฉันหาวิธีทำให้ตัวเรียกใช้งานโดยใช้ gksu และสคริปต์ง่าย ๆ ถ้าใครต้องการมัน ...

เรียกใช้ wifi / Hostapd โดยไม่มีขั้ว

  1. (ทำไมผู้จัดการเครือข่ายไม่สามารถทำสิ่งนี้ออกนอกกรอบได้)

ขอบคุณล่วงหน้า! ฉันหวังว่าทั้งหมดนี้จะช่วยคนอื่นได้ ฉันไม่เคยเขียนบทเรียนมาก่อนและไม่รู้อะไรเลยเกี่ยวกับระบบเครือข่าย ...

ที่เกี่ยวข้องบางทีอาจจะบริดจ์เครือข่าย - โดยไม่ทำลายผู้จัดการเครือข่าย (ผู้อื่น)

ผ่านการทดสอบโดยใช้ Ubuntu 11.10, 12.04

คำตอบ:


5

ฉันไม่แน่ใจเกี่ยวกับวิธีการทำเช่นนี้โดยไม่ทำการอุดตัน NM แต่มันเป็นไปได้ที่จะทำงานโดยอัตโนมัติเมื่อบู๊ตและรับที่อยู่ IP เพื่อกำหนดได้อย่างง่ายดาย (อย่างน้อยฉันก็จัดการมันด้วยการ์ดไร้สายเดียวกัน) ต้องใช้แพคเกจhostapdและdnsmasq(ไม่dnsmasq-base)

/etc/hostapd/hostapd.conf:

interface=wlan0
driver=nl80211 # This works on my TL-WN722N

ssid=______

channel=6
hw_mode=g

auth_algs=1
wpa=3
wpa_passphrase=_____
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP CCMP
rsn_pairwise=CCMP

/ etc / default / hostapd:

# Defaults for hostapd initscript
#
# See /usr/share/doc/hostapd/README.Debian for information about alternative
# methods of managing hostapd.
#
# Uncomment and set DAEMON_CONF to the absolute path of a hostapd configuration
# file and hostapd will be started during system boot. An example configuration
# file can be found at /usr/share/doc/hostapd/examples/hostapd.conf.gz
#
DAEMON_CONF="/etc/hostapd/hostapd.conf"

# Additional daemon options to be appended to hostapd command:-
#   -d   show more debug messages (-dd for even more)
#   -K   include key data in debug messages
#   -t   include timestamps in some debug messages
#
# Note that -B (daemon mode) and -P (pidfile) options are automatically
# configured by the init.d script and must not be added to DAEMON_OPTS.
#
#DAEMON_OPTS=""

/etc/dnsmasq.conf (ต่างกับเวอร์ชั่นของผู้ดูแล):

--- /etc/dnsmasq.conf.dpkg-dist 2011-09-20 00:28:30.000000000 +0100
+++ /etc/dnsmasq.conf   2012-02-13 21:03:03.713554612 +0000
@@ -82,7 +82,7 @@
 # specified interfaces (and the loopback) give the name of the
 # interface (eg eth0) here.
 # Repeat the line for more than one interface.
-#interface=
+interface=wlan0
 # Or you can specify which interface _not_ to listen on
 #except-interface=
 # Or which to listen on by address (remember to include 127.0.0.1 if
@@ -133,7 +133,7 @@
 # a lease time. If you have more than one network, you will need to
 # repeat this for each network on which you want to supply DHCP
 # service.
-#dhcp-range=192.168.0.50,192.168.0.150,12h
+dhcp-range=192.168.3.10,192.168.3.49,12h

 # This is an example of a DHCP range where the netmask is given. This
 # is needed for networks we reach the dnsmasq DHCP server via a relay

/ etc / เครือข่าย / อินเตอร์เฟซ:

auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet static
    address 192.168.3.1/24
    broadcast 192.168.3.255

/etc/sysctl.conf patch (ทำงานsudo sysctl -p /etc/sysctl.confหลังจากเปลี่ยนแปลง):

--- sysctl.conf 2012-05-14 18:06:57.514873009 +0100
+++ /etc/sysctl.conf    2012-05-14 18:09:27.122876525 +0100
@@ -25,7 +25,7 @@
 #net.ipv4.tcp_syncookies=1

 # Uncomment the next line to enable packet forwarding for IPv4
-#net.ipv4.ip_forward=1
+net.ipv4.ip_forward=1

 # Uncomment the next line to enable packet forwarding for IPv6
 #  Enabling this option disables Stateless Address Autoconfiguration

ในที่สุดตั้งค่า NAT ในiptables:

sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo iptables-save | sudo tee /etc/iptables.sav

และเพิ่มiptables-restore < /etc/iptables.savดังกล่าวข้างต้นในexit 0/etc/rc.local

การตั้งค่านี้ส่วนใหญ่มีการใช้งานโดยการอ่านวิธีการนี้และดูหน้าคนที่เกาหัวของฉัน


ขอบคุณ! ฉันรู้ว่าคุณหมายถึงอะไรโดยการเกาหัว สิ่งนี้แน่ใจว่าเป็นความเจ็บปวดในการทำงานเลย ฉันจะลองตั้งค่าของคุณและแจ้งให้คุณทราบว่ามันจะไปในไม่กี่วันถัดไป :)
askuhn

ในไม่กี่วันที่ผ่านมาฉันพบว่า/etc/network/interfacesไฟล์ไม่ทำงานด้วยเหตุผลบางอย่างและโทรศัพท์ของฉันเชื่อมต่อไม่ถูกต้อง ฉันได้กลับไปให้ที่อยู่ wlan0 ด้วยตนเองในการบูตตอนนี้
dutchie

การตั้งค่าของฉันใช้งานได้ดีตราบใดที่ฉันไม่พยายามเชื่อมต่ออุปกรณ์มากกว่าหนึ่งเครื่อง (เมื่อฉันทำบางครั้งใช้งานได้บางครั้งก็ใช้ไม่ได้) ฉันยังคงซ่อมบำรุงอยู่ดังนั้นถ้าฉันได้อะไรที่ดีกว่านี้ฉันจะโพสต์แน่นอน :)
askuhn

3

ปัญหาส่วนใหญ่เกิดขึ้นเนื่องจากไดรเวอร์ Broadcom ในแล็ปท็อป HP อย่างน้อยที่สุด หากคุณมีคอนโทรลเลอร์เครือข่าย Broadcom ให้ตรวจสอบว่าการ์ดของคุณใช้งานร่วมกับ b43 ได้หรือไม่ (ลิงค์ 1) ถ้ามันยอดเยี่ยมอ่านต่อไป ไดรเวอร์ Broadcom sta เริ่มต้น (wl) จะไม่รองรับโหมดจุดเข้าใช้งาน ดังนั้นติดตั้ง b43 โดยใช้มาตรการป้องกันไว้ล่วงหน้าเพื่อให้ออนไลน์โดยวิธีการใด ๆ ที่จำเป็น เปิดใช้งานโดยใช้ modprobe ทำตามคำแนะนำแล้วลองตั้งค่าจุดเชื่อมต่อ

ในที่สุดฉันก็ได้ hostapd ทำงานกับสิ่งนี้และส่วนที่น่าสนใจก็คือโทรศัพท์ Nokia ของฉันสามารถตรวจจับ wifi ที่สร้างขึ้นได้ ตอนนี้ฉันต้องเล่นกับไฟล์ของคุณและดูว่าฉันจะได้รับ playbook ของฉันเพื่อตรวจจับ

  1. http://linuxwireless.org/en/users/Drivers/b43
  2. http://pclinuxos.com/forum/index.php?topic=91991.0

นอกจากนี้ยังทำงานได้เมื่อฉันได้รับอุปกรณ์ที่ไม่ได้จัดการในการจัดการอุปกรณ์ askubuntu.com/questions/71159/…
Giridaran Manivannan

ดีใจที่มีประโยชน์สำหรับคุณ! ฉันต้องใช้เวลาตลอดเวลาในการคิดว่าฉันต้องการอะไรที่เหมาะกับฉัน ขอบคุณสำหรับลิงค์เกี่ยวกับผู้จัดการเครือข่ายฉันจะลองดู :)
askuhn

และมันใช้งานได้! ส่วนที่น่าทึ่งคือ eth0 ไม่จำเป็นต้องคงที่ด้วยวิธีนี้ IP ที่ได้รับจะเป็นของ eth0 ทั้งหมดสะพานและอุปกรณ์ที่คุณต้องการเชื่อมต่อ!
Giridaran Manivannan

ในย่อหน้าสุดท้ายคุณหมายถึงplaybook ที่จะถูกตรวจจับหรือไม่?
tshepang

0

คำตอบที่ดีเลิศข้างต้นอย่างไรก็ตามไม่ใช่เพียงหนึ่งหรือสองชิปเซ็ตที่ไม่รองรับโหมด hostapd หรือ AP

ต่อไปนี้เป็นวิธีดูว่าไดรเวอร์และฮาร์ดแวร์ของคุณรองรับโหมด AP หรือไม่:

sudo iw list | less

ค้นหาส่วน "โหมดอินเทอร์เฟซที่รองรับ" หากไม่มี "AP" แสดงว่าคุณไม่มีโชค ถ้ามันบอกว่า "AP" ให้ทำตามคำแนะนำที่ดีมากมายจากผู้โพสต์คนอื่น ๆ !

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.