Hostapd와 DHCP를 사용하지 않고 CentOS Stream 9에서 액세스 포인트를 만드는 방법은 무엇입니까?

Hostapd와 DHCP를 사용하지 않고 CentOS Stream 9에서 액세스 포인트를 만드는 방법은 무엇입니까?

Wi-Fi 카드를 설치하고 CentOS 8에 액세스 포인트를 설정하려고 시도한 지 1.5주 후에 카드용 드라이버가 최소 커널 5.1에서만 지원된다는 것을 예기치 않게 발견했습니다.

그래서 먼저 새 커널을 설치해 보았지만 무선 카드로는 여전히 성공하지 못했습니다.

마지막으로 CentOS Stream 9(커널 5.15)로 전환했습니다.

액세스 포인트를 만드는 방법은 무엇입니까?

답변1

인터넷 검색 후 NetworkManager-wifi는 다른 패키지와 함께 설치해야 하는 불필요한 패키지라는 것을 발견했습니다.

다음은 액세스 포인트를 설정하는 빠르고 간단한 방법에 대한 간단한 튜토리얼입니다. 처음으로 iPad와 Mac Air에 WiFi 연결을 성공적으로 설정하기 위해 서버를 새로 설치(GUI나 추가 패키지 없이)하는 데 25분이 걸렸습니다.

각 단계에 설명을 추가하기 위해 많은 노력을 기울이지 않을 것입니다. CentOS를 사용하면 그것이 무엇을 의미하는지 알 수 있습니다 :-) 대부분의 섹션은 실제 포인트의 상태를 확인하고 모니터링하기 위한 것입니다. NetworkManager.confdhcpd.conf) 복사하여 붙여넣고 약간의 조정을 할 준비가 되어 있어야 합니다.

이 튜토리얼은 다음 하드웨어에서 두 번 테스트되었습니다.

  • GIGABYTE 미니 PC BRIX BACE-3000, 8GB DDR3, 120GB SSD, Intel wifi 6E ax210ngf vPro
  • 기가바이트 미니PC BRIX BACE-3160, 8GB DDR3, 120GB SSD, 인텔 와이파이 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에 따라 변경하십시오 .MyHotspotMyNewSSIDMyNewPassword

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

새로운 액세스 포인트를 사용할 준비가 되어 있어야 합니다. 이것이 누군가에게 도움이 되기를 바랍니다.

관련 정보