Выполненный sh файл, когда экземпляр Amazon EC2 запускается

Поскольку я понимаю Ваш вопрос, Вы хотите эту машину (тот, на котором мы боремся с iptables) смочь к отправленным прерываниям к удаленному серверу, правильно?

В этом случае интересная часть является ВЫХОДНОЙ цепочкой, как это, что регулирует судьбу пакетов, происходящих в поле.

Шаг отладки один: закрытие iptables и проверяет ту отправку прерывания работы. Если это не делает проблемы, не с конфигурацией брандмауэра источника прерывания SNMP. Не продолжайте ступать два, пока у Вас не будет вещей, работающих с остановленным iptables.

Шаг отладки два: grep -i /etc/services выставочное множество записей для различных связанных с SNMP вещей. Можно или прочитать документацию и узнать, на котором портирует программное обеспечение, связывается, или станьте оригинальными. Принятие последнего добавляет строку в конце ВЫХОДНОЙ конфигурации цепочки, которая отправляет все в цепочку LOGDROP. Затем запустите iptables, проверьте, что правило находится там в ВЫХОДНОЙ цепочке, и сделайте прерывание, которое будет отправлено. Затем смотрите в своем/var/log/messages, и Вы будете видеть запись, сгенерированную LOGDROP, который скажет Вам, что пакет с локальной машины на удаленную машину с помощью протокола UDP, предназначенный для портирования XXX, был отброшен. Бинго!

Шаг отладки три. Добавьте к ВЫХОДНЫМ правилам цепочки (выше записи LOGDROP) строку, которая ПРИНИМАЕТ исходящие пакеты UDP (-p udp) к удаленному серверу (-d <IP_ADDRESS>) на порте XXX (--dport XXX) определенный в Отладке ступают три. Проверьте (iptables -L -n -v), то, что правило там. Сделайте прерывание, которое будет отправлено и будет видеть, что он прибывает безопасно в место назначения. Если это не прибывает, Ваше программное обеспечение может связаться больше чем на одном порте, но затем шаге Отладки GOTO два. В патологическом случае, который необходимо определить большой (десятки, сотни...) порты, используемые программным обеспечением, и если политика безопасности разрешает, чтобы, можно было просто позволить все (или весь UDP) исходящий трафик с этого поля на удаленную машину.

Прибыль ;)

0
задан 26 December 2013 в 22:30
1 ответ

I had a similar issue with the rc.local file on an amazon instance. It turned out for me that I had an error with the script in rc.local that would not allow it to execute unless I had a tty.

So how do you find out if your getting a similar error? Use cloud-init to execute your script.

For my amazon linux distro I first edited /etc/init.d/cloud-init-user-scripts.

Change this line / usr / bin / cloud-init-run-module один раз для каждого экземпляра пользовательские скрипты выполняют части выполнения $ {SCRIPT_DIR}> / dev / null && success || ошибка

TO "всегда"

/ usr / bin / cloud-init-run-module всегда пользовательские скрипты выполняют run-parts $ {SCRIPT_DIR}> / dev / null && success || ошибка

Затем создайте каталог mkdir / var / lib / cloud / data / scripts .. Теперь скопируйте свой сценарий, который вы хотите запустить при запуске, в / var / lib / cloud / данные / скрипты . Убедитесь, что бит исполняемого файла вашего скрипта установлен.

Теперь вы сможете выполнить sudo /etc/init.d/cloud-init-user-scripts start .. Затем вы можете проверить / var / log / cloud-init. log на наличие ошибок.

1
ответ дан 4 December 2019 в 17:52

Теги

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