<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Раздел полезных советов: Автоматическое изменение правил IPT...</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html</link>
    <description>Возникла задача предоставить сервис для клиентов, использующих внешние динамические адреса. &lt;br&gt;Доступ к сервису ограничен правилами IPTABLES.&lt;br&gt;&lt;br&gt;Клиентам, которым необходимо получить услугу предлагается создать учетную запись на ресурсе dyndns.org, &lt;br&gt;клиент получит доменное имя в виде client.dyndns.org.&lt;br&gt;&lt;br&gt;При каждом изменении ip адреса клиента мы всегда узнаем его адрес по доменному имени. Если мы добавим &lt;br&gt;правило в iptables для этого доменного имени, правило будет работать только для текущего  ip адреса клиента &lt;br&gt;и при последующем изменении ip адреса, доступ к сервису будет ограничен.&lt;br&gt;&lt;br&gt;Оригинал решения был найден здесь: http://dave.thehorners.com/content/view/86/65/ , а мы всего лишь доработаем этот скрипт.&lt;br&gt;&lt;br&gt;Создаем несколько каталогов:&lt;br&gt;&lt;br&gt;   /root/dynhosts/ - общий каталог&lt;br&gt;   /root/dynhosts/zones/ - здесь будем хранить файлы доменных зон клиентов&lt;br&gt;   /root/dynhosts/logs/ - лог файлы работы скрипта&lt;br&gt;   /root/dynhosts/scripts/ - здесь будет находится сам запускаемый скрипт&lt;br&gt;&lt;br&gt;Создаем лог-файл:&lt;br&gt;&lt;br&gt;   tou</description>

<item>
    <title>Автоматическое изменение правил IPTABLES для IP адресов из записей DynDNS (danvyr)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html#9</link>
    <pubDate>Thu, 19 Dec 2013 06:16:37 GMT</pubDate>
    <description>Мой вариант скрипта для разрешения прохода мимо маршрутизатора нужных хостов на удалёную машину&lt;br&gt;&lt;br&gt;#!/bin/bash  &lt;br&gt;  #&lt;br&gt;  # filename: firewall-dynhosts.sh&lt;br&gt;  #&lt;br&gt;  PATH=&quot;/usr/local/sbin/dynhosts&quot;&lt;br&gt;  NOW=$(/bin/date)&lt;br&gt;  CHAIN=&quot;dynamichosts&quot;  # change this to whatever chain you want.&lt;br&gt;  IPTABLES=&quot;/sbin/iptables&quot;&lt;br&gt;&lt;br&gt;  # create the chain in iptables.&lt;br&gt;$IPTABLES -N $CHAIN -t nat&lt;br&gt;&lt;br&gt;FILES=&#096;/bin/ls --format=single-column $PATH/zones/&#096;&lt;br&gt; &lt;br&gt;echo $FILES&lt;br&gt;&lt;br&gt;for file in $FILES&lt;br&gt;do&lt;br&gt;     HOSTFILE=&quot;$PATH/zones/$file&quot;&lt;br&gt;     echo $HOSTFILE&lt;br&gt;&lt;br&gt;     # lookup host name from dns tables&lt;br&gt;     IP=&#096;/usr/bin/dig +short $file &amp;#124; /usr/bin/tail -n 1&#096;&lt;br&gt;     if &#091; &quot;$&#123;#IP&#125;&quot; = &quot;0&quot; &#093;; then&lt;br&gt;        echo &quot;$NOW Couldn&apos;t lookup hostname for $file, failed.&quot; &amp;gt;&amp;gt; /$PATH/logs/dynhosts.log&lt;br&gt;&lt;br&gt;        continue&lt;br&gt;     fi&lt;br&gt;&lt;br&gt;     OLDIP=&quot;&quot;&lt;br&gt;     if &#091; -a $HOSTFILE &#093;; then&lt;br&gt;        OLDIP=&#096;cat $HOSTFILE&#096;&lt;br&gt;        echo &quot;CAT returned: $?&quot;&lt;br&gt;     fi&lt;br&gt;&lt;br&gt;     # save off new ip.&lt;br&gt;     echo $IP&amp;gt;$HOSTFILE&lt;br&gt;&lt;br&gt; &lt;br&gt;     echo &quot;Updating $file in iptables.&quot;&lt;br&gt;     echo &quot;In</description>
</item>

<item>
    <title>Автоматическое изменение правил IPTABLES для IP адресов из з... (chodorenko)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html#8</link>
    <pubDate>Thu, 17 Sep 2009 20:10:18 GMT</pubDate>
    <description>строку echo #/bin/bash &amp;gt; temp_rules.sh заменить на echo &quot;#!/bin/bash&quot; &amp;gt; temp_rules.sh&lt;br&gt;</description>
</item>

<item>
    <title>Автоматическое изменение правил IPTABLES для IP адресов из записей DynDNS (chodorenko)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html#7</link>
    <pubDate>Thu, 17 Sep 2009 20:06:58 GMT</pubDate>
    <description>а теперь представим ситуацию, я легитимный пользователь получаю IP, регистрирую зону , создаю там запись в автоматическом режиме , пользуюсь интернетом всё хорошо. выключаюсь , и вдруг мой IP выдаётся другому клиенту, скрипт лезет по файлам, находит что IP принадлежит мне(я не удалял запись и не менял её мне инет в данный момент не нужен) и пускает нелегитимного пользователя как меня&lt;br&gt;&lt;br&gt;теперь рассмотрим скрипт &lt;br&gt;$IPTABLES -F $CHAIN&lt;br&gt;те этой строкой мы очищаем таблицу правил для того чтобы создать новую таблицу но !!!!! &lt;br&gt;1.время формирования новой таблицы не равно 0 и соответственно мы прерываем все соединения от всех динамических клиентов &lt;br&gt;2. если использовать крон то данное действие мы будем производить с определённой периодичностью(чем актуальнее для нас скорость обновления тем чаще будут обрываться соединения)&lt;br&gt;&lt;br&gt;исправление разрывов можно избежать добавив первым(для уменьшения нагрузки) правилом&lt;br&gt;$IPTABLES -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br&gt;$IPTABLES -I INPUT 2 -j $CHAIN&lt;br&gt;&lt;br&gt;REM </description>
</item>

<item>
    <title>Автоматическое изменение правил IPTABLES для IP адресов из з (Andrey Mitrofanov)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html#3</link>
    <pubDate>Mon, 07 Sep 2009 13:27:19 GMT</pubDate>
    <description>Гм, а прикрутить какой-нибудь port knock демон, &quot;слушающий&quot; не отдельный диапазон портов, а &#091;закрытый по умолчанию&#093; порт охраняемого сервиса, и открывающий его по успешной проверке обратного dyndns разрешения адреса? Ну, плюс какое-нибудь выстраивание проверок в очередь, чтоб не заDOSисли...&lt;br&gt;&lt;br&gt;Регистрация на dyndns -&amp;gt; первая попытка соединения -&amp;gt; облом + отработка кнокера -&amp;gt; вторая попытка подключения -&amp;gt; норм.соединение.&lt;br&gt;&lt;br&gt;Хотя, выкидывать из разрешающих таблиц тоже как-то надо. ipt_recent - ом &quot;expire&quot;-ить?...&lt;br&gt;&lt;br&gt;Главное, чтоб никакого крона. &#037;)&lt;br&gt;&lt;br&gt;И кста, об event-драйвен (врагам udev-а: сильно не пинайте, я же даже не написал никаких _пастчей_): даёшь &#037;) ipt_resent-у и ipt_set-у CRUD-hookи-callbackи?&lt;br&gt;&lt;br&gt;Интересно, ломящиеся на порт ssh бот-неты такую конструкцию быстро положат? $) А противо-бот-нет-ные костыли придумать...&lt;br&gt;</description>
</item>

<item>
    <title>Автоматическое изменение правил IPTABLES для IP адресов из з... (Аноним)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html#2</link>
    <pubDate>Mon, 07 Sep 2009 10:01:40 GMT</pubDate>
    <description>&amp;gt;А по логину и паролю или сертификату нельзя было разграничить доступ? :) &lt;br&gt;&lt;br&gt;Причин может быть много, от желания лишний раз перестраховаться и дополнительно прикрыть сервис фаерволом, до варианта когда за каждым IP сидит домашняя сетка с кучей людей через NAT и им нужно простым способом дать доступ к web/ftp.&lt;br&gt;</description>
</item>

<item>
    <title>Автоматическое изменение правил IPTABLES для IP адресов из записей DynDNS (Nas_tradamus)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID3/58607.html#1</link>
    <pubDate>Mon, 07 Sep 2009 09:41:34 GMT</pubDate>
    <description>А по логину и паролю или сертификату нельзя было разграничить доступ? :)&lt;br&gt;</description>
</item>

</channel>
</rss>
