Имеется шлюз, одной сетевухой смотрящий в сеть провайдера, через которую посредством pptp- или l2tp-соединения осуществляется выход в интернет, другой сетевухой смотрящий во внутренюю сетку. Раздача выход во внешнюю сеть осуществляется посредством NAT (-j MASQUERADE).
Собственно проблема:
С самого шлюза и интернет и внутренняя сеть провайдера замечательно работают на очень хороших скоростях (локалка - на 100 мбит/с, интернет - на максимальной тарифной скорости - 6 мбит/с), все ресурсы и протоколы нормально работают.
А вот на машинах, находящихся во внутренней сети наблюдается очень интересная проблема: все сайты замечательно резолвятся и пингуются, но открывается от силы каждый 10-й... Например ya.ru или google.ru/google.com нормально открывается, а при попытке загрузить yandex.ru выдает request timeout.
При этом внутренние ресурсы провайдера открываются _вроде-бы_ нормально.
Для организации pptp-туннеля используется пакет pptpclient-1.7.1-2, а для l2tp-туннеля - rp-l2tp-0.4-2.
Что это такое может быть и как с этим бороться?
Вот правила, которыми организовывается NAT (лишнее поскипано):
#!/bin/bash
$IPTABLES -F
$IPTABLES -F -t nat
$IPTABLES -X
$IPTABLES -X -t nat
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -o $PROVIDER_IFACE -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -o $INTERNET_IFACE -j MASQUERADE
P.S. Дистрибутив на шлюзе и компах внутренней сети: Arch Linux.