Наконец мне удалось настроить точку доступа на моей WiFi-карте, используя hostapd и dnsmasq. Я сделал это в следующем порядке:

1) Настройте hostapd и dnsmasq:

nano /etc/hostapd/hostapd.conf

nano /etc/dnsmasq.conf

Содержание hostapd.conf:

interface=wlan1mon
driver=nl80211
ssid=o2wlan69
hw_mode=g
channel=6
macaddr_acl=0
ignore_broadcast_ssid=0

Содержание dnsmasq.conf:

interface=wlan1mon
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1

2) Это две из четырех строк, которые я не знаю точно, что они делают:

ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

3) Запустите сервисы:

dnsmasq -C /etc/dnsmasq.conf -d

hostapd /etc/hostapd/hostapd.conf

4) А вот строки 3 и 4, которые я не знаю точно, что они делают:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface wlan1mon -j ACCEPT

Я знаю, что iptables используется для изменения блокировки или перенаправления трафика, поступающего на устройство и с него, и я знаю, что вы можете назначать сетевые маски и IP-адреса сетевым устройствам с помощью ifconfig. Я также знаю, как маска сети влияет на локальный диапазон IP-адресов, но мне не ясно, как эти команды помогают моей точке доступа совместно использовать интернет-соединение между моим интерфейсом wlan1mon и eth0. Кроме того, почему я должен запускать команду ifconfig и route?

1 ответ1

1
ifconfig wlan1mon up 192.168.1.1 netmask 255.255.255.0

Эта команда указывает вашему компьютеру включить сетевое устройство wlan1mon (ваш интерфейс WiFi) и назначить ему IP-адрес 192.168.1.1 (с подсетью 192.168.1.0/24), чтобы оно могло отправлять / получать сетевые пакеты.

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

Эта команда указывает компьютеру отправлять каждый пакет, у которого есть получатель в подсети с 192.168.1.1/24 по 192.168.1.1 (я не уверен, должна ли эта команда выполняться на компьютере, который пересылает, поскольку маршруты нужны только для связывая клиентов, насколько я обеспокоен. А так как у вас уже есть настроенный DHCP-сервер, этот маршрут должен быть автоматически добавлен на этих клиентах.)

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

Эта команда указывает компьютеру правильно "маскировать" IP входящих / исходящих пакетов (N etwork A ddress T translation) в цепочке POSTROUTING на eth0. По сути, он назначает IP-адрес компьютера каждому исходящему пакету (чтобы внешние компьютеры могли отправлять ответ) и переадресовывает входящие пакеты для соответствующего хоста в вашей сети.

iptables --append FORWARD --in-interface wlan1mon -j ACCEPT

Эта команда позволяет перенаправлять входящие пакеты от wlan1mon. Это означает, что компьютеру пересылки разрешено обрабатывать и пересылать эти сетевые пакеты (даже), если получателем является кто-то другой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .