Câu hỏi Làm cách nào để tạo một điểm truy cập wifi không adhoc?


Tôi muốn sử dụng máy tính để bàn của mình với kết nối ethernet có dây (eth0) để vận hành bộ chuyển đổi USB "TP-LINK TL-WN722N" của tôi (wlan0) làm điểm truy cập không phải adhoc (cơ sở hạ tầng) cho Android của tôi để kết nối.

Sau khi MUCH tìm kiếm, cuối cùng tôi đã tìm thấy một phương pháp (trải rộng trên nhiều trang web) mà hầu hết những gì tôi cần ...

Phụ thuộc:

 hostapd
 bridge-utils

Tôi đã sửa đổi "/ etc / network / interfaces"

sudo gedit /etc/network/interfaces

để chứa:

# 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" của tôi (mà bằng cách nào đó tôi đã tự đặt mình lại)

sudo gedit /etc/hostapd/hostapd.conf

chứa đựng:

 ### 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

(Tôi đã chỉnh sửa các bit bảo mật cho bài đăng này)

Tất cả điều đó cho phép tôi mở một Terminal và thực thi:

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

để có điểm truy cập hoạt động mà Android của tôi và tất cả các thiết bị WiFi khác có thể kết nối.

Ngoài việc chia sẻ phương thức này với người khác vì thông tin cho thiết lập này quá thưa thớt; có ba vấn đề sẽ tốt đẹp để khắc phục:

  1. Cấu hình này sẽ hủy kích hoạt trình quản lý mạng và tất cả các chức năng của nó. Khi bạn nhấp vào nó, nó cung cấp một thông báo "không được quản lý thiết bị". (không cần thiết, nhưng một chút phiền toái với tôi)
  2. Phương pháp này có thể gặp khó khăn với địa chỉ IP theo thời gian.
  3. Tôi phải sử dụng một thiết bị đầu cuối để bật Wifi. (Ok cho tôi, nhưng không thân thiện với gia đình).  Tôi đã tìm ra cách tạo trình khởi chạy bằng gksu và một tập lệnh đơn giản nếu có ai cần ...

Launching wifi/Hostapd without a terminal

  1. (Tại sao người quản lý mạng không thể thực hiện việc này?)

Cảm ơn trước! Tôi hy vọng tất cả điều này có thể giúp đỡ người khác; Tôi chưa từng viết một bài hướng dẫn nào trước đây và hầu như không biết gì về mạng ...

Có lẽ liên quan đến cầu nối mạng - không phá hủy trình quản lý mạng (trong số những người khác).

Được thử nghiệm bằng cách sử dụng Ubuntu 11.10, 12.04.


13
2018-02-18 02:46


gốc




Các câu trả lời:


Tôi không chắc chắn về cách thực hiện điều này mà không cần ghi đè NM, nhưng có thể chạy tự động lúc khởi động và nhận địa chỉ IP để gán dễ dàng (ít nhất tôi đã quản lý thẻ này bằng cùng một card không dây). Điều này đòi hỏi các gói hostapd và dnsmasq (không phải 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 (khác với phiên bản của người bảo trì):

--- /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 / network / interfaces:

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 (chạy sudo sysctl -p /etc/sysctl.conf sau khi thay đổi):

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

Cuối cùng, thiết lập NAT trong 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

và thêm iptables-restore < /etc/iptables.sav ở trên exit 0 trong /etc/rc.local.

Thiết lập này chủ yếu được thực hiện bằng cách đọc này howto và nhìn chằm chằm vào những trang người đàn ông gãi đầu tôi.


5
2018-04-02 14:54



Cảm ơn! Tôi biết những gì bạn có nghĩa là do gãi đầu; điều này chắc chắn là một nỗi đau để có được làm việc ở tất cả. Tôi sẽ thử cấu hình của bạn và cho bạn biết nó sẽ hoạt động như thế nào trong vài ngày tới. :) - askuhn
Trong vài ngày qua, tôi thấy rằng /etc/network/interfaces tệp không hoạt động vì một số lý do và điện thoại của tôi không kết nối đúng cách. Tôi đã quay trở lại bằng tay cho wlan0 một địa chỉ trên khởi động cho bây giờ. - dutchie
Thiết lập của tôi đã được làm việc khá tốt miễn là tôi không cố gắng để kết nối nhiều hơn một thiết bị (khi tôi làm, đôi khi nó hoạt động, đôi khi nó không). Tôi vẫn đang kêu leng keng, vì vậy nếu tôi nghĩ ra bất cứ điều gì tốt hơn, tôi chắc chắn sẽ đăng bài. :) - askuhn


Hầu hết các sự cố xảy ra do các trình điều khiển Broadcom trong HP Máy tính xách tay ít nhất. Nếu bạn có bộ điều khiển mạng mở rộng Kiểm tra xem thẻ của bạn có tương thích với b43 (liên kết 1) hay không. Nếu nó là, tuyệt vời, tiếp tục đọc. Trình điều khiển sta Broadcom mặc định (wl) sẽ không hỗ trợ chế độ điểm truy cập. Vì vậy, hãy cài đặt b43 để thực hiện biện pháp phòng ngừa trực tuyến bằng bất kỳ phương tiện cần thiết nào. Bật tính năng này bằng cách sử dụng modprobe. Bây giờ làm theo hướng dẫn và cố gắng thiết lập điểm truy cập.

Tôi cuối cùng đã có hostapd làm việc với điều này và phần ngọt là điện thoại Nokia của tôi có thể phát hiện các wifi để tạo ra (Nó có thể phát hiện bất cứ điều gì, adhoc hay không). Bây giờ tôi phải chơi xung quanh với tập tin của bạn và xem nếu tôi có thể nhận được playbook của tôi để phát hiện.

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

3
2018-01-16 17:49



Điều này cũng làm việc khi tôi có thiết bị không được quản lý trong trình quản lý thiết bị. askubuntu.com/questions/71159/… - Giridaran Manivannan
Vui vì điều này rất hữu ích cho bạn! Nó đã cho tôi mãi mãi để tìm ra những gì tôi cần để có được một cái gì đó mà làm việc cho tôi. Cảm ơn bạn đã liên kết về quản lý mạng, tôi chắc chắn sẽ dùng thử :) - askuhn
Và nó hoạt động! Phần tuyệt vời là eth0 không phải là tĩnh bởi phương pháp này. Các ip mua lại sẽ được cho tất cả các eth0, cầu và thiết bị bạn muốn kết nối! - Giridaran Manivannan
Ở đoạn cuối, ý bạn là playbook được phát hiện? - Tshepang


Câu trả lời tuyệt vời ở trên, tuy nhiên nó không chỉ là một hoặc hai chipset không hỗ trợ chế độ hostapd hoặc AP.

Dưới đây là cách xem liệu trình điều khiển và phần cứng của bạn có hỗ trợ chế độ AP hay không:

sudo iw list | less

Tìm phần "chế độ giao diện được hỗ trợ". Nếu nó không bao gồm "AP", bạn đã hết may mắn. Nếu nó nói "AP", sau đó tiến hành với nhiều hướng dẫn tốt đã được cung cấp bởi các áp phích khác!


0