Мое требование:
Мне нужно запустить точку доступа Wi-Fi с компьютера.Люди, подключающиеся к точке доступа, должны иметь доступ к локальному веб-серверу, работающему на компьютере, на полной скорости и на ограниченных скоростях при доступе в Интернет.Я попытался настроить систему с помощью программных средств, перечисленных ниже.Я использую это на маломощных ПК.Поэтому я хочу, чтобы это было максимально оптимизировано.Мне нужно, чтобы вы проверили и сделали ли я все это правильно.
- люди, подключенные к wlan0, должны получить доступ к 127.0.0.1:80 на полной скорости.
- люди, подключенные к wlan0, должныдоступ к Интернету через eth0 со скоростью 50 Кбит / с.
Настройка интерфейса и ПК:
- eth0 - проводное подключение к Интернету
- wlan0 - действует как точка доступа - использует hostapd
- dnsmasq для dhcp и dns для горячей точки
- локальный веб-сервер работает на 127.0.0.1:80
- squid для регулирования скорости передачи по сети
Файл конфигурации dnsmasq: (для диапазона IP-адресов и настройки DNS)
interface=wlan0 # Use interface wlan0
except-interface=lo
listen-address=172.24.1.1 # Explicitly specify the address to listen on
bind-interfaces # Bind to the interface to make sure we aren't sending things elsewhere
server=8.8.8.8 # Forward DNS requests to Google DNS
domain-needed # Don't forward short names
bogus-priv # Never forward addresses in the non-routed address spaces.
dhcp-range=172.24.1.50,172.24.1.150,12h # Assign IP addresses between 172.24.1.50 and 172.24.1.150 with a 12 hour lease time
Для маршрутизации трафика
Записи таблицы IP
Правило1
Сервер Squid (регулирование скорости сети) работает в порту 3128. Поэтому перенаправьте порт 80 и 443 eth0 (имя, предоставляющее интернет-интерфейс) на сервер Squid для регулирования скорости сети.Так что squid работает как прокси-сервер.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 172.24.1.1:3128
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 172.24.1.1:3128
Rule2
Здесь перенаправьте запрос wlan0 (клиента) на прокси-сервер squid, работающий в порту 3128
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 80 -j REDIRECT --to-port 3128
sudo iptables -t nat -A PREROUTING -i wlan0 -p tcp --dport 443 -j REDIRECT --to-port 3128
Rule3
Помогает дать ответ клиенту, который подключается с wlan0
sudo iptables --t nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE
Rule4
Направление конкретного ip-запроса на lo (локальный сервер работает в 127.0.0.1:80)
iptables -t nat -A PREROUTING -i wlan0 -p tcp -d 172.24.1.1 -j DNAT --to-destination 127.0.0.1:80
Конфигурация Squid
acl test src 172.24.1.2/24
delay_pools 1
delay_class 1 1
delay_parameters 1 100000/100000 #100kilobyte per second
delay_access 1 allow test
Все это выглядит так, как будто оно работаетно компьютер и сеть иногда работают медленно и определенно медленно, когда многие люди получают доступ к горячей точке.
Кроме того, как мне выполнить анализ производительности этой системы брандмауэра?