Я пытаюсь настроить беспроводную точку доступа в Fedora с помощью Hostapd, потому что у Hostapd есть некоторые дополнительные функции, которые мне нужны, помимо функций точки доступа по умолчанию в сетевом менеджере Gnome.
Я добавил следующие строки в /etc/NetworkManager/NetworkManager.conf
, чтобы убедиться, что NetworkManager не мешает Hostapd.
[keyfile]
unmanaged-devices=interface-name:wl*
Я отключил функцию DNS от Dnsmasq и установил диапазон адресов DHCP. Мой /etc/dnsmasq.conf
выглядит так:
port=0
interface=wlp3s0
dhcp-range=192.168.8.20,192.168.8.254,255.255.255.0,12h
server=8.8.8.8
server=8.8.4.4
В etc/sysctl.conf
я добавил эту строку:
net.ip4.ip_forward=1
И тогда я выполнил:
$ killall dnsmasq
$ iptables -t nat -A POSTROUTING -s 192.168.8.0/24 ! -d 192.168.8.0/24 -j MASQUERADE
$ service NetworkManager restart
$ service dnsmasq start
$ service hostapd start
Проблема в том, что другие устройства не получат ip-адрес при попытке подключения к точке доступа. Я не уверен, как и где найти проблему.
Я задаю этот вопрос, потому что, кажется, есть некоторые различия со старыми версиями и другими дистрибутивами. Например, у меня нет wlan0
но wlp3s0
и папка /etc/network/
не существует в Fedora.
Хорошо, мне пришлось включить DHPC с настройкой брандмауэра, и теперь Dnsmasq продолжает говорить
dnsmasq-dhcp: DHCP packet received on wlp3s0 which has no address
И я сделал еще один шаг!
ifconfig wlp3s0 192.168.8.20/24 up
Теперь устройства могут подключаться, но у них еще нет интернета.