如何将无线网卡配置为热点模式

来自百问网嵌入式Linux wiki
Wiki讨论 | 贡献2020年1月10日 (五) 10:41的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

如何将无线网卡配置为热点模式

将无线网卡配置为热点模式

为 systemd/netword 文件中中配置好wlan接口参数
在 /lib/systemd/network/ 文件中添加以下规则:
	Board $> 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地址及子网掩码。
此配置将网卡设置为支持dhcpserver、ip forward、ip masquerade:wlan0。
通过以下内容替换到 /etc/hostapd.config 中创建新的热点配置信息:
	Board $> 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 是新无线局域网热点(SSID)的可见名称。
ExamplePassphareNetwork 是与无线局域网热点(SSID)相关联的密码。
更正 systemd-networkd.service 的一个问题,该问题默认情况下不启用wifi链接
在 /lib/systemd/system/hostapd.service 文件中添加突出显示的行
	Board $> 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
启用系统服务
    Board $> systemctl enable  hostapd

如何配置网关配置

对于此配置示例,设置为:
  • wlan0:通过 DHCP 连接到 SSID_NETWORK 的无线网卡
  • eth0:具有静态 IP 的以太网接口,上面也有 DHCP server
  • 数据包的转发在两个网络接口之间被激活。

配置无线接口

	Board $> cat /lib/systemd/network/wlan0.network
	 [Match]
	 Name=wlan0

	 [Network]
	 DHCP=ipv4
	 IPForward=ipv4
IP转发
允许将所有网络数据包从无线网络转发到其他网络。
为 SSID_NETWORK 网络配置无线接口:
		Board $> 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、PASSWORD_NETWORK 对应于无线网络的SSID和密码。
是配置信息生效(重启后要考虑):
	Board $> systemctl enable wpa_supplicant@wlan0.service
	      systemctl restart systemd-networkd.service
	      systemctl restart wpa_supplicant@wlan0.service