Выройте-x эквивалент для Маршрута AWS 53

Вы могли бы хотеть продвинуть функцию маршрутизации на RT вместо того, чтобы пытаться реализовать его в procmail. Позвольте электронной почте быть отправленной в RT и затем используйте что-то как примеры документа на получение EmailRouting или SetOwnerAndQueueBySubject для закорачивания электронной почты в соответствующую очередь.

От Wiki RT (https://rt-wiki.bestpractical.com/wiki/Main_Page):

EmailRouting-> https://rt-wiki.bestpractical.com/wiki/EmailRouting

SetOwnerAndQueueBySubject-> https://rt-wiki.bestpractical.com/wiki/SetOwnerAndQueueBySubject

0
задан 4 June 2013 в 06:36
2 ответа

Поскольку вы говорите, что хотите использовать данные для запуска сканирования портов запущенных в данный момент узлов AWS, почему бы просто не собрать IP-информацию, перечислив текущие запущенные экземпляры AWS?

Вы могли бы есть записи в DNS, на которых не запущен текущий хост, и у вас могут быть запущенные хосты, которых на самом деле нет в DNS, поэтому я думаю, что список экземпляров будет лучшим «источником истины».

Вот пример скрипта бото для получения списка экземпляров. экземпляры списка ботинок Некоторые из параметров экземпляра - это текущий внешний и внутренний IP-адреса экземпляра.

Если вы действительно хотите придерживаться методов route53, вы можете использовать boto для просмотра всех записей в вашей зоне хостинга. boto docs для route53 api

$ cat list-r53.py

#!/usr/bin/python

"""
Simple script to lsit route 53 entries

WARNING: (boto requires credential to be stored in a dotfile for the user)

eg.
Contents of ~/.boto are below:
[Credentials]
aws_access_key_id = ABC123DEF456
aws_secret_access_key = NOC4KE4U

"""


from boto.route53.connection import Route53Connection
route53 = Route53Connection()
results = route53.get_all_hosted_zones()
for zone in results['ListHostedZonesResponse']['HostedZones']:
    print "========================================"
    print "Zone:",zone['Name']
    zone_id = zone['Id'].replace('/hostedzone/', '')
    for rset in route53.get_all_rrsets(zone_id):
        print "\t%s: %s %s @ %s" % (rset.name, rset.type, rset.resource_records, rset.ttl)

$ ./list-r53.py
========================================
Zone: serverfault.com.
    serverfault.com.: NS [u'ns-1638.awsdns-12.co.uk.', u'ns-699.awsdns-23.net.', u'ns-301.awsdns-37.com.', u'ns-1459.awsdns-54.org.'] @ 172800
    serverfault.com.: SOA [u'ns-1638.awsdns-12.co.uk. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400'] @ 900
    192.168.1.1.serverfault.com.: PTR [u'sample.serverfault.com.'] @ 300
    sample.serverfault.com.: A [u'192.168.1.1'] @ 300

Удачи.

2
ответ дан 4 December 2019 в 14:12

Я решил, что вместо эквивалента мне действительно нужен dig -x , работающий для всех моих amazon EIP. Вот как я это сделал.

Во-первых, я создал для этой цели новый экземпляр AWS под названием ns1. На ns1 я установил следующее:

  1. cli53
  2. r53 *
  3. bind9
  4. h2n

После установки программного обеспечения Я написал несколько специальных сценариев оболочки, чтобы выполнить подъем.

Во-первых, cli53-to-hosts генерирует динамически сгенерированную версию файла / etc / hosts. Работа выполняется через cli53 export myzone.com с последующей некоторой сортировкой по организации.

Точно так же cli53-to-networks составляет списки сетей, для которых мне нужно сгенерировать зоны in-addr.arpa. Поскольку это не настоящие зоны в глобальном пространстве имен, я обманул и создал их на уровне сетевой маски / 16, например, 50.18, 107.23 и т. Д.

С помощью файла hosts и списка сетей для запустите DNS для, сценарий h2n (из книги O'Reilly DNS and BIND) завершит работу. Он записывает файл named.conf и серию файлов зон для обратного DNS.

Все это вызывается из cron каждую ночь с помощью финального скрипта configure-dns:

#!/bin/bash
. ~/.profile 
cli53-to-hosts > /usr/local/etc/hosts 
cli53-to-networks > /usr/local/etc/h2n/h2n.conf
cd /etc/bind
h2n -N 255.255.0.0 -f /usr/local/etc/h2n/h2n.conf -H /usr/local/etc/hosts -d mydomain.com -u demetri@mydomain.com -h ns1.mydomain.com -p mydomain.com

Окончательный результат:

mv-m-dmouratis:~ dmourati$ dig -x 50.18.205.42 @ns1.mydomain.com

; <<>> DiG 9.8.3-P1 <<>> -x 50.18.205.42 @ns1.mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55551
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;42.205.18.50.in-addr.arpa. IN  PTR

;; ANSWER SECTION:
42.205.18.50.in-addr.arpa. 86400 IN PTR bounce.mydomain.com.

;; AUTHORITY SECTION:
18.50.in-addr.arpa. 86400   IN  NS  ns1.mydomain.com.

;; Query time: 32 msec
;; SERVER: 54.218.3.75#53(54.218.3.75)
;; WHEN: Tue Jun 11 19:21:46 2013
;; MSG SIZE  rcvd: 93

Это, безусловно, была большая работа, но она доставляла странное удовлетворение. Думаю, я помешан на работе с записями PTR и не могу отказаться от успешной репутации, когда они всегда работают.

0
ответ дан 4 December 2019 в 14:12

Теги

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