Я следовал этому руководству, чтобы создать точку доступа, которая перенаправляет все http-запросы на мою локальную веб-страницу.
Однако запросы https из-за ошибок сертификата не попадают на мою страницу и вместо этого действуют так, как будто они загружаются вечно.
Я хотел бы создать своего рода огороженный сад, который позволяет https-запросам получать доступ к Интернету, но перенаправляет http-запросы на мою страницу, так как через некоторое время пользователи вынуждены нажимать http-ссылку.
Я использую Raspberry Pi с Raspbian lite, который в основном совпадает с Debian. Apache2 обслуживает веб-страницу, dnsmasq обрабатывает dhcp и hostapd для создания точки доступа.
/etc/hostapd/hostapd.conf
interface=wlan0 driver=nl80211 ssid=FreeWiFi channel=6 /etc/dnsmasq.conf
log-facility=/var/log/dnsmasq.log address=/#/10.0.0.1 interface=wlan0 dhcp-range=10.0.0.10, 10.0.0.250,12h no-resolv log-queries / и т.д. / сеть / интерфейсы
auto lo iface lo inet loopback iface eth0 inet dhcp iface wlan0 inet static address 10.0.0.1 netmask 255.255.255.0 broadcast 255.0.0.0 pre-up iptables-restore < /etc/iptables.rules Правила создания таблиц IP
sudo iptables -F sudo iptables -i wlan0 -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -i wlan0 -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -i wlan0 -A INPUT -p udp --dport 53 -j ACCEPT sudo iptables -i wlan0 -A INPUT -p udp --dport 67:68 -j ACCEPT sudo iptables -i wlan0 -A INPUT -j DROP sudo sh -c "iptables-save > /etc/iptables.rules" Я предполагаю, что мне нужно добавить еще одно правило для порта 443, чтобы разрешить запросы https. Я не уверен, как мне закончить настройку dnsmasq и как перенаправить трафик на мое аппаратное соединение eth0.
РЕДАКТИРОВАТЬ: Оглядываясь вокруг, кажется, мне не нужно ничего менять в dnsmasq, но мне просто нужно использовать некоторые приемлемые правила для перенаправления трафика https к eth0? Я не знаю, как сделать это специально для запросов https.
sudo iptables -nvL
Chain INPUT (policy ACCEPT 491 packets, 45444 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * * 0.0.0.0/0 10.0.0.0/24 tcp multiport dports 80 0 0 ACCEPT tcp -- * * 0.0.0.0/0 10.0.0.0/24 tcp multiport dports 80 Chain OUTPUT (policy ACCEPT 413 packets, 52820 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- * wlan0 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 0 0 ACCEPT tcp -- * wlan0 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 sudo iptables-save
# Generated by iptables-save v1.4.21 on Tue Mar 7 22:56:30 2017 *nat :PREROUTING ACCEPT [1781:191954] :INPUT ACCEPT [704:143612] :OUTPUT ACCEPT [204:15231] :POSTROUTING ACCEPT [219:16055] -A PREROUTING -i wlan0 -p tcp -m tcp -m multiport --dports 80 -j DNAT --to-destination 10.0.0.1 -A PREROUTING -i wlan0 -p tcp -m tcp -m multiport --dports 80 -j DNAT --to-destination 10.0.0.1 COMMIT # Completed on Tue Mar 7 22:56:30 2017 # Generated by iptables-save v1.4.21 on Tue Mar 7 22:56:30 2017 *filter :INPUT ACCEPT [389:44149] :FORWARD ACCEPT [84:3648] :OUTPUT ACCEPT [376:86142] -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -A FORWARD -p tcp -m tcp --dport 443 -j ACCEPT -A FORWARD -d 10.0.0.0/24 -p tcp -m tcp -m multiport --dports 80 -j ACCEPT -A FORWARD -d 10.0.0.0/24 -p tcp -m tcp -m multiport --dports 80 -j ACCEPT -A OUTPUT -o wlan0 -p tcp -m tcp --dport 443 -j ACCEPT -A OUTPUT -o wlan0 -p tcp -m tcp --dport 443 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT COMMIT # Completed on Tue Mar 7 22:56:30 2017
«Запросы https из-за ошибок сертификата не попадают на мою страницу, а вместо этого ведут себя так, как будто они загружаются вечно» - это всего лишь конфигурация брандмауэра; если бы это была ошибка сертификата, вы бы получили сообщение об ошибке Big Red Error из браузера.