Используя dd-wrt Динамический клиент DNS с CloudFlare

screen PAM использования для аутентификации, таким образом, проверка пароля настроена в /etc/pam.d/screen.


Это - конфигурация по умолчанию, которая проверяет базу данных пароля UNIX (/etc/passwd + /etc/shadow):

auth    required    pam_unix.so

Если Ваша система использует что-то еще для аутентификации (Kerberos, NIS...) необходимо обновить screenконфигурация PAM также. (На некоторых дистрибутивах Linux (таких как Debian), includeлуг /etc/pam.d/common-auth должен быть достаточно.)

8
задан 23 January 2012 в 17:29
4 ответа

Я не думаю, что вы можете настроить его там, где DD-WRT напрямую вызывает CloudFlare. Я сконфигурировал это так, чтобы DD-WRT вызывал PHP-скрипт на удаленном веб-сервере, который затем определяет IP-адрес клиента и отправляет запрос на обновление CloudFlare через их API.

DD-WRT DDNS settings

DDNS Service: Custom
DYNDNS Server: <yourserver.com>
Username: <anything>
Password: <anything>
Host Name: <your domain name to update on cloudflare>
URL: /cloudflare_update.php?key=<your secret key>&hostname=

cloudflare_update.php

if(empty($_GET['key']) || ($_GET['key'] != "<your secret key>")) die;
$hostname = $_GET['hostname'];
$ip = $_SERVER['REMOTE_ADDR'];
$username = "<yourcloudflareusername@email.com>";
$api = "<your cloudflare api key>";
$curl = "https://www.cloudflare.com/api_json.html?a=DIUP&hosts=$hostname&u=$username&tkn=$api&ip=$ip";
$ch = curl_init($curl);
curl_exec($ch);
curl_close($ch);

Вместо использования базовой аутентификации HTTP я просто использую случайный ключ.

Убедитесь, что вы создали запись DNS для доменного имени, которое хотите обновить в CloudFlare; параметр действия DIUP обновит IP только для уже существующей записи.

9
ответ дан 2 December 2019 в 22:53

Если вы хотите выполнить обновление со своего маршрутизатора, то не обойдется и без того факта, что вам понадобится небольшое дополнительное «что-то» посередине, чтобы преобразовать ваш вызов в формат CloudFlare (если только DNS-O-Matic добавит их к своим поддерживаемым службам ...). Вместо того, чтобы самостоятельно размещать промежуточный скрипт, вы можете просто использовать Google AppEngine (который является бесплатным), чтобы сделать эту повторную публикацию за вас. Я использую это:

https://cloudflare-updater.appspot.com/

Хорошо, вам все равно нужно вызвать что-то другое, кроме CloudFlare, чтобы выпустить обновление, но, по крайней мере, вам не нужно запускать дополнительный хост или VPS и т.д., чтобы сделать это самому. Он полностью прозрачен - проблема только в том, что вы не получаете сообщение об ошибке, поэтому вам нужно проверить его работу самостоятельно. Как только он заработает, он должен просто работать и работать.

3
ответ дан 2 December 2019 в 22:53

Замечу, что все это устарело, и теперь для работы требуется код API v4.

протестирован выше и не работает - плохой пользователь, пароль, информация xxxx.

просмотр этого метода https://github.com/ScottHelme/CloudFlareDDNS

1
ответ дан 2 December 2019 в 22:53

Удалось заставить это работать с помощью этого: https://github.com/dcerisano/Cloudflare-dynamic-dns

После настройки учетной записи Cloudflare требуется информация легко найти:

Вам понадобится: Идентификатор зоны

Ключ авторизации (также известный как глобальный ключ API)

Идентификатор A-записи для вашего домена (его можно получить, запустив сценарий cloudflare-dns-id.sh) Мне пришлось немного подрезать скрипт, чтобы он заработал ..

curl -X GET " https://api.cloudflare.com/client/v4/zones/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/dns_records?type=A&name=dynamic "\ -H "X-Auth-Email: (скрыто) \ -H "X-Auth-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ -H «Content-Type: application / json»

Я сохранил оба сценария в / jffs, сделав их исполняемыми.

Что касается Cloudflare, я настраиваю в соответствии с этим руководством только для доменных записей Cloudflare:

https: //support.opendns.com / hc / en-us / community / posts / 115000937008-How-to-set-up-DNS-O-MATIC-for-Cloudflare-and-the-other-way-around-and-a-FritzBox

В Cloudflare необходимо установить следующие рекорды:

  • Тип: A | Имя: динамический | Значение: «ваш IP-адрес в глобальной сети» ***

  • Тип: CNAME | Имя: «yourdomain.xyz» | Значение: динамический. ”Yourdomain.xyz”

  • Тип: CNAME | Имя: www | Значение: «yourdomain.xyz»

Я настраиваю задание cron для запуска cloudflare-ddns.sh каждые 5 минут для проверки изменений IP.

Мой маршрутизатор DD-WRT теперь автоматически обновляет Cloudflare при изменении IP-адреса WAN ...

Настройка выше занимает около 10 минут.

0
ответ дан 23 January 2020 в 09:16

Теги

Похожие вопросы