Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - Настройка IPTables для PPTPD

Ответить
Настройки темы
Debian/Ubuntu - Настройка IPTables для PPTPD

Новый участник


Сообщения: 18
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добый день!
Не получается настроить IPTables, чтобы он пропускал vpn-трафик. Использую вот такой скрипт:

Код: Выделить весь код
#!/bin/sh
# Конфигурация внешнего  интерфейса
INET_IP="11.22.33.44" 
INET_IFACE="eth0" 
INET_BROADCAST="255.255.255.0" 
#
# Конфигурация внутреннего  интерфейса
LAN_IP="192.168.100.253"
LAN_IP_RANGE="192.168.100.0/24"
LAN_IFACE="eth1"
#
# Конфигурация localhost
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_gre
/sbin/modprobe ip_nat_pptp
/sbin/modprobe ip_conntrack_pptp
#
# форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/sysctl -w net.ipv4.ip_forward=1
#
# Сбрасываем правила и удаляем цепочки.
$IPT -F
$IPT -X
# Политика по умолчанию.
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD ACCEPT
#Logging
$IPT -A INPUT -p tcp -j ULOG
$IPT -A FORWARD -p tcp -j ULOG
$IPT -A INPUT -p 47 -j ULOG
$IPT -A FORWARD -p 47 -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 FORWARD -p 47 -s 192.168.100.0/24 -j ACCEPT
$IPT -I INPUT -p tcp --dport 1723 -j ACCEPT
$IPT -I INPUT -p 47 -j ACCEPT
$IPT -I OUTPUT -p 47 -j ACCEPT
$IPT -A INPUT -i ppp0 -j ACCEPT
$IPT -A OUTPUT -o ppp0 -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
# Разрешаем ICMP-соединение.
$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 echo-request -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $INET_IFACE --icmp-type echo-reply -j ACCEPT
# Разрешаем передачу пакета «некорректный параметр» - используется, если в заголовке пакета содержится недопустимая запись или CRC пакета не совпадает с указанной
$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
# Разрешаем DNS.
$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
# Разрешаем AUTH-запросы на удаленные сервера, на свой - запрещаем.
$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
# SMTP (25)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 25 --sport $NONPRIPORTS -j ACCEPT
# POP3 (110)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 110 --sport $NONPRIPORTS -j ACCEPT
# HTTP/HTTPS клиент (80, 443)
$IPT -A OUTPUT -p tcp -m tcp -m multiport -o $INET_IFACE --sport $NONPRIPORTS -j ACCEPT --dports 80,443
#ICQ (5190)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 5190 --sport $NONPRIPORTS -j ACCEPT
#QIP-аккаунт (5222)
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 5222 --sport $NONPRIPORTS -j ACCEPT
#SSH
$IPT -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --update --seconds 20 -j DROP
$IPT -A INPUT -p tcp -m state --state NEW --dport 22 -m recent --set -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 22 --sport $NONPRIPORTS -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport $NONPRIPORTS --sport 22 -j ACCEPT ! --syn
$IPT -A INPUT -p tcp -m tcp -i $INET_IFACE --dport 22 --sport 1020:1023 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -o $INET_IFACE --dport 1020:1023 --sport 22 -j ACCEPT ! --syn
#NAT:   
$IPT -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
Удаленному клиенту (Windows XP) не удается подключиться(ошибка 800).
Подскажите, как же надо написать правила, чтобы vpn-трафик проходил через фаервол?

P.S. система Debian Lenny.

Отправлено: 12:33, 16-09-2009

 

Аватара для slaine

Ветеран


Сообщения: 675
Благодарности: 8

Профиль | Отправить PM | Цитировать


куда пропускать трафик, через себя на vpn сервер?
в FORWARD порт 1723 тогда не указан.
этот скрипт фаервола стартует до поднятия ppp?
в любом случае если интерфейс ppp один, то я бы указал маску ppp+

-------
живодёр - практик


Отправлено: 20:37, 16-09-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Alan85

Старожил


Сообщения: 463
Благодарности: 91

Профиль | Отправить PM | Цитировать


FORWARD по умолчанию ACCESS
Код: Выделить весь код
$IPT -P FORWARD ACCEPT
так что не думаю что дело в этом а вот POSTROUTING для проброса клиента через интерфейс ppp+ нужен вроде бы

Отправлено: 17:30, 17-09-2009 | #3



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - Настройка IPTables для PPTPD

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Slackware - pptpd Trinux Общий по Linux 7 25-01-2009 00:02
Debian/Ubuntu - iptables в Ubuntu-начальная настройка... Bren74 Общий по Linux 10 28-10-2007 17:06
настройка активного ftp-соединения в iptables vagner_HATE Общий по Linux 3 02-03-2007 12:24
IPTABLES!!! RULES, Разгавор о iptables BuuG Общий по Linux 17 03-03-2006 16:00
Настройка IPTABLES AndreySin Общий по Linux 19 09-02-2004 10:26




 
Переход