Как заполнять файл ipp txt
Перейти к содержимому

Как заполнять файл ipp txt

  • автор:

Как создать скрипт записывающий в файл уникальные ip и количество их посещений?

Вроде бы просто, но не хватает опыта. Скрипт записывающий уникальные ip — т.е($_SERVER(‘REMOTE_ADDR’) и количество посещений в файл ip.txt.

Отслеживать
задан 19 фев 2022 в 11:57
40 5 5 бронзовых знаков

Пожалуйста, уточните вашу конкретную проблему или приведите более подробную информацию о том, что именно вам нужно. В текущем виде сложно понять, что именно вы спрашиваете.

19 фев 2022 в 11:57
А зачем? Эта информация есть в логах веб-сервера (у вас же есть логи веб-сервера?)
19 фев 2022 в 12:01
Задание в книге требует
19 фев 2022 в 14:45
@IvanSmagin Ну раз книга требует, то она и объясняет что делать до задания. Вывод: читайте книгу.
19 фев 2022 в 18:48

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

$ip = $_SERVER['REMOTE_ADDR']; // Запись IP-Адреса в переменную $file = file('./ip.txt'); // Вместо ip.txt можно вписать другое расширение и название файла if (in_array($ip, $file)) // Проверяем есть ли IP-Адрес в файле ip.txt и при отсутствии записываем echo 'Вы уже посещали эту страницу'; else file_put_contents('ip.txt', $ip, FILE_APPEND); 

Отслеживать
ответ дан 20 фев 2022 в 9:14
1 4 4 бронзовых знака

    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.5.3.8609

OpenVPN-bridge: как сделать IP клиента постоянным?

Собственно, из файла /etc/openvpn/ccd/ipp.txt записи почему-то пропадают со временем. Так каким же тогда образом сказать: «данному Common Name присвоить адрес из пула вот такой-то»? Явным образом прописать в /etc/openvpn/ccd/%CommonName% директиву ifconfig? Не хотелось бы. Именно формат ipp.txt кажется наиболее простым, понятным и логичным, тем более если назначение статических адресов для некоторых клиентов — это скорее исключение, чем правило.
Что думаете по означенному вопросу? 🙂

DRVTiny ★★★★★
15.11.13 17:04:50 MSK
Последнее исправление: DRVTiny 15.11.13 17:05:41 MSK (всего исправлений: 1)

Как выдать статический ip клиенту подключенному через openvpn, используя docker?

Есть сервер. Есть клиент, который подключается к серверу через openvpn. Нужно сделать так чтобы клиенту присваивался статический локальный ip. Т.е. занять один ip, чтоб он был зарезервирован и другим клиентам присваивались другие. Всё это нужно сделать через docker.

Проблема в том что я пока слабо представляю как это сделать, да ещё и с docker разобраться не могу, как именно эти изменения передавать в контейнер. Нужно ли ставить openvpn в контейнер, ведь он уже настроен на сервере? Или можно как-то передать установленный openvpn вместе с конфигами в docker? Может проще вообще скачать образ где уже настроен openvpn? И вообще в правильном ли я направлении двигаюсь?
Помогите понять куда хоть копать, с чего начинать чтоб разобраться.
Заранее благодарен.

  • Вопрос задан более трёх лет назад
  • 1917 просмотров

5 комментариев

Оценить 5 комментариев

rustler2000 @rustler2000

Ваще не понятно.

Надо чтобы в контейнере крутился openvpn и клиент ходил через vpn в подсетку докера?
Или просто зафиксировать клиенту IP в openvpn?

Егор Медко @mag62442 Автор вопроса

rustler2000: просто зафиксировать IP, клиент подключается к серверу, openvpn там уже стоит и настроен. Просто нужно это настроить через docker, чтоб систему не захламлять, а уж как реализовать тут без разницы, главное чтоб работало). Может и правда лучше в самом докере openvpn и всё остальное сделать, я не знаю, вот и спрашиваю.

Егор Медко @mag62442 Автор вопроса

после подключения каждому клиенту присваивается какой-либо ip. У клиента он должен быть статический. Кто-то ещё к этому openvpn подключается. Я хочу это использовать чтоб настроить на клинте ssh, и к нему можно будет подключаться другим клиентам openvpn этого сервера).

rustler2000 @rustler2000

Егор Медко: тоесть вопрос звучит так — как можно присвоить клиенту openvpn статический ip и можно ли запустить openvpn в докере.

да можно и то и другое — ссылки вверху. при любом раскладе и то и другое не бином ньютона и гуглица на ура

Егор Медко @mag62442 Автор вопроса
rustler2000: хорошо, благодарю. Буду пытаться разобраться.
Решения вопроса 1
e-commerce developer
В конфиге сервера указать:
ifconfig-pool-persist ipp.txt

Persist/unpersist ifconfig-pool data to file, at seconds intervals (default=600), as well as on program startup and shutdown.
The goal of this option is to provide a long-term association between clients (denoted by their common name) and the virtual IP address assigned to them from the ifconfig-pool. Maintaining a long-term association is good for clients because it allows them to effectively use the —persist-tun option.

file is a comma-delimited ASCII file, formatted as ,.

If seconds = 0, file will be treated as read-only. This is useful if you would like to treat file as a configuration file.

Note that the entries in this file are treated by OpenVPN as suggestions only, based on past associations between a common name and IP address. They do not guarantee that the given common name will always receive the given IP address. If you want guaranteed assignment, use —ifconfig-push

Или руками задавай для каждого клиента:
ifconfig-push local remote-netmask

Push virtual IP endpoints for client tunnel, overriding the —ifconfig-pool dynamic allocation.
The parameters local and remote-netmask are set according to the —ifconfig directive which you want to execute on the client machine to configure the remote end of the tunnel. Note that the parameters local and remote-netmask are from the perspective of the client, not the server. They may be DNS names rather than IP addresses, in which case they will be resolved on the server at the time of client connection.

This option must be associated with a specific client instance, which means that it must be specified either in a client instance config file using —client-config-dir or dynamically generated using a —client-connect script.

Remember also to include a —route directive in the main OpenVPN config file which encloses local, so that the kernel will know to route it to the server’s TUN/TAP interface.

OpenVPN’s internal client IP address selection algorithm works as follows:

1 — Use —client-connect script generated file for static IP (first choice).
2 — Use —client-config-dir file for static IP (next choice).
3 — Use —ifconfig-pool allocation for dynamic IP (last choice).

Слетает привязка IP-адреса в Openvpn, как исправить?

Проблема в том, что спустя какое-то время в этот файл в рандомное место (. ) дублируются те же филиалы, но с другими IP адресами, старые при этом не удаляются (. ). В итоге ломается весь обмен через веб-сервисы, потому что в главном координаторе прописаны адреса филиалов.
Конфиг клиента:

client dev tun proto udp # Адрес и порт сервера remote ХХХХХХХХХХХХХХ # Ключи должны лежать в папке с конфигом ca keys/ca.crt cert keys/rossosh.crt key keys/rossosh.key cipher AES-128-CBC nobind comp-lzo persist-key persist-tun verb 3

В чем может быть причина?

  • Вопрос задан более трёх лет назад
  • 2798 просмотров

Комментировать
Решения вопроса 1
AlexeySetevoi @AlexeySetevoi

На моей памяти ifconfig-pool-persist ipp.txt изначально задуман для того, чтобы раздавать айпишники из пула аналогично dhcp без обязательных привязок, и по истечению какого-то таймаута считает айпишник свободным и может его раздать.

Если вам именно статично назначать, может проще и лучше через ccd(client-config-dir) сделать отдельные статические настройки на каждого клиента — они точно не меняются софтом?

Либо если вам пул мил и дорог — у него есть третий параметр — число секунд. Ставите 0 — и openvpn не будет его обновлять.
Однако, в оф.мануале никто не гарантирует что openvpn обязан руководствоваться этим файлом, он их как предложения рассматривает.

Note that the entries in this file are treated by OpenVPN as suggestions only, based on past associations between a common name and IP address. They do not guarantee that the given common name will always receive the given IP address. If you want guaranteed assignment, use —ifconfig-push

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *