Чтобы обеспечить корректную запись реальных IP-адресов пользователей в логах Apache, вам необходимо настроить Mikrotik CHR и Apache так, чтобы информация о реальном IP-адресе пользователей передавалась на веб-сервер.
### Шаги для настройки корректной записи IP-адресов:
1. **Настройка Mikrotik для передачи реального IP-адреса**:
Вам нужно использовать заголовок `X-Forwarded-For`, чтобы передавать исходный IP-адрес клиента на сервер Apache. Для этого добавим правило для изменения заголовков.
Используйте следующие команды в Mikrotik для настройки `http` класса сервисов и `web-proxy` или `mangle` для создания правил с заголовками. Приведем пример с `mangle`:
```plaintext
/ip firewall mangle
add chain=forward protocol=tcp dst-port=443 action=add-src-to-address-list address-list=web-clients address-list-timeout=1h
```
Обратите внимание, что данный пример создает список IP-адресов, но нам нужно понимать, какой метод вы будете использовать для передачи IP на сервер. Используйте `HTTP Headers`:
```plaintext
/ip hotspot walled-garden ip add action=allow comment="Allow to pass on next load" disabled=no dst-host=<ваш-домен>
```
В данном случае, вы можете использовать `HTTP/HTTPS` перенаправление с добавлением заголовка.
2. **Настройки Apache для корректной обработки заголовка `X-Forwarded-For`**:
Включите модуль `mod_remoteip`, который отвечает за обработку заголовка `X-Forwarded-For`. Для этого выполните следующие команды:
```bash
sudo a2enmod remoteip
```
Затем настройте `remoteip` в конфигурации Apache (обычно это файл `/etc/httpd/conf/httpd.conf` или `/etc/httpd/conf.d/your-vhost.conf`):
```apache
<IfModule mod_remoteip.c>
# Укажите IP-адрес Mikrotik или диапазон, откуда будут приходить
RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.0.1 # IP-адрес Mikrotik
</IfModule>
```
3. **Настройка логирования**:
Измените формат логов Apache в соответствии с вашим требованием для записи реальных IP:
```apache
LogFormat "%{REMOTE_ADDR}e %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
```
Или просто указывайте `REMOTE_ADDR` для получения пусть `X-Forwarded-For`.
4. **Перезапустите Apache**:
После внесения изменений вам нужно перезапустить сервер Apache, чтобы изменения вступили в силу:
```bash
sudo systemctl restart httpd
```
### Заключение
Таким образом, вы настроите Mikrotik для передачи реальных IP-адресов через заголовок `X-Forwarded-For`, а Apache примет этот заголовок для записи корректных адресов пользователей в своих логах. Теперь в логах Apache должны отображаться реальные IP-адреса клиентов.