iptables+rtorrent (как разрешить rtorrent)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Аватара пользователя
sdwig
Сообщения: 220
ОС: OpenSuse11.3

iptables+rtorrent

Сообщение sdwig »

никогда не имел дела с iptables, сегодня решил, что неплохо бы его всё же запустить, запустил, всё работает, кроме rtorrent.
скрипт, стандартный из Сюси.

Код:

#! /bin/sh # # rc.fw версии 20050914, Copyright © 2005 Дмитрий Кулаков aka morda <morda89@list.ru>, так-же при участии>: # Журкин Владимир icCE aka Tuliss (icce@mail.ru) # # Чтобы запустить iptables введите команду: # [root]# /etc/init.d/iptables start # # Для остановки: # /etc/init.d/iptables stop # # Для сохранения списка правил в /etc/rules-save # /etc/init.d/iptables save # # Для перезапуска iptables, с восстановлением правил из /etc/rules-save # /etc/init.d/iptables restart # # Для журналирования некоторых отброшенных пакетов требуется # наличие утилиты Ulogd. Действие ULOG означает, что пакет, будет занесен в журнал. # Чтобы включить журналирования пакетов, раскоментируйте все строчки с -j ULOG # # Все предложения и замечания отправляйте на <morda89@list.ru> # # Переменная, задающая путь к файлу запуска iptables. IPT=/usr/sbin/iptables # Ваш сетевой интерфейс. INET_IFACE="wlan0" # Номера непривилегированных портов UNPRIPORTS="1024:65535" # Задайте в этой переменной порты, которые должны быть открыты в системе. # Для получения информации обо всех службах, которые могут открыть порты в системе введите команду: # $ cat /etc/services | grep нужная служба # Некоторые службы: # FTP клиент 20, 21 # SMPT клиент 25 # Telnet 23 # Whois 43 # Gopher 70 # Finger 79 # HTTP клиент 80 # POP3 клиент 110 # IMAP4 клиент 143 # Wais 210 # HTTPS клиент 443 OPENPORTS="20,21,25,23,43,70,79,80,110,210,443" # SSH клиент 22 SSH="22" # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах: CLOSEPORTS="630,640,783,3310,10000" start_fw() { # Включить перенаправление пакетов через ядро. echo 1 > /proc/sys/net/ipv4/ip_forward # Загружаем некторое модули. Ip_nat_ftp требуется, чтобы преобразование сетевых адресов (Network Adress Translation) # производилось корректно с протоколами FTP /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp # Удаление правил $IPT -F $IPT -t nat -F $IPT -t mangle -F # Очищаем нестандартные правила $IPT -X $IPT -t nat -X $IPT -t mangle -X # Политики по умолчанию. $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # Разрешаем прохождение любого трафика по интерфейсу обратной петли. $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Существует одна из разновидностей спуфинг-атак, которая называется "Предсказание номера TCP-последовательности". # Смысл атак такого рода заключается в использовании чужого IP-адреса для нападения на какой либо узел сети. $IPT -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset # Пакеты со статусом NEW и со сброшенным битом SYN. #$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j ULOG $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED. # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Предупреждаю вас о туповатых провайдерах, которые назначают IP адреса, отведенные IANA для локальных сетей. # Например адреса 10.X.X.X. Для этого надо установить правило, пропускающие трафик с этих серверов, ранее цепочки INPUT. #$IPT -t nat -I PREROUTING -i $INET_IFACE -s 10.0.0.1/32 -j ACCEPT # Эти правила предохраняют от некоторых типов атак: # SYN наводнение. # Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным. #$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j ULOG #$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j ULOG $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # UDP наводнение # Службы использующие UDP, очень часто становятся мишенью для атак с целью вывода системы из строя. #$IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j ULOG $IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP $IPT -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT $IPT -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT $IPT -A INPUT -p UDP -j RETURN $IPT -A OUTPUT -p UDP -s 0/0 -j ACCEPT # ICMP - перенаправление # ICMP- сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, что бы направлять # пакеты по более короткому маршруту. Может быть использовано взломщиком для пере-направления вашего трафика через свою машину. #$IPT -A INPUT --fragment -p ICMP -j ULOG #$IPT -A OUTPUT --fragment -p ICMP -j ULOG $IPT -A INPUT --fragment -p ICMP -j DROP $IPT -A OUTPUT --fragment -p ICMP -j DROP # Для VPN #$IPT -A INPUT -p 47 -m state --state ESTABLISHED,RELATED -i $INET_IFACE -j ACCEPT #$IPT -A OUTPUT -p TCP --dport 1723 -o eth0 -j ACCEPT #$IPT -A OUTPUT -p 47 -o eth0 -j ACCEPT # Разрешаем ICMP соединение. Значительная часть ICMP используется для передачи сообщений о # том, что происходит с тем или иным UDP или TCP соединением. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT # Разрешаем себе ping наружу, полностью запрещаем ping своей машины. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT # Разрешаем себе ping наружу, ставим ограничение на ping своей машины. #$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT #$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP #$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT #$IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP #$IPT -A INPUT -p icmp -j ACCEPT #$IPT -A FORWARD -p icmp -j ACCEPT # Разрешаем передачу пакета - некорректный параметр - используется, если в заголовке пакета содержится недопустимая запись, # или если контрольная сумма заголовка не соответствует контрольной сумме, указанной передающим узлом. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type parameter-problem -j ACCEPT # Запрещаем подключение к X серверу через сетевые интерфейсы. $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах: $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --destination-ports $CLOSEPORTS # DNS сервер имен разрешаем. $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT # Разрешаем AUTH-запросы на удаленные сервера, на свой же компьютер - запрещаем. $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP # Открываем некоторые порты: # Открытые порты $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --destination-ports $OPENPORTS --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS --source-ports $OPENPORTS -j ACCEPT ! --syn # SSH клиент $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --destination-ports $SSH --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS --source-ports $SSH -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --destination-ports $SSH --sport 1020:1023 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport 1020:1023 --source-ports $SSH -j ACCEPT ! --syn # Samba #$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT #$IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT #$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT #$IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT $IPT -A OUTPUT -p udp -m udp -m multiport -o $INET_IFACE --destination-ports 139,4444,5554,5555 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p udp -m udp -m multiport -i $INET_IFACE --dport $UNPRIPORTS --source-ports 139,4444,5554,5555 -j ACCEPT $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT # Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический. $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 67 --sport 68 -j ACCEPT $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport 68 --sport 67 -j ACCEPT # Ставим ловушки. #iptables -A INPUT -p tcp -m tcp -j TARPIT } case "$1" in start) echo -n "Starting firewall: iptables" start_fw echo "." ;; stop) echo -n "Stopping firewall: iptables" # Удаление правил. $IPT -F $IPT -t nat -F $IPT -t mangle -F # Очищаем нестандартные правила. $IPT -X $IPT -t nat -X $IPT -t mangle -X # Разрешаем весь трафик. $IPT -P INPUT ACCEPT $IPT -P FORWARD ACCEPT $IPT -P OUTPUT ACCEPT echo "." ;; save) echo -n "Saving firewall: iptables" /sbin/iptables-save -c > /etc/iptables echo "." ;; restart) echo -n "Restarting firewall: iptables" # Удаление правил. $IPT -F $IPT -t nat -F $IPT -t mangle -F # Очищаем нестандартные правила. $IPT -X $IPT -t nat -X $IPT -t mangle -X /sbin/iptables-restore -c /etc/iptables echo "." ;; *) echo "Usage: /etc/init.d/iptables start|stop|save" exit 1 ;; esac exit 0


подскажите что дописать чтобы rtorrent мог файлы принимать и передавать
Спасибо сказали:

kolebas
Сообщения: 206
Статус: Интересующийся новичок
ОС: Archlinux

Re: iptables+rtorrent

Сообщение kolebas »

sdwig писал(а):
15.02.2009 23:01
никогда не имел дела с iptables, сегодня решил что неплохо бы его всё же запустить, запустил, всё работает кроме rtorrent.
скрипт, стандартный из Сюси.

Код:

#! /bin/sh # # rc.fw версии 20050914, Copyright © 2005 Дмитрий Кулаков aka morda <morda89@list.ru>, так-же при участии>: # Журкин Владимир icCE aka Tuliss (icce@mail.ru) # # Чтобы запустить iptables введите команду: # [root]# /etc/init.d/iptables start # # Для остановки: # /etc/init.d/iptables stop # # Для сохранения списка правил в /etc/rules-save # /etc/init.d/iptables save # # Для перезапуска iptables, с восстановлением правил из /etc/rules-save # /etc/init.d/iptables restart # # Для журналирования некоторых отброшенных пакетов требуется # наличие утилиты Ulogd. Действие ULOG означает, что пакет, будет занесен в журнал. # Чтобы включить журналирования пакетов, раскоментируйте все строчки с -j ULOG # # Все предложения и замечания отправляйте на <morda89@list.ru> # # Переменная, задающая путь к файлу запуска iptables. IPT=/usr/sbin/iptables # Ваш сетевой интерфейс. INET_IFACE="wlan0" # Номера непривилегированных портов UNPRIPORTS="1024:65535" # Задайте в этой переменной порты, которые должны быть открыты в системе. # Для получения информации обо всех службах, которые могут открыть порты в системе введите команду: # $ cat /etc/services | grep нужная служба # Некоторые службы: # FTP клиент 20, 21 # SMPT клиент 25 # Telnet 23 # Whois 43 # Gopher 70 # Finger 79 # HTTP клиент 80 # POP3 клиент 110 # IMAP4 клиент 143 # Wais 210 # HTTPS клиент 443 OPENPORTS="20,21,25,23,43,70,79,80,110,210,443" # SSH клиент 22 SSH="22" # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах: CLOSEPORTS="630,640,783,3310,10000" start_fw() { # Включить перенаправление пакетов через ядро. echo 1 > /proc/sys/net/ipv4/ip_forward # Загружаем некторое модули. Ip_nat_ftp требуется, чтобы преобразование сетевых адресов (Network Adress Translation) # производилось корректно с протоколами FTP /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp # Удаление правил $IPT -F $IPT -t nat -F $IPT -t mangle -F # Очищаем нестандартные правила $IPT -X $IPT -t nat -X $IPT -t mangle -X # Политики по умолчанию. $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT DROP # Разрешаем прохождение любого трафика по интерфейсу обратной петли. $IPT -A INPUT -i lo -j ACCEPT $IPT -A OUTPUT -o lo -j ACCEPT # Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса. $IPT -A INPUT -m state --state INVALID -j DROP $IPT -A FORWARD -m state --state INVALID -j DROP # Существует одна из разновидностей спуфинг-атак, которая называется "Предсказание номера TCP-последовательности". # Смысл атак такого рода заключается в использовании чужого IP-адреса для нападения на какой либо узел сети. $IPT -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset # Пакеты со статусом NEW и со сброшенным битом SYN. #$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j ULOG $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED. # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении. $IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # Предупреждаю вас о туповатых провайдерах, которые назначают IP адреса, отведенные IANA для локальных сетей. # Например адреса 10.X.X.X. Для этого надо установить правило, пропускающие трафик с этих серверов, ранее цепочки INPUT. #$IPT -t nat -I PREROUTING -i $INET_IFACE -s 10.0.0.1/32 -j ACCEPT # Эти правила предохраняют от некоторых типов атак: # SYN наводнение. # Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным. #$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j ULOG #$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j ULOG $IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP $IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP # UDP наводнение # Службы использующие UDP, очень часто становятся мишенью для атак с целью вывода системы из строя. #$IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j ULOG $IPT -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP $IPT -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT $IPT -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT $IPT -A INPUT -p UDP -j RETURN $IPT -A OUTPUT -p UDP -s 0/0 -j ACCEPT # ICMP - перенаправление # ICMP- сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, что бы направлять # пакеты по более короткому маршруту. Может быть использовано взломщиком для пере-направления вашего трафика через свою машину. #$IPT -A INPUT --fragment -p ICMP -j ULOG #$IPT -A OUTPUT --fragment -p ICMP -j ULOG $IPT -A INPUT --fragment -p ICMP -j DROP $IPT -A OUTPUT --fragment -p ICMP -j DROP # Для VPN #$IPT -A INPUT -p 47 -m state --state ESTABLISHED,RELATED -i $INET_IFACE -j ACCEPT #$IPT -A OUTPUT -p TCP --dport 1723 -o eth0 -j ACCEPT #$IPT -A OUTPUT -p 47 -o eth0 -j ACCEPT # Разрешаем ICMP соединение. Значительная часть ICMP используется для передачи сообщений о # том, что происходит с тем или иным UDP или TCP соединением. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type source-quench -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type source-quench -j ACCEPT # Разрешаем себе ping наружу, полностью запрещаем ping своей машины. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT # Разрешаем себе ping наружу, ставим ограничение на ping своей машины. #$IPT -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT #$IPT -A INPUT -p icmp --icmp-type echo-request -j DROP #$IPT -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT #$IPT -A FORWARD -p icmp --icmp-type echo-request -j DROP #$IPT -A INPUT -p icmp -j ACCEPT #$IPT -A FORWARD -p icmp -j ACCEPT # Разрешаем передачу пакета - некорректный параметр - используется, если в заголовке пакета содержится недопустимая запись, # или если контрольная сумма заголовка не соответствует контрольной сумме, указанной передающим узлом. $IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type parameter-problem -j ACCEPT $IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type parameter-problem -j ACCEPT # Запрещаем подключение к X серверу через сетевые интерфейсы. $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 6000:6063 -j DROP --syn # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах: $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --destination-ports $CLOSEPORTS # DNS сервер имен разрешаем. $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 53 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT # Разрешаем AUTH-запросы на удаленные сервера, на свой же компьютер - запрещаем. $IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 113 -j ACCEPT ! --syn $IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP # Открываем некоторые порты: # Открытые порты $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --destination-ports $OPENPORTS --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS --source-ports $OPENPORTS -j ACCEPT ! --syn # SSH клиент $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --destination-ports $SSH --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $UNPRIPORTS --source-ports $SSH -j ACCEPT ! --syn $IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --destination-ports $SSH --sport 1020:1023 -j ACCEPT $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport 1020:1023 --source-ports $SSH -j ACCEPT ! --syn # Samba #$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT #$IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT #$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT #$IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport $UNPRIPORTS --sport 137,138,139 -j ACCEPT $IPT -A OUTPUT -p udp -m udp -m multiport -o $INET_IFACE --destination-ports 139,4444,5554,5555 --sport $UNPRIPORTS -j ACCEPT $IPT -A INPUT -p udp -m udp -m multiport -i $INET_IFACE --dport $UNPRIPORTS --source-ports 139,4444,5554,5555 -j ACCEPT $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 33434:33523 --sport 32769:65535 -j ACCEPT # Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический. $IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 67 --sport 68 -j ACCEPT $IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport 68 --sport 67 -j ACCEPT # Ставим ловушки. #iptables -A INPUT -p tcp -m tcp -j TARPIT } case "$1" in start) echo -n "Starting firewall: iptables" start_fw echo "." ;; stop) echo -n "Stopping firewall: iptables" # Удаление правил. $IPT -F $IPT -t nat -F $IPT -t mangle -F # Очищаем нестандартные правила. $IPT -X $IPT -t nat -X $IPT -t mangle -X # Разрешаем весь трафик. $IPT -P INPUT ACCEPT $IPT -P FORWARD ACCEPT $IPT -P OUTPUT ACCEPT echo "." ;; save) echo -n "Saving firewall: iptables" /sbin/iptables-save -c > /etc/iptables echo "." ;; restart) echo -n "Restarting firewall: iptables" # Удаление правил. $IPT -F $IPT -t nat -F $IPT -t mangle -F # Очищаем нестандартные правила. $IPT -X $IPT -t nat -X $IPT -t mangle -X /sbin/iptables-restore -c /etc/iptables echo "." ;; *) echo "Usage: /etc/init.d/iptables start|stop|save" exit 1 ;; esac exit 0


подскажите что дописать чтобы rtorrent мог файлы принимать и передавать

iptables -A INPUT -p tcp --dport 6881 -j ACCEPT
6881 - номер вашего порта прописанного в rtorrent
потом
/etc/init.d/iptables save
а еще хорошо бы почитать про iptables, про принцип его работы - очень увлекательно http://www.opennet.ru/docs/RUS/iptables/iptables-rus.tar.gz
Спасибо сказали:

Аватара пользователя
sdwig
Сообщения: 220
ОС: OpenSuse11.3

Re: iptables+rtorrent

Сообщение sdwig »

спасибо, некогда пока читать((
Спасибо сказали: