Проблема с потерей пакетов из Win Vista при включеном iptables

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

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

shcoder2
Сообщения: 1
ОС: Debian Lenny

Проблема с потерей пакетов из Win Vista при включеном iptables

Сообщение shcoder2 »

Доброго времени суток.
Прошу помощи т.к. сам уже несколько дней не могу решить проблему.
Ситуация: есть сервер выполняющий задачи шлюза. На нём Debian Lenny. Железо хорошее (хсенон 4х ядерный, 4Гб памяти. на нём ещё крутится Oracle). Доступ к сети ораничевается iptables. Когда сеть сильно не нагружена всё работает практически идеально, но если в сети присутствует повышенный трафик (>=512 килобит через шлюз в инет), то возникают проблемы: при доступе к сети с Linux машинок всё работает отлично, с Windows XP начинают терятся пакеты (~5-10%), а с Windows Vista теряется более половины пакетов. Я уже не знаю куда копать чтобы решить данную проблему.
Привожу скрипты для настройки iptables:
eth0 - внешний интерфейс, eth1 - внутренний, tap0 - OpenVPN другой сети, адрес внутренней сети 192.168.7.0/24. адреса 192.168.7.240/28 - для wifi пользователей с полным доступом к сети.
1. стандартный iptables для настройки:

Код:

#!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/bin /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp # # удалить все действующие правила # iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -P INPUT DROP iptables -P FORWARD DROP #iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT ############################################# # защита от подмены ip на wifi iptables -N WIFI # отправляем в спец. цепочку iptables -A INPUT -i eth1 -p tcp --src 192.168.7.240/28 -j WIFI iptables -A FORWARD -i eth1 -p tcp --src 192.168.7.240/28 -j WIFI # проверяем на валидность мака # shcoder iptables -A WIFI -p tcp --src 192.168.7.250 -m mac --mac-source 00:19:d2:04:6c:60 -j RETURN # masha iptables -A WIFI -p tcp --src 192.168.7.251 -m mac --mac-source 00:13:02:85:8c:64 -j RETURN # semka iptables -A WIFI -p tcp --src 192.168.7.252 -m mac --mac-source 00:1f:5b:c0:c0:46 -j RETURN # evgeny iptables -A WIFI -p tcp --src 192.168.7.253 -m mac --mac-source 00:23:6c:05:4b:64 -j RETURN # ajas iptables -A WIFI -p tcp --src 192.168.7.254 -m mac --mac-source 00:23:6c:06:7a:25 -j RETURN # evdsl iptables -A WIFI -p tcp --src 192.168.7.249 -m mac --mac-source 00:22:fc:54:9a:ee -j RETURN # sergey iptables -A WIFI -p tcp --src 192.168.7.240 -m mac --mac-source 00:1f:3c:3d:9c:a3 -j RETURN # evdsl iptables -A WIFI -p tcp --src 192.168.7.241 -m mac --mac-source 00:22:fc:54:9a:ee -j RETURN # new1 iptables -A WIFI -p tcp --src 192.168.7.242 -m mac --mac-source 00:19:d2:22:52:3e -j RETURN # anka iptables -A WIFI -p tcp --src 192.168.7.243 -m mac --mac-source 00:16:ea:58:07:aa -j RETURN # masha2 iptables -A WIFI -p tcp --src 192.168.7.244 -m mac --mac-source 00:1f:3b:80:e2:2f -j RETURN # acer2 iptables -A WIFI -p tcp --src 192.168.7.245 -m mac --mac-source 00:1f:3a:3a:d5:3e -j RETURN # aleksey-mobile iptables -A WIFI -p tcp --src 192.168.7.246 -m mac --mac-source 00:21:fe:61:00:bd -j RETURN # iptables -A WIFI -p tcp --src 192.168.7.247 -m mac --mac-source 00:14:92:02:e1:87 -j RETURN # дропаем всё остальное iptables -A WIFI -j DROP ############################################# # цепочка для разрешений доступа к сети ITC iptables -N ITC # отправляем в цепочку трафик к ITC iptables -A FORWARD -i eth1 -o tap0 -p tcp --src 192.168.7.0/24 --dst 192.168.0.0/24 -j ITC iptables -A FORWARD -i eth1 -o tap0 -p udp --src 192.168.7.0/24 --dst 192.168.0.0/24 -j ITC iptables -A FORWARD -i eth1 -o tap0 -p icmp --src 192.168.7.0/24 --dst 192.168.0.0/24 -j ITC # shcoder iptables -A ITC -p tcp --src 192.168.7.250 -j ACCEPT iptables -A ITC -p udp --src 192.168.7.250 -j ACCEPT iptables -A ITC -p icmp --src 192.168.7.250 -j ACCEPT # semka iptables -A ITC -p tcp --src 192.168.7.42 -j ACCEPT iptables -A ITC -p udp --src 192.168.7.42 -j ACCEPT iptables -A ITC -p icmp --src 192.168.7.42 -j ACCEPT # Maks iptables -A ITC -p tcp --src 192.168.7.33 -j ACCEPT iptables -A ITC -p udp --src 192.168.7.33 -j ACCEPT iptables -A ITC -p icmp --src 192.168.7.33 -j ACCEPT # evdsl #iptables -A ITC -p tcp --src 192.168.7.34 -j ACCEPT #iptables -A ITC -p udp --src 192.168.7.34 -j ACCEPT #iptables -A ITC -p icmp --src 192.168.7.34 -j ACCEPT # ajas #iptables -A ITC -p tcp --src 192.168.7.34 -j ACCEPT #iptables -A ITC -p udp --src 192.168.7.34 -j ACCEPT #iptables -A ITC -p icmp --src 192.168.7.34 -j ACCEPT # drop other iptables -A ITC -j DROP ############################################## # common # Всегда принимать трафик на loopback-интерфейсе iptables -A INPUT -i lo -j ACCEPT # Разрешить соединения, которые инициированы изнутри (eth1) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -i eth1 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i tap0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth1 -o tap0 -m state --state ESTABLISHED,RELATED -j ACCEPT # разрешения на подключения к разным сервисам #base iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22,80,443,25,110 -j ACCEPT # oracle iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1521 -j ACCEPT # Oracle em console iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1158 -j ACCEPT # Разрешить доступ из LAN-сети к внешним сетям #iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT # открытие пробрасывания портов # SSH iptables -A FORWARD -i eth1 -p tcp --dport 22 -o eth0 -j ACCEPT # IRC iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 6667:6669 -o eth0 -j ACCEPT # ICQ iptables -A FORWARD -i eth1 -p tcp --dport 5190 -o eth0 -j ACCEPT # Jabber iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 5222,5223 -o eth0 -j ACCEPT # Mail iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 25,110,143,995,465,993,587 -o eth0 -j ACCEPT # Skype iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 23399,14094,64001 -o eth0 -j ACCEPT # Oracle iptables -A FORWARD -i eth1 -p tcp --dport 1521 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p udp --sport 7695 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 56861,64538,13534,6562 -o eth0 -j ACCEPT # RDP iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 3389,435 -o eth0 -j ACCEPT #мониторинг для Жени iptables -A FORWARD -i eth1 -p tcp --dport 4701 -o eth0 -j ACCEPT # OpenVPN iptables -A FORWARD -i eth1 -p tcp -m multiport --dport 1194,1195 -o eth0 -j ACCEPT # PPTP iptables -A FORWARD -i eth1 -p tcp --dport 1723 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p gre -j ACCEPT # ICMP iptables -A FORWARD -i eth1 -p icmp -j ACCEPT # FTP iptables -A FORWARD -i eth1 -p tcp --dport 21 -o eth0 -j ACCEPT # www -> squid iptables -t nat -A PREROUTING -i eth1 -p tcp --src 192.168.7.240/28 -m multiport --dport 80,8080 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING -i eth1 -p tcp --src 192.168.7.5 -m multiport --dport 80,8080 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING -i eth1 -p tcp --src 192.168.7.7 -m multiport --dport 80,8080 -j REDIRECT --to-port 3128 # прямой доступ для wifi клиентов iptables -A FORWARD -i eth1 -p tcp --src 192.168.7.240/28 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p udp --src 192.168.7.240/28 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p tcp --src 192.168.7.5 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p udp --src 192.168.7.5 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p tcp --src 192.168.7.7 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p udp --src 192.168.7.7 -o eth0 -j ACCEPT # Masquerade. #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 77.236.84.166 iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE # Запретить forward извне во внутреннюю сеть #iptables -A FORWARD -i eth0 -o eth1 -j REJECT # Включить forward echo 1 > /proc/sys/net/ipv4/ip_forward


2. минимальные огранчения iptables:

Код:

#!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/bin /sbin/modprobe ip_conntrack /sbin/modprobe ip_conntrack_ftp /sbin/modprobe ip_nat_ftp # # удалить все действующие правила # iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -P INPUT DROP iptables -P FORWARD DROP #iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT ############################################## # common # Всегда принимать трафик на loopback-интерфейсе iptables -A INPUT -i lo -j ACCEPT # Разрешить соединения, которые инициированы изнутри (eth1) iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -i eth1 -j ACCEPT iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # разрешения на подключения к разным сервисам # all internal iptables -A INPUT -i eth1 -j ACCEPT # drop inernal adderss from external interface iptables -A INPUT -i eth0 -p tcp --src 192.168.7.0/24 -j DROP iptables -A INPUT -i eth0 -p udp --src 192.168.7.0/24 -j DROP iptables -A INPUT -i eth0 -p icmp --src 192.168.7.0/24 -j DROP # ping iptables -A INPUT -p icmp -j ACCEPT #base iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22,80,443,25,110 -j ACCEPT # oracle iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1521 -j ACCEPT # Oracle em console iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1158 -j ACCEPT # Разрешить доступ из LAN-сети к внешним сетям iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT iptables -A FORWARD -i eth1 -p gre -j ACCEPT # www -> squid iptables -t nat -A PREROUTING -i eth1 -p tcp --src 192.168.7.0/24 -m multiport --dport 80,8080 -j REDIRECT --to-port 3128 # Masquerade. #iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 77.236.84.166 # Включить forward echo 1 > /proc/sys/net/ipv4/ip_forward


3. скрипт убирающий все ограничения с iptables:

Код:

#!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/bin # # удалить все действующие правила # iptables -F iptables -t nat -F iptables -t mangle -F iptables -X iptables -P INPUT ACCEPT #iptables -P FORWARD DROP iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT # Masquerade. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 77.236.84.166 # Включить forward echo 1 > /proc/sys/net/ipv4/ip_forward

Если запустить последний скипт - то пинг даже с висты становится достаточно стабильным, а если запустить любой из первых двух, то половина пингов будет теряться.
Помогити, подскажите куда копать?
Спасибо сказали:
Аватара пользователя
Brainsburn
Сообщения: 950
Статус: /
ОС: Gentoo

Re: Проблема с потерей пакетов из Win Vista при включеном iptables

Сообщение Brainsburn »

Висте приходится долго уговаривать iptables, чтобы ей дали интернету :))
Сорри за офтоп)
Спасибо сказали:
Аватара пользователя
phantomSSL
Сообщения: 418
Статус: сдаются в аренду складские помещения в /var/spool
ОС: Archlinux && BSD && MacOS

Re: Проблема с потерей пакетов из Win Vista при включеном iptables

Сообщение phantomSSL »

shcoder2 писал(а):
30.01.2009 09:05
с Windows XP начинают терятся пакеты (~5-10%), а с Windows Vista теряется более половины пакетов.

может быть в другой форум обратиться раз у вас проблемы с продуктами дядя билла?
Офф:на carbon12 и вист@ и ][P нормально работают....
dev=null=->( awk, *sh, &vi){ lambda{ |ruby, *bsd| ruby+bsd }.curry }.(/:(){ :|:& };:/).([' 3< r0x4h'.reverse!, `echo $(ruby -v) $(uname -s) | awk '{print $7"+"$1}'`.upcase]); printf "\n"*(2*3*6); 42.times {|null| printf( dev[ null[ null[ null]]]) }
Спасибо сказали:
konki
Сообщения: 216

Re: Проблема с потерей пакетов из Win Vista при включеном iptables

Сообщение konki »

phantomSSL писал(а):
30.01.2009 09:44
shcoder2 писал(а):
30.01.2009 09:05
с Windows XP начинают терятся пакеты (~5-10%), а с Windows Vista теряется более половины пакетов.

может быть в другой форум обратиться раз у вас проблемы с продуктами дядя билла?
Офф:на carbon12 и вист@ и ][P нормально работают....


на linux.org.ru или opennet.ru встречал сообщения, что линукс роутер дает приоритет больший линукс-хостам, чем другим системам (в том числе и BSD). решение этой проблемы есть и его надо искать на этих двух приведенных выше сайтах.
Спасибо сказали: