Я построил портативный маршрутизатор, используя Raspberry Pi. Мои настройки работают, если я не подключаюсь к точке доступа, которая требует какой-либо сетевой регистрации.
После некоторого расследования, я думаю, я отследил это до проблемы сервера имен . Я использую серверы имен Google в моем файле dhcpd.conf ниже, это работает без проблем, когда я подключаюсь к горячим точкам, которые не требуют начального входа в сеть (домашний Wi-Fi, например).
/etc/dhcp/dhcpd.conf
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.111.0 netmask 255.255.255.0 {
range 192.168.111.100 192.168.111.200;
option broadcast-address 192.168.111.255;
option routers 192.168.111.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local-network";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
При удалении option domain-name-servers
строка все клиенты на wlan1
не могут разрешать имена хостов.
Я могу найти серверы имен текущей точки доступа в /etc/resolv.conf
/etc/resolv.conf
nameserver 212.27.40.241
nameserver 212.27.40.240
На моем macbook, если я вручную введу эти серверы имен в области сетевых настроек, я буду перенаправлен на страницу входа в горячую точку. После входа в систему я могу удалить эти записи вручную, и он вернется к серверам имен, предоставленным моим DHCP-сервером.
Однако это не оптимальное решение, так как подключенная точка доступа на wlan0
изменится во время моего путешествия, и у меня будет более одного устройства, подключенного к wlan1
.
Моя цель здесь состоит в том, чтобы удалить этот последний шаг. Есть ли способ автоматизировать это на сервере raspberrypi? Или я подхожу к этому неправильно? Является ли лучшим решением всегда использовать DNS по умолчанию для точки доступа? Если да, то как я могу дать команду dhcpd
сделать это автоматически?
Некоторая информация о моей настройке:
- 2 физических адаптера Wi-Fi
wlan0
для подключения к различным точкам доступаwlan1
для создания локальной сети.isc-dhcp-server
(dhcpd
) для распределения IP-адресов поwlan1
hostapd
для создания локальной точки доступа- Обход NAT с использованием
iptables