NAT и несколько VPN - соединений: помогите решить проблему
Поднят сервер на ASPLinux 10. В нем две сетевые карты. Одна смотрит в локальную сеть 192.168.0.0/24, другая во внешнюю 10.0.4.68/255.255.255.252 Провайдер дает Инет по VPN. Естественно, на сервере поднят NAT, разрешен в IPTables порт 1723 и протокол GRE. Пока учетная запись была одна - проблем не было. Но решили разделить отделы и посадить каждый на свою учетку. Первый канал поднимается без проблем, но как только пытаешься поднять второй канал, доходит дело только до авторизации (висит сообщение "Поверка имени пользователя и пароля") и рвется первое соединение. Дальше дело не идет. Попробовал обновить IPTables до версии 1.3.3. Стало чуть лучше (предыдушее соединение перестало обрываться), но второе так и не авторизуется. Если на сервере остановить IPTables, а потом стартовать заново через какое-то короткое время, то иногда удается поднять и второе соединение. Чую, что проблема в IPTables, но не пойму где. Или нереально поднять больше одного VPN в таких условия или я чего-то упускаю. Рабочие станиции на Windows XP professional. Вот скрипт для настройки IPTables: #!/bin/bash #****************************************************** # Предопределения #****************************************************** # Для инета # Сетевой инет-интерфейс INET_IFACE="eth1" INET_IP="10.0.4.70"
# Для локальной стороны # Сетевой интерфейс, свзязанный с локалкой LAN_IFACE="eth0" # IP-адрес "локального" сетевого интерфеса LAN_IP="192.168.0.1" # Диапазон ip-адресов локальной подсети LAN_IP_RANGE="192.168.0.0/24"
# Для внутренних дел (интерфейс обратной петли) # Название LO_IFACE="lo" # IP-адрес LO_IP="127.0.0.1"
# Ускоренное обращение к утилитам IPTABLES="/sbin/iptables" DEPMOD="/sbin/depmod" MODPROBE="/sbin/modprobe"
#****************************************************** # Загрузка модулей, отвечающих за работу фильтрации #****************************************************** $DEPMOD -a $MODPROBE ip_tables $MODPROBE iptable_nat $MODPROBE iptable_filter $MODPROBE ipt_state $MODPROBE ip_gre
#****************************************************** # Работаем с таблицей filter #****************************************************** # Определение политик по умолчанию $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP
#ICMP $IPTABLES -N icmp-packets $IPTABLES -A icmp-packets -p ICMP --icmp-type 3 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP --icmp-type 8 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP --icmp-type 11 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP --icmp-type 12 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP -j DROP
$IPTABLES -A INPUT -p ICMP -j icmp-packets $IPTABLES -A FORWARD -p ICMP -j icmp-packets
#Подключаем 22 порт для SSH, 137, 138,139 для SAMBA, 1723 для VPN $IPTABLES -N tcp_packets $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 22 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 1723 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 137 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 138 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 139 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -j DROP
#Подключаем порт 137, 138,139 для SAMBA udp $IPTABLES -N udp_packets $IPTABLES -A udp_packets -p UDP -i $LAN_IFACE --dport 137 -j ACCEPT $IPTABLES -A udp_packets -p UDP -i $LAN_IFACE --dport 138 -j ACCEPT $IPTABLES -A udp_packets -p UDP -i $LAN_IFACE --dport 139 -j ACCEPT $IPTABLES -A udp_packets -p UDP -j DROP
#LO $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT
#bad_packets $IPTABLES -N bad_packets $IPTABLES -A bad_packets -p TCP --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
#allowed $IPTABLES -N allowed $IPTABLES -A allowed -p TCP --syn -j ACCEPT $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed -j DROP
$IPTABLES -A INPUT -p UDP -i $LAN_IFACE -s $LAN_IP_RANGE -j udp_packets $IPTABLES -A INPUT -p TCP -i $LAN_IFACE -s $LAN_IP_RANGE -j tcp_packets $IPTABLES -A INPUT -p TCP -j bad_packets $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j DROP
#Обеспечим минимальный уровень безопасности $IPTABLES -A FORWARD -m state --state NEW -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -o $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -o $INET_IFACE -j ACCEPT
#VPN $IPTABLES -A FORWARD -p GRE -j ACCEPT
#****************************************************** # Работаем с таблицей nat #******************************************************
#****************************************************** # Таблица nat - стандартная цепочка POSTROUTING #****************************************************** # Включаем пересылку и маскирование (маскарад) адресов локальной сети #$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE $IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP