在hostspot模式下配置wlan接口

  • 在system/networkd服务下配置wlan设备

在"/lib/systemd/network/"上添加以下规则

# cat /lib/systemd/network/hostapd.network
[Match]
Name=wlan0

[Network]
Address=192.168.72.1/24
DHCPServer=yes
IPForward=ipv4
IPMasquerade=yes

192.168.72.1/24: ip地址影响到热点设备。
This configuration supports dhcpserver, ip forward and ip masquerade for this wlan interface: wlan0.
这个配置支持dhcpserver、ip转发和这个wlan接口的ip伪装:wlan0。

  • 通过将以下行替换为/etc/hostapd.config内容来创建热点配置

# cat /etc/hostapd.conf
interface=wlan0
driver=nl80211
# mode Wi-Fi (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g)
hw_mode=g
ssid=STExampleNetwork
channel=7
wmm_enabled=0
macaddr_acl=0
# Wi-Fi closed, need an authentication
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=ExamplePassphareNetwork
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

STExampleNetwork 是新wlan热点(SSID)的可见名称。
ExamplePassphareNetwork 是与wlan热点(SSID)相关联的密码。

  • 默认systemd-networkd不启用wifi连接的服务

在"/lib/systemd/system/hostapd.service"文件中添加突出显示的行

# cat /lib/systemd/system/hostapd.service
[Service]
ExecStartPre=/sbin/ip link set wlan0 up
ExecStart=/usr/sbin/hostapd /etc/hostapd.conf -P /run/hostapd.pid -B
  • 启动hostapd服务

# systemctl enable  hostapd

如何配置网关配置

对于这个配置示例,设置如下:

  • wlan0: 无线接口连接到SSID网络与DHCP

  • eth0: 以太网接口与静态IP,其中也有一个DHCPserver

  • 在两个网络接口之间激活包的转发。

配置无线设备

# cat /lib/systemd/network/wlan0.network
 [Match]
 Name=wlan0
  
 [Network]
 DHCP=ipv4
 IPForward=ipv4

IPForward : 允许将所有网络包从无线网络转发到其他网络。

为SSID网络配置无线接口:

# mkdir -p /etc/wpa_supplicant/
 echo "ctrl_interface=/var/run/wpa_supplicant" > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
 echo "eapol_version=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
 echo "ap_scan=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
 echo "fast_reauth=1" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
 echo "" >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
 wpa_passphrase SSID_NETWORK PASSWORD_NETWORK >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
 or
 wpa_passphrase SSID_NETWORK  >> /etc/wpa_supplicant/wpa_supplicant-wlan0.conf

SSID_NETWORK 表示SSID名称。
PASSWORD_NETWORK 表示网络密码。

 

启用无线服务

# systemctl enable wpa_supplicant@wlan0.service
# systemctl restart systemd-networkd.service
# systemctl restart wpa_supplicant@wlan0.service
作者:SteveChen  创建时间:2024-09-18 11:58
最后编辑:SteveChen  更新时间:2024-09-18 11:58