The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Помогите настроить IPTables для PPTPD"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [ Отслеживать ]

"Помогите настроить IPTables для PPTPD"  +/
Сообщение от Dmitry email(??) on 14-Сен-09, 13:58 
Для настройки IPTables используется такой скрипт:

#!/bin/sh
#
INET_IP="11.22.33.44"
INET_IFACE="eth0"
INET_BROADCAST="255.255.255.0"
LAN_IP="192.168.1.3"
LAN_IP_RANGE="192.168.1.0/24"
LAN_IFACE="eth1"
LO_IFACE="lo"
LO_IP="127.0.0.1"

IPT="/sbin/iptables"

NONPRIPORTS="1024:65535"

/sbin/modprobe ip_tables

/sbin/modprobe ip_conntrack

/sbin/modprobe iptable_filter

/sbin/modprobe iptable_mangle

/sbin/modprobe iptable_nat

/sbin/modprobe ipt_LOG

/sbin/modprobe ipt_limit

/sbin/modprobe ipt_state

/sbin/modprobe ipt_REJECT

/sbin/modprobe ipt_MASQUERADE

/sbin/modprobe ip_conntrack_pptp

echo "1" > /proc/sys/net/ipv4/ip_forward


$IPT -F

$IPT -X

$IPT -P INPUT REJECT

$IPT -P OUTPUT REJECT

$IPT -P FORWARD ACCEPT


#Logging

$IPT -A INPUT -p tcp -j ULOG

$IPT -A FORWARD -p tcp -j ULOG


$IPT -A INPUT -i $LO_IFACE -j ACCEPT

$IPT -A OUTPUT -o $LO_IFACE -j ACCEPT

$IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i $LO_IFACE -j DROP

$IPT -A INPUT   -m state --state INVALID -j DROP

$IPT -A FORWARD -m state --state INVALID -j DROP

$IPT -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


#Правила для VPN-PPTPD

$IPT -A INPUT -p 47 -m state --state ESTABLISHED,RELATED -i $INET_IFACE -j ACCEPT

$IPT -A OUTPUT -p TCP --dport 1723 -o $INET_IFACE -j ACCEPT

$IPT -A OUTPUT -p 47 -o $INET_IFACE -j ACCEPT


# Правила для внутренней сети:

$IPT -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT

$IPT -A OUTPUT -p ALL -o $LAN_IFACE -d $LAN_IP_RANGE -j ACCEPT

$IPT -A INPUT -p tcp -i $LAN_IFACE --dport 3128 -j ACCEPT


# Правила защиты от атак:

$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

$IPT -A INPUT -p UDP -i $INET_IFACE --dport 138 -j DROP

$IPT -A INPUT -p UDP -i INET_IFACE --dport 113 -j REJECT

$IPT -A INPUT -p UDP -i INET_IFACE --sport 67 --dport 68 -j ACCEPT

$IPT -A INPUT -p UDP -j RETURN

$IPT -A OUTPUT -p UDP -o $INET_IFACE -j ACCEPT

$IPT -A INPUT --fragment -p ICMP -j DROP

$IPT -A OUTPUT --fragment -p ICMP -j DROP

$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

$IPT -A INPUT -p icmp -m icmp -i $INET_IFACE --icmp-type echo-reply -j ACCEPT

$IPT -A INPUT -p icmp -m icmp -i $LAN_IFACE -j ACCEPT

$IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-request -j ACCEPT

$IPT -A OUTPUT -p icmp -m icmp -o $LAN_IFACE -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

$IPT -A OUTPUT -p udp -m udp -o $INET_IFACE --dport 53 --sport $NONPRIPORTS -j ACCEPT

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 53 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p udp -m udp -i $INET_IFACE --dport $NONPRIPORTS --sport 53 -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 1024:65353 --sport 53 -j ACCEPT

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 113 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 113 -j ACCEPT ! --syn

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 113 -j DROP


# Открываем необходимые порты:

# FTP (21)

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 21 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 21 -j ACCEPT ! --syn


# SMTP (25)

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 25 -j ACCEPT ! --syn

  

# POP3 (110)

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 110 -j ACCEPT ! --syn


# HTTP/HTTPS клиент (80, 443)

$IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $NONPRIPORTS -j ACCEPT --dports 80,443

$IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $NONPRIPORTS -j ACCEPT --sports 80,443 ! --syn


# PROXY (3128)

$IPT -A OUTPUT -p tcp -m tcp -o $LAN_IFACE --dport 3128 -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --dport 3128 -j ACCEPT


#ICQ (5190)

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 5190 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 5190 -j ACCEPT ! --syn


#QIP-аккаунт (5222)

$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 5222 --sport $NONPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 5222 -j ACCEPT ! --syn


$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

$IPT -A INPUT -j DROP


Все бы хорошо, но почему-то не устанавливается соединение с vpn-сервером(pptpd) на той же машине, которая является гейтом с iptables. При отключенном iptables соединение устанавливается. Подскажите, какое из правил рубит pptp?

Заранее спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от aaa (??) on 14-Сен-09, 14:46 
>Подскажите, какое из правил рубит pptp?

рубят $IPT -A INPUT -j DROP и $IPT -P OUTPUT REJECT
т.к. при pptp соединении создается новый сетевой интерфейс ppp0
Разрешающие правила для которого у Вас не написаны


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от Dmitry email(??) on 14-Сен-09, 14:53 
>>Подскажите, какое из правил рубит pptp?
>
>рубят $IPT -A INPUT -j DROP и $IPT -P OUTPUT REJECT
>т.к. при pptp соединении создается новый сетевой интерфейс ppp0
>Разрешающие правила для которого у Вас не написаны
>
>

Ага. Т.е. после строчек с pptp-протоколом надо прописать:
$IPT -A INPUT -i ppp0 -j ACCEPT

$IPT -A OUTPUT -o ppp0 -j ACCEPT

так?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от aaa (??) on 14-Сен-09, 16:04 
>[оверквотинг удален]
>>Разрешающие правила для которого у Вас не написаны
>>
>>
>
>Ага. Т.е. после строчек с pptp-протоколом надо прописать:
>$IPT -A INPUT -i ppp0 -j ACCEPT
>
>$IPT -A OUTPUT -o ppp0 -j ACCEPT
>
>так?

попробуйте так.

ИМХО правила фаервола написаны криво! предлагаю осмыслить эти правила:
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 21 -j ACCEPT ! --syn
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 25 -j ACCEPT ! --syn
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 110 -j ACCEPT ! --syn
$IPT -A INPUT -p tcp -m tcp -m multiport -i $INET_IFACE --dport $NONPRIPORTS -j ACCEPT --sports 80,443 ! --syn
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 5190 -j ACCEPT ! --syn
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport $NONPRIPORTS --sport 5222 -j ACCEPT ! --syn
Все они говорят о том, что Вам кто-то будет слать пакеты с портов 21,25,110 и т.д. на ваши порты NONPRIPORTS="1024:65535" - это возможно когда ваша машина устанавливает соединения на эти порт(21,25,110 и т.д.). Для прохождения ответов с них у вас выше стоит правило $IPT -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
и смысл --dport $NONPRIPORTS --sport 21,25,110 теряется.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от Dmitry email(??) on 14-Сен-09, 16:49 
>>$IPT -A INPUT -i ppp0 -j ACCEPT
>>
>>$IPT -A OUTPUT -o ppp0 -j ACCEPT
>
>попробуйте так.
>

Не помогло. VPN-трафик по-прежнему блокируется.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от Dmitry email(??) on 16-Сен-09, 10:09 
Неужели никто не знает?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от Andrey Mitrofanov on 16-Сен-09, 10:26 
Все знают, но молчат: любители читать простыни чужих скриптов уже выдохлись, а срочно вызванные телепаты протрезвеют только к вечеру. Ждите, заболит голова и начнут сами меняться правила фвола -- это оно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Помогите настроить IPTables для PPTPD"  +/
Сообщение от Dmitry email(??) on 16-Сен-09, 11:10 
>Все знают, но молчат: любители читать простыни чужих скриптов уже выдохлись, а
>срочно вызванные телепаты протрезвеют только к вечеру. Ждите, заболит голова и
>начнут сами меняться правила фвола -- это оно.

Знаете, иногда лучше молчать.
Я уже раз тридцать переделывал этот скрипт - но работать vpn не хочет.
Что же касается этого форума - я понял, что здесь чего-то путного ждать бессмысленно - сборище самодовольных выскочек скорее высмеет, чем окажет помощь.
Спасибо за внимание, тема закрыта как неинересная сообществу.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




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

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