如何在不使用 hostapd 且使用 DHCP 的情况下在 CentOS Stream 9 上创建接入点?

如何在不使用 hostapd 且使用 DHCP 的情况下在 CentOS Stream 9 上创建接入点?

在我尝试在 CentOS 8 上安装 wifi 卡并设置接入点 1.5 周后,我意外地发现该卡的驱动程序仅受最低内核 5.1 支持

所以我首先尝试安装新的内核,但无线网卡仍然没有成功。

最后,我切换到了 CentOS Stream 9(内核 5.15)。

如何创建接入点?

答案1

谷歌搜索后,我发现 NetworkManager-wifi 是一个需要安装的 nescary 软件包以及其他软件包。

这是设置接入点的简短教程,是一种快速且不脏的方法。从完成服务器的全新安装(没有 GUI、没有额外的软件包)到第一次与 iPad 和 Mac Air 成功建立 WiFi 连接,我整整花了 25 分钟。

我不会做很多努力,为每一步添加注释,如果你使用 CentOS,你就会知道这意味着什么:-) 大部分部分仅用于检查和监控实际点的状态,两个部分(NetworkManager.confdhcpd.conf)已准备好进行复制和粘贴以及细微的调整。

本教程在以下硬件上测试了两次:

  • 技嘉迷你电脑 BRIX BACE-3000,8GB DDR3,120GB SSD,英特尔 wifi 6E ax210ngf 博锐
  • 技嘉迷你电脑 BRIX BACE-3160,8GB DDR3,120GB SSD,英特尔 wifi 3160ngf

本教程基于以下操作方法,进行了细微的更改和调整:

为了没有 hostapd 的接入点(在德国)。为了dhcpd配置文件(英文,请跳过 hostapd 部分并向下滚动)


开始吧

sudo yum -y update
sudo yum -y install NetworkManager-wifi wpa_supplicant dhcp-server
[admin@ddpos-server ~]$ iw list | less
Supported interface modes:
                 * IBSS
                 * managed
                 * AP       <--- IMPORTANT
                 * AP/VLAN
                 * monitor
                 * P2P-client
                 * P2P-GO
                 * P2P-device
             
[admin@ddpos-server ~]$ nmcli device status
DEVICE  TYPE      STATE            CONNECTION 
enp3s0  ethernet  verbunden        enp3s0     
lo      loopback  nicht verwaltet  --         
wlp2s0  wifi      nicht verwaltet  --
     

[admin@ddpos-server ~]$ nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
enp3s0  3c78a4d1-4497-3582-91cc-5de458039174  ethernet  enp3s0 


[admin@ddpos-server ~]$ nmcli device show wlp2s0
GENERAL.DEVICE:                         wlp2s0
GENERAL.TYPE:                           wifi
GENERAL.HWADDR:                         E4:02:9B:F0:84:35
GENERAL.MTU:                            1500
GENERAL.STATE:                          10 (nicht verwaltet)
GENERAL.CONNECTION:                     --
GENERAL.CON-PATH:                       --
IP4.GATEWAY:                            --
IP6.GATEWAY:                            --

[admin@ddpos-server ~]$ nmcli -f GENERAL device show wlp2s0
GENERAL.DEVICE:                         wlp2s0
GENERAL.TYPE:                           wifi
GENERAL.NM-TYPE:                        NMDeviceGeneric
GENERAL.DBUS-PATH:                      /org/freedesktop/NetworkManager/Devices/3
GENERAL.VENDOR:                         Intel Corporation
GENERAL.PRODUCT:                        Wireless 3160 (Dual Band Wireless AC 3160)
GENERAL.DRIVER:                         iwlwifi
GENERAL.DRIVER-VERSION:                 5.14.0-17.el9.x86_64
GENERAL.FIRMWARE-VERSION:               17.3216344376.0 3160-17.ucode
GENERAL.HWADDR:                         E4:02:9B:F0:84:35
GENERAL.MTU:                            1500
GENERAL.STATE:                          10 (nicht verwaltet)
GENERAL.REASON:                         0 (Kein Grund angegeben)
GENERAL.IP4-CONNECTIVITY:               0 (unbekannt)
GENERAL.IP6-CONNECTIVITY:               0 (unbekannt)
GENERAL.UDI:                            /sys/devices/pci0000:00/0000:00:1c.1/0000:02:00.0/ne>
GENERAL.PATH:                           pci-0000:02:00.0
GENERAL.IP-IFACE:                       wlp2s0
GENERAL.IS-SOFTWARE:                    nein
GENERAL.NM-MANAGED:                     nein
GENERAL.AUTOCONNECT:                    ja
GENERAL.FIRMWARE-MISSING:               nein
GENERAL.NM-PLUGIN-MISSING:              ja
GENERAL.PHYS-PORT-ID:                   --
GENERAL.CONNECTION:                     --
GENERAL.CON-UUID:                       --
GENERAL.CON-PATH:                       --
GENERAL.METERED:                        unbekannt

编辑网络管理器配置:sudo nano /etc/NetworkManager/NetworkManager.conf并复制并粘贴:

[device]
wifi.scan-rand-mac-address=no
# Fehlermeldung "CTRL-EVENT-SCAN-FAILED ret=-95 retry=1" beheben
# match-device=driver:iwlwifi    # <-- UNCOMMENT "# match-dev..." IF NECESSARY

[ifupdown]
managed=false

[main]
plugins=ifupdown,keyfile

然后重新启动网络管理器:

sudo systemctl restart NetworkManager
[admin@ddpos-server ~]$ sudo systemctl status NetworkManager

● NetworkManager.service - Network Manager
     Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset:>
     Active: active (running) since Fri 2021-12-03 15:31:57 CET; 11s ago
       Docs: man:NetworkManager(8)
   Main PID: 41085 (NetworkManager)
      Tasks: 4 (limit: 47936)
     Memory: 3.1M
        CPU: 214ms
     CGroup: /system.slice/NetworkManager.service
             └─41085 /usr/sbin/NetworkManager --no-daemon

Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8406] man>
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8494] dev>
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8497] Wi->
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8504] man>
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8516] dev>
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8532] dev>
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.8590] dev>
Dez 03 15:31:57 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541917.9982] dhc>
Dez 03 15:31:58 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541918.0068] dhc>
Dez 03 15:32:01 ddpos-server-3160.ddpos NetworkManager[41085]: <info>  [1638541921.2296] man>
sudo systemctl restart wpa_supplicant
[admin@ddpos-server ~]$ sudo nmcli connection show
NAME     UUID                                  TYPE      DEVICE 
enp3s0   3c78a4d1-4497-3582-91cc-5de458039174  ethernet  enp3s0 

这并不是真正需要的,但它提供了您正在做的事情的视觉反馈:

sudo nmtui
[admin@ddpos-server ~]$ nmcli device wifi list
IN-USE  BSSID              SSID            MODE   CHAN  RATE        SIGNAL  BARS  SECURITY 
        34:81:C4:0C:F1:7E  FRITZ!Box 7490  Infra  11    195 Mbit/s  69      ▂▄▆_  WPA2     
        34:81:C4:0C:F1:80  FRITZ!Box 7490  Infra  44    405 Mbit/s  55      ▂▄__  WPA2     
        74:DA:88:F2:7C:33  WLAN-DW2CFD940  Infra  10    540 Mbit/s  32      ▂▄__  WPA2   

在以下部分中替换ifname wlp2s0为您的部分,并根据您的选择更改MyHotspot/ MyNewSSID/ 。MyNewPassword

sudo nmcli device wifi hotspot ifname wlp2s0 con-name MyHotspot ssid MyNewSSID band bg channel 3 password 'MyNewPassword'

这里出现一条错误消息,我忽略了它,因为此时安装尚未完成。

Fehler: Aktivierung der Verbindung ist gescheitert: (5) IP-Konfiguration konnte nicht reserviert werden (keine verfügbare Adresse, Zeitüberschreitung usw.).
sudo nmcli connection modify MyHotspot ipv4.method manual ipv4.addresses 192.168.99.1/24 ipv4.gateway 192.168.99.1
sudo nmcli connection modify myHotspot connection.autoconnect yes
sudo nmcli connection up MyHotspot
sudo nmcli connection show --active
[admin@ddpos-server ~]$ iw wlp2s0 info
Interface wlp2s0
    ifindex 3
    wdev 0x1
    addr e4:02:9b:f0:84:35
    ssid ddpos
    type AP
    wiphy 0
    channel 3 (2422 MHz), width: 20 MHz, center1: 2422 MHz
    txpower 22.00 dBm
    multicast TXQ:
        qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytes    tx-packets
        0           0           0       0       0       0           0           0           0

使用 编辑 dhcpd 设置sudo nano /etc/dhcp/dhcpd.conf,复制并粘贴,然后根据您的需要更改子网 99:

default-lease-time 600;
max-lease-time 7200;
authoritative;
subnet 192.168.99.0 netmask 255.255.255.0 {
       range dynamic-bootp 192.168.99.200 192.168.99.220;
       option broadcast-address 192.168.99.255;
       option domain-name-servers 8.8.8.8, 8.8.4.4, 4.2.2.4;
       option routers 192.168.99.1;
       }
sudo systemctl daemon-reload
sudo systemctl enable dhcpd.service
sudo systemctl restart dhcpd.service
[admin@ddpos-server ~]$ sudo systemctl status dhcpd.service

● dhcpd.service - DHCPv4 Server Daemon
     Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 15:45:56 CET; 10s ago
       Docs: man:dhcpd(8)
             man:dhcpd.conf(5)
   Main PID: 41327 (dhcpd)
     Status: "Dispatching packets..."
      Tasks: 1 (limit: 47936)
     Memory: 5.2M
        CPU: 33ms
     CGroup: /system.slice/dhcpd.service
             └─41327 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid

Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]: 
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]: No subnet declaration for enp3s0 (192.168.178.29).
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]: ** Ignoring requests on enp3s0.  If this is not what
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]:    you want, please write a subnet declaration
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]:    in your dhcpd.conf file for the network segment
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]:    to which interface enp3s0 is attached. **
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]: 
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]: Sending on   Socket/fallback/fallback-net
Dez 03 15:45:56 ddpos-server-3160.ddpos dhcpd[41327]: Server starting service.
Dez 03 15:45:56 ddpos-server-3160.ddpos systemd[1]: Started DHCPv4 Server Daemon.
sudo firewall-cmd --zone=public --add-service=dns --permanent
sudo firewall-cmd --zone=public --add-masquerade --permanent
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo reboot

您应该已准备好使用新的接入点。希望这可以帮助某人。

相关内容