首先,ubuntu20.04查了一个usb的无线网卡。
其次,开始如下配置:
Ubuntu 20.04 使用 NetworkManager 和 Netplan 来管理网络连接。
- 首先,安装必要的软件:
sudo apt update
sudo apt install hostapd dnsmasq
- 停止并禁用这些服务,因为将通过 NetworkManager 来控制它们:
sudo systemctl stop hostapd
sudo systemctl disable hostapd
sudo systemctl stop dnsmasq
sudo systemctl disable dnsmasq
- 配置 NetworkManager 以使用这些服务:
编辑 NetworkManager 配置文件:
sudo nano /etc/NetworkManager/NetworkManager.conf
在 [main] 部分添加以下行:
[main]
dns=dnsmasq
- 创建热点配置文件:
sudo nano /etc/NetworkManager/system-connections/Hotspot.nmconnection
添加以下内容(记得修改 ssid 和 psk):
[connection]
id=Hotspot
uuid=<生成一个唯一的UUID>
type=wifi
interface-name=wlx0013ef1f4be6
[wifi]
mode=ap
ssid=MyUbuntuHotspot
[wifi-security]
key-mgmt=wpa-psk
psk=yourpassword
[ipv4]
method=shared
[ipv6]
addr-gen-mode=stable-privacy
method=ignore
可以使用 uuidgen 命令生成一个 UUID。
- 设置正确的权限:
sudo chmod 600 /etc/NetworkManager/system-connections/Hotspot.nmconnection
- 重启 NetworkManager:
sudo systemctl restart NetworkManager
- 启用 IP 转发:
编辑 sysctl.conf 文件:
sudo nano /etc/sysctl.conf
添加或取消注释以下行:
net.ipv4.ip_forward=1
应用更改:
sudo sysctl -p
- 设置 NAT:
sudo iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE
为了使 iptables 规则在重启后保持生效,安装 iptables-persistent:
sudo apt install iptables-persistent
sudo netfilter-persistent save
- 启动热点:
可以通过图形界面的网络设置来启动热点,或者使用命令行:
nmcli con up Hotspot
这种方法更适合 Ubuntu 20.04。它利用了 NetworkManager 的内置功能来管理热点,这通常比手动配置 hostapd 和 dnsmasq 更可靠。
如果遇到任何问题,可以查看 NetworkManager 的日志:
journalctl -u NetworkManager
此外,确保无线网卡支持 AP 模式。如果热点无法启动,可能是因为硬件限制。
首先,检查是否有其他服务正在管理这个无线接口。运行以下命令:
- sudo lsof /sys/class/net/wlx0013ef1f4be6
- 如果没有其他服务管理这个接口,可以尝试让 NetworkManager 接管它。编辑 NetworkManager 配置文件:
- sudo nano /etc/NetworkManager/NetworkManager.conf
- 在文件中添加以下内容(如果 [ifupdown] 部分已存在,只需添加 managed=true 这一行):
- [ifupdown]
managed=true
- 保存并关闭文件。
- 重启 NetworkManager:
- sudo systemctl restart NetworkManager
- 再次检查设备状态:
- nmcli device
现在,wlx0013ef1f4be6 应该不再是"未托管"状态。
- 如果设备现在由 NetworkManager 管理,尝试创建热点:
- sudo nmcli dev wifi hotspot ifname wlx0013ef1f4be6 ssid MyUbuntuHotspot password "yourpassword"
请将 "yourpassword" 替换为您想使用的实际密码。
- 如果上述命令成功,热点应该已经创建并激活。
手动启动:
- 重启后,需要手动启动热点。
- 使用以下命令启动:
- sudo nmcli connection up Hotspot
- 设置自动连接:
- 如果您希望热点在每次开机时自动启动,可以修改配置:
sudo nmcli connection modify Hotspot connection.autoconnect yes