The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Автоматическое изменение правил IPTABLES для IP адресов из записей DynDNS"
Отправлено danvyr, 19-Дек-13 10:16 
Мой вариант скрипта для разрешения прохода мимо маршрутизатора нужных хостов на удалёную машину

#!/bin/bash  
  #
  # filename: firewall-dynhosts.sh
  #
  PATH="/usr/local/sbin/dynhosts"
  NOW=$(/bin/date)
  CHAIN="dynamichosts"  # change this to whatever chain you want.
  IPTABLES="/sbin/iptables"

  # create the chain in iptables.
$IPTABLES -N $CHAIN -t nat

FILES=`/bin/ls --format=single-column $PATH/zones/`

echo $FILES

for file in $FILES
do
     HOSTFILE="$PATH/zones/$file"
     echo $HOSTFILE

     # lookup host name from dns tables
     IP=`/usr/bin/dig +short $file | /usr/bin/tail -n 1`
     if [ "${#IP}" = "0" ]; then
        echo "$NOW Couldn't lookup hostname for $file, failed." >> /$PATH/logs/dynhosts.log

        continue
     fi

     OLDIP=""
     if [ -a $HOSTFILE ]; then
        OLDIP=`cat $HOSTFILE`
        echo "CAT returned: $?"
     fi

     # save off new ip.
     echo $IP>$HOSTFILE


     echo "Updating $file in iptables."
     echo "Inserting new rule ($IP)"

     $IPTABLES -I $CHAIN  -t nat  -p tcp -s $IP --dport 6666    -j DNAT --to-destination 192.168.1.1:3389

done

#$IPTABLES -F $CHAIN

NUMFILES=`/bin/ls $PATH/zones -1A|/usr/bin/wc -l`

for file in $FILES
do
   I=1
   let "SUM=$I+$NUMFILES"
   echo "Deleting $SUM rule from $CHAIN"
   `$IPTABLES -t nat -D $CHAIN  $SUM `
   let "I=$I+1"

done

exit

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру