Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Войти
 
Страницы: 1
RSS
Iptables + NAT + PPTP, не открываются опред. сайты, Gentoo. Iptables + NAT +PPTP. Проблема с доступом на некоторые сайты.
 
Всем привет. Столкнулся с проблемой.
Есть дома компьютер, используемый в качестве шлюза, для остальных домашних компьютеров. На нем установлено Gentoo, ядро 2.6.22, настроин NAT на iptables и PPTP.
Есть 2 сетевые карты. Одна LAN(192.168.0.x), другая WAN(10.x.x.x) + на ней поднимается VPN, для доступа в инет. Прописан роутинг для одновременного доступа в сеть и в инет. IP адрес для WAN и PPTP выдается DHCP сервером провайдера. Все поднимается нормально, доступ в инет и в сеть есть. Только почему-то некоторые сайты не открываются, например ya.ru и rambler.ru открываются нормально, а masterhost.ru не открывается. ДНС сервер провайдера IP адрес masterhost.ru выдает, но пинги не доходят и сайт не открывается. Если кабель включить прямо в домашний комп с Win2003 или WinXP , то все нормально работе, все открывается нормально.
NAT настраивал так:
Цитата
Сначала обнуляем наши текущие правила
# iptables -F
# iptables -t nat -F

Установим политики по умолчанию для трафика, не соответствующего ни одному из правил
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD DROP

# eth0 - локальная сеть, eth2 - сеть провайдера, ppp0 - VPN для инета.
# export WAN=eth0
# export LAN=eth2
# export VPN=ppp0

Теперь закроем наши сервисы так, чтобы они могли работать только для LAN
# iptables -I INPUT 1 -i ${LAN} -j ACCEPT
# iptables -I INPUT 1 -i lo -j ACCEPT
# iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT
# iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT

В конце добавляем правила для NAT
# iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP
# iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
# iptables -A FORWARD -i ${VPN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
# iptables -t nat -A POSTROUTING -o ${VPN} -j MASQUERADE
Сообщаем ядру, что ip-форвардинг разрешен
# echo 1 > /proc/sys/net/ipv4/ip_forward
# for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done

Сохраняем правила, чтобы потом не вводить все вручную заново при перезагрузке
# /etc/init.d/iptables save
# rc-update add iptables default
# nano /etc/sysctl.conf
Добавьте/Раскомментируйте следующие строки:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1

Если у вас динамически назначаемый IP-адрес, возможно, вам понадобиться включить следующее:
net.ipv4.ip_dynaddr = 1
Настраивал, как описано тут: http://www.gentoo.org/doc/ru/home-router-howto.xml

Похожая проблема у меня была, когда настраивал какой-то роутер. Тоже на masterhost.ru не пускал и на другие, определенные сайты. Проблема решалась изменение MTU. Сейчас у себя пробовал менять MTU, не помогло.
В чем может быть проблема?
 
Iptables со всеразрешающими правилами - пропускает?

ИМХО - таки MTU. Какое значение ставил - может недостаточно уменьшил? У меня проблему решило MTU 1482 на роутере
 
В iptables есть модуль, который "выравнивает" разницу MTU.
Просто менять MTU помогает не всегда.
 
Цитата
Jul_i пишет:
Iptables со всеразрешающими правилами - пропускает?
ИМХО - таки MTU. Какое значение ставил - может недостаточно уменьшил? У меня проблему решило MTU 1482 на роутере
Делал меньше, и 100 и 500 и 1000 и 1400. Не помогло. ПО default MTU 1500 для WAN и PPP0

Цитата
Linuxoid-ht пишет:
В iptables есть модуль, который "выравнивает" разницу MTU.
Просто менять MTU помогает не всегда.
Что за модуль? Как называется? И как проверить, подключен ли он?
 
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu -o $VPNFACE(имя интерфейса ppp0 for example)
желательно стартовать после ВПНа и выдирать имя интерфейса по результатам коннекта (заморочка нужна только когда соединение иногда отваливается, и поднимается скриптом, когда соединений много...
хотя можно попробовать чтото вроде ppp+ (имя интерфейса поставить), не пробовал но может прокатит (тогда заморочек не нужно) ;-)
 
Проверь-ка вот этот ключик:
cat /proc/sys/net/ipv4/ip_no_pmtu_disc
И почитай насчёт PMTU Discovery особенно в части туннелей вот тут - http://www.netheaven.com/pmtu.html ну и сам RFC - 1191. Уведомление о необходимости фрагментирования пакетов для уменьшения MTU приходит по протоколу ICMP (тип 3, подтип - 4)
 
Цитата
Linuxoid-ht пишет:                                                                iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu -o $VPNFACE
Помогло, все работает. Спасибо.

Цитата
SOLDIER пишет:
Проверь-ка вот этот ключик:
cat /proc/sys/net/ipv4/ip_no_pmtu_disc
И почитай насчёт PMTU Discovery особенно в части туннелей вот тут - http://www.netheaven.com/pmtu.html ну и сам RFC - 1191. Уведомление о необходимости фрагментирования пакетов для уменьшения MTU приходит по протоколу ICMP (тип 3, подтип - 4)
Проверил, значение ключа 0. А за ссылку спасибо, почитаю.
 
-YaRosh-, и что - в Дженте указанная строка сходу подхватилась? Или всё-таки пришлось пересобирать ядро для поддержки указанного модуля? Обычно подобные модули появляются после патча исходников ядра при помощи POM iptables. Или он таки есть по умолчанию в gentoo-sources? Просто лень смотреть сейчас. ;)
 
Цитата
SOLDIER пишет:
-YaRosh-, и что - в Дженте указанная строка сходу подхватилась? Или всё-таки пришлось пересобирать ядро для поддержки указанного модуля? Обычно подобные модули появляются после патча исходников ядра при помощи POM iptables. Или он таки есть по умолчанию в gentoo-sources? Просто лень смотреть сейчас.
Я использую Gentoo, в стандартном ядре (сорсе) все есть, патчить ничего не надо (только в фильтрах галочки правильно поставить).
 
Цитата
SOLDIER пишет:                                                              -YaRosh-, и что - в Дженте указанная строка сходу подхватилась?
Да сразу. Причем строка указанная в документации ТУТ, не помогла. А написанная Linuxoid-ht сразу все пошло.
Просто нуно прочитать руководство по Iptables, тады проблем, думаю,  не будет.
 
Всем привет.
Господа, может посоветуете, у меня есть роутер, на который приходит интернет. Я при помощи pptpd делаю VPN.
Присоединяюсь клиентом pptp к серверу, все ок. Только вот не открываются некоторые сайты.
Хотя на уровне сервера, который раздает VPN, все работает.
Пробовал менять MTU, некоторые сайты стали открываться (которые раньше не открывались), а некоторые перестали :)
Может посоветуешь какое решение? Проблема, я так понимаю, на уровне роутера.
 
Цитата
Andrew Bialko пишет:
Может посоветуешь какое решение?

Цитата
Linuxoid-ht пишет:
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:1500 -j TCPMSS --clamp-mss-to-pmtu -o $VPNFACE(имя интерфейса ppp0 for example)
Страницы: 1
Читают тему