iptables выдает ошибки (iptables выдает ошибки)

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

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
SMEL
Сообщения: 25
ОС: Теперь Debian

iptables выдает ошибки

Сообщение SMEL »

собственно вот переписал скрипт взятый откуда то из инета

Код: Выделить всё

#!/bin/bash
#Autor: Mal`cev Aleksander
#e-mail: skyinfo@ya.ru


case "$1" in
stop)
echo "Shutting down firewall..."

iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table filter --flush
iptables --table nat --delete-chain
iptables --table filter --delete-chain

iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT

echo "...done"
;;
status)
echo $"Table:filter"
iptables --list
echo $"Table:nat"
iptables -t nat --list
;;
restart|reload)
$0 stop
$0 start
;;

#############################################################################

start)
echo "Starting Firewall..."
echo ""

    # Политики по умолчанию.
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD


    # Загрузка дополнительных модулей
modprobe ip_nat_ftp
modprobe ip_nat_pptp
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc


    # Разрешаем прохождение любого трафика по интерфейсу обратной петли, eth1, eth0.
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

    # Запрещаем любые новые подключения с любых интерфейсов, кроме lo к компьютеру.
iptables -A INPUT -m state ! -i lo --state NEW -j DROP
iptables -A INPUT -m state ! -i eth1 --state NEW -j DROP
iptables -A INPUT -m state ! -i eth0 --state NEW -j DROP

    # Если интерфейс не lo, то запрещаем входить в список его адресов.
iptables -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP

    # Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
iptables -A INPUT   -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

    # Принимать все пакеты, которые инициированы из уже установленного соединения, и имеющим признак ESTABLISHED.
    # Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
iptables -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

    ########### Защита от скрытого сканирования ##################################

iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 15/minute -d any/0 -j QUEUE

    ########### Черезмерное большое кол-во icmp запросов ########################

iptables -t filter -A FORWARD -p icmp -m limit --limit 250/sec --limit-burst 500 -j QUEUE
iptables -t filter -A FORWARD -p icmp -j DROP

    # SYN наводнение.
    # Приводит к связыванию системных ресурсов, так что реальных обмен данными становится не возможным.
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

    # UDP наводнение
    # Службы использующие UDP, очень часто становятся мишенью для атак с целью вывода системы из строя.
iptables -A INPUT -p UDP -s 0/0 --destination-port 138 -j DROP
iptables -A INPUT -p UDP -s 0/0 --destination-port 113 -j REJECT
iptables -A INPUT -p UDP -s 0/0 --source-port 67 --destination-port 68 -j ACCEPT
iptables -A INPUT -p UDP -j RETURN
iptables -A OUTPUT -p UDP -s 0/0 -j ACCEPT

    # ICMP - перенаправление
    # ICMP - сообщение указывает системе изменить содержимое таблиц маршрутизации с тем, что бы направлять
    # пакеты по более короткому маршруту. Может быть использовано взломщиком для перенаправления вашего трафика через свою машину.
iptables -A INPUT --fragment -p ICMP -j DROP
iptables -A OUTPUT --fragment -p ICMP -j DROP

    # Разрешаем  ICMP соединение. Значительная часть ICMP используется для передачи сообщений о
    # том, что происходит с тем или иным UDP или TCP соединением.

    # INET_IFACE_IUNLIM
iptables -A INPUT -p icmp -m icmp -i ppp0 --icmp-type source-quench -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp0 --icmp-type source-quench -j ACCEPT

    # INET_IFACE_LUNLIM
iptables -A INPUT -p icmp -m icmp -i ppp1 --icmp-type source-quench -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp1 --icmp-type source-quench -j ACCEPT

    # Разрешаем себе ping наружу - нас же не попингуешь - пакеты отбрасываются.

    #INET_IFACE_IUNLIM
iptables -A INPUT -p icmp -m icmp -i ppp0 --icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp0 --icmp-type echo-request -j ACCEPT

    #INET_IFACE_LUNLIM
iptables -A INPUT -p icmp -m icmp -i ppp1 --icmp-type echo-reply -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp1 --icmp-type echo-request -j ACCEPT

    # Разрешаем передачу пакета - некорректный параметр - используется, если в заголовке пакета содержится недопустимая запись,
    # или если контрольная сумма заголовка не соответствует контрольной сумме, указанной передающим узлом.

    #INET_IFACE_IUNLIM
iptables -A INPUT -p icmp -m icmp -i ppp0 --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp0 --icmp-type parameter-problem -j ACCEPT

    #INET_IFACE_LUNLIM
iptables -A INPUT -p icmp -m icmp -i ppp1 --icmp-type parameter-problem -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp -o ppp1 --icmp-type parameter-problem -j ACCEPT

    # Запрещаем подключение к X серверу через сетевые интерфейсы.

    #INET_IFACE_IUNLIM
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 6000:6063 -j DROP --syn

    #INET_IFACE_LUNLIM
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 6000:6063 -j DROP --syn

    # Прописываем порты, которые открыты в системе, но которые не должны быть открыты на сетевых интерфейсах:
    # $IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE -j DROP --dports #порта

    #INET_IFACE_IUNLIM
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp0 -j DROP --dports 783
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp0 -j DROP --dports 3310
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp0 -j DROP --dports 10000

    #INET_IFACE_LUNLIM
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp1 -j DROP --dports 783
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp1 -j DROP --dports 3310
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp1 -j DROP --dports 10000

    # DNS сервер имен разрешаем.

    #
iptables -A OUTPUT -p udp -m udp -o ppp0 --dport 53 --sport 1024:65535 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 53 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp0 --dport 1024:65535 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65353 --sport 53 -j ACCEPT


iptables -A OUTPUT -p udp -m udp -o ppp1 --dport 53 --sport $UNPRIPORTS -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 53 --sport $UNPRIPORTS -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp1 --dport $UNPRIPORTS --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65353 --sport 53 -j ACCEPT

   # Разрешаем AUTH-запросы на удаленные сервера, на свой же компьютер - запрещаем.
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 113 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 113 -j ACCEPT ! --syn
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 113 -j DROP


iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 113 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 113 -j ACCEPT ! --syn
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 113 -j DROP

    # Открываем некоторые порты:
    # SSH клиент (22)
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 22 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 22 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 22 --sport 1020:1023 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1020:1023 --sport 22 -j ACCEPT ! --syn

    # DC server (Verlihub)
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 411 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 411 -j ACCEPT ! --syn

iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 411 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 411 -j ACCEPT ! --syn

    # Teamspeak server

iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 51534 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 51534 -j ACCEPT ! --syn
iptables -A OUTPUT -p udp -m udp -o ppp1 --dport 8767 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp1 --dport 1024:65535 --sport 8767 -j ACCEPT ! --syn

    # HTTP/HTTPS клиент (80, 443)
iptables -A OUTPUT -p tcp -m tcp -m multiport -o ppp0 --sport 1024:65535 -j ACCEPT --dports 80,443
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp0 --dport 1024:65535 -j ACCEPT --sports 80,443 ! --syn

iptables -A OUTPUT -p tcp -m tcp -m multiport -o ppp1 --sport 1024:65535 -j ACCEPT --dports 80,443
iptables -A INPUT -p tcp -m tcp -m multiport -i ppp1 --dport 1024:65535 -j ACCEPT --sports 80,443 ! --syn

    # Разрешаем finger, whois, gorper, wais. Traceroute - разрешаем себе, к нам не проломятся - запрещено. Telnet
    # запретил, чтобы соблазна не было передавать пароли прямым текстом.
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 20 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 20 --sport 1024:65535 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 1024:65535 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 1024:65535 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 23 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 23 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 79 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 79 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 43 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 43 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 70 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 70 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp0 --dport 210 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp0 --dport 1024:65535 --sport 210 -j ACCEPT ! --syn
iptables -A OUTPUT -p udp -m udp -o ppp0 --dport 33434:33523 --sport 32769:65535 -j ACCEPT

iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 20 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 20 --sport 1024:65535 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 1024:65535 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 1024:65535 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 23 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 23 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 79 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 79 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 43 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 43 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 70 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 70 -j ACCEPT ! --syn
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 210 --sport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65535 --sport 210 -j ACCEPT ! --syn
iptables -A OUTPUT -p udp -m udp -o ppp1 --dport 33434:33523 --sport 32769:65535 -j ACCEPT

    # Разрешаем прохождение DHCP запросов через iptables. Нужно, если IP адрес динамический.
iptables -A OUTPUT -p udp -m udp -o ppp0 --dport 67 --sport 68 -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp0 --dport 68 --sport 67 -j ACCEPT

iptables -A OUTPUT -p udp -m udp -o ppp1 --dport 67 --sport 68 -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp1 --dport 68 --sport 67 -j ACCEPT

iptables -A INPUT -m state --state NEW -i ! ppp0 -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! ppp1 -j ACCEPT

iptables -A FORWARD -i ppp0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i ppp1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT


# Allow outgoing connections from the LAN side.
iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT
iptables -A FORWARD -i eth0 -o ppp1 -j ACCEPT


# Masquerade.
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp1 -j MASQUERADE

# Don't forward from the outside to the inside.
iptables -A FORWARD -i ppp0 -o ppp0 -j REJECT
iptables -A FORWARD -i ppp1 -o ppp1 -j REJECT




echo "...done"

echo "--> IPTABLES firewall loaded/activated <--"

################################################################################
#########

;;
*)
echo "Usage:firewall (start|stop|restart|status) EXTIF INTIF"
exit 1
esac

exit 0



выдает ошибки после запуска

iptables заявляет что не те порты и --syn не находит

Код: Выделить всё

iptables v1.4.3: invalid port/service `-j' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.3: invalid port/service `-j' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.3: invalid port/service `--sport' specified
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.3: unknown option `--syn'
Try `iptables -h' or 'iptables --help' for more information.
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
http://dp.505.ru
Ацкий сотона
Спасибо сказали:
merzavec
Сообщения: 11
ОС: KUBUNTU

Re: iptables выдает ошибки

Сообщение merzavec »

Ну ты, браза, и надергал мешанины из разных мануалов)))))) а реально сколько й тебя сетевых интерфейсов?)
Спасибо сказали:
Аватара пользователя
pilson66
Сообщения: 59
ОС: Debian Squeeze

Re: iptables выдает ошибки

Сообщение pilson66 »

iptables -A OUTPUT -p udp -m udp -o ppp1 --dport 53 --sport $UNPRIPORTS -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 53 --sport $UNPRIPORTS -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp1 --dport $UNPRIPORTS --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65353 --sport 53 -j ACCEPT

переменные не проинициализированы
Спасибо сказали:
Аватара пользователя
SMEL
Сообщения: 25
ОС: Теперь Debian

Re: iptables выдает ошибки

Сообщение SMEL »

merzavec писал(а):
10.04.2009 17:31
Ну ты, браза, и надергал мешанины из разных мануалов)))))) а реально сколько й тебя сетевых интерфейсов?)

нет не надергал взял мануал вот от сюда
http://www.posix.ru/network/iptables/
и чуть чуть переделал под себя
зы. сетевых интерфейса 4, из них два ppp и два eth смотряших (eth1 в домовую сеть, и eth0 в сеть провайдера)
iptables -A OUTPUT -p udp -m udp -o ppp1 --dport 53 --sport $UNPRIPORTS -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp -o ppp1 --dport 53 --sport $UNPRIPORTS -j ACCEPT
iptables -A INPUT -p udp -m udp -i ppp1 --dport $UNPRIPORTS --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -m tcp -i ppp1 --dport 1024:65353 --sport 53 -j ACCEPT

переменные не проинициализированы

ооо в таком большом списке заблудился ... рас 10 просматривалл....
зы. спасибо
http://dp.505.ru
Ацкий сотона
Спасибо сказали:
Аватара пользователя
SMEL
Сообщения: 25
ОС: Теперь Debian

Re: iptables выдает ошибки

Сообщение SMEL »

iptables v1.4.3: unknown option `--syn'
Try `iptables -h' or 'iptables --help' for more information.
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).

а эти всё равно остались балин
http://dp.505.ru
Ацкий сотона
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian

Re: iptables выдает ошибки

Сообщение Frank »

дык пишется же английским по чёрному, что такой порядок указания отрицания устарел и нужно переставить операнды соответствующим образом
Изображение
Спасибо сказали:
Аватара пользователя
SMEL
Сообщения: 25
ОС: Теперь Debian

Re: iptables выдает ошибки

Сообщение SMEL »

Frank писал(а):
11.04.2009 12:02
дык пишется же английским по чёрному, что такой порядок указания отрицания устарел и нужно переставить операнды соответствующим образом

так что мне в конечном итоге поменять?
http://dp.505.ru
Ацкий сотона
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: iptables выдает ошибки

Сообщение Ленивая Бестолочь »

все отрицания поменять: "--option ! this" на "! --option this"
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
Аватара пользователя
SMEL
Сообщения: 25
ОС: Теперь Debian

Re: iptables выдает ошибки

Сообщение SMEL »

Ленивая Бестолочь писал(а):
21.04.2009 11:11
все отрицания поменять: "--option ! this" на "! --option this"

хмм...это то хорошо....но теперь не канает ssh
не веб сервер
ни чо
кроме раздачи инета в локалку
добавлял правила
методом полного открытия порта
пример для ssh :

Код: Выделить всё

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT


и все равно не пашет :mellow: добрые люди помогите если не трудно пожайлуста
http://dp.505.ru
Ацкий сотона
Спасибо сказали:
Аватара пользователя
*Sasha*
Сообщения: 2519
Статус: Мимо шёл
ОС: Debian

Re: iptables выдает ошибки

Сообщение *Sasha* »

SMEL писал(а):
24.04.2009 01:16
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT

почему udp, а не tcp?
Спасибо сказали: