Проблемы с маскардингом (iptables) (не открываются некоторые сайты)

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

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

Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Проблемы с маскардингом (iptables)

Сообщение Mr Y »

Имеется шлюз (Debian 4.0r3) со следующими сетевыми интерфейсами:
соединение ppp0 с провайдером;
интерфейс eth1 - 192.168.89.0/24, внутреня сеть, адрес шлюза 192.168.89.1;
192.168.81.0/24 - диапозон адресов VPN-клиентов из другой сети eth0.

Доступ к Инернет (ppp0) и локальной сети (eth0) настроен через NAT:

Код: Выделить всё

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  0    --  192.168.80.0/20      0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

также в /proc/sys/net/ipv4/ip_forward установлена "1" и в /etc/ppp/ip-up прописана строчка

Код: Выделить всё

ip link set dev $1 mtu 1500

Все работает, за исключением того, что у пользователей внутренней сети 192.168.89.0/24 не открваются некоторые сайты (rbc.ru, microsoft.com), хотя они пингуются.
Спасибо сказали:
Аватара пользователя
Siras
Сообщения: 54
ОС: Gentoo

Re: Проблемы с маскардингом (iptables)

Сообщение Siras »

понижать mtu пробовали?
Спасибо сказали:
alternativshik
Сообщения: 154
ОС: Debian Lenny/Sid

Re: Проблемы с маскардингом (iptables)

Сообщение alternativshik »

Mr Y писал(а):
10.10.2008 16:31
Все работает, за исключением того, что у пользователей внутренней сети 192.168.89.0/24 не открваются некоторые сайты (rbc.ru, microsoft.com), хотя они пингуются.

А что пишут браузеры, когда не открываются сайты???
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: Проблемы с маскардингом (iptables)

Сообщение Mr Y »

alternativshik писал(а):
10.10.2008 16:46
Mr Y писал(а):
10.10.2008 16:31
Все работает, за исключением того, что у пользователей внутренней сети 192.168.89.0/24 не открваются некоторые сайты (rbc.ru, microsoft.com), хотя они пингуются.

А что пишут браузеры, когда не открываются сайты???

Ничего. Просто очень долго пытаются открыть, а потом выдают ошибку по таймауту.
Спасибо сказали:
tvremtoh
Сообщения: 29

Re: Проблемы с маскардингом (iptables)

Сообщение tvremtoh »

Да это мистика какято должно усе работать как часы MTU тут не поможет
Спасибо сказали:
Аватара пользователя
T-90
Сообщения: 69

Re: Проблемы с маскардингом (iptables)

Сообщение T-90 »

попробуй

Код: Выделить всё

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Танки как Камазы и Панки - грязи не боятся!!!
Gentoo & Slackware
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: Проблемы с маскардингом (iptables)

Сообщение Mr Y »

T-90 писал(а):
12.10.2008 22:59
попробуй

Код: Выделить всё

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Не помогает. Возможно проблема в том, что все клиенты работают под Windows Vista. Попытаюсь проверить на других системах.
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: Проблемы с маскардингом (iptables)

Сообщение Mr Y »

Все оказалось сложнее, чем я думал сначала. Помогла статья с Opennet.
Доступ по VPN был настроен раньше, чем eth1, и при его настройке подобную проблему решил просто повышением их MTU до МАКСИМУМА - 1500 (чего мелочиться-то?). На самом деле, должно было хватить 1492. При этом прописал команду повышения в /etc/ppp/ip-up, и MTU менялся во всех соединениях, в том числе, с провайдером. В этом-то и была проблема.
Одна команда

Код: Выделить всё

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

решает все эти проблемы сразу. Похоже, это самое лучшее решение.

Заодно извлек два урока:
1) Вывод ifconfig приложить к теме - не излишество.
2) Не до конца (или криво) решенная проблема - не решенная проблема.
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Спасибо Mr Y - пока не разобрался что это за шаманство

Код: Выделить всё

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

но, реально помогло.
раньше на 1й машине мейл.ру не открывался. а теперь все ок))
надо будет iptables почитать на досуге. вникнуть что это за волшебная строчка)
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Хмм.. Такая ситуёвина - запустил нат вот этим скриптом и вроде все работает, но не хочет заходить на
http://ibank.ukrsibbank.com
хотя на ukrsibbank.com - без проблемм..
что это может быть?)

Код: Выделить всё

#!/bin/bash
fw="/usr/sbin/iptables"

/sbin/depmod -a

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/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_MASQUERADE
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

echo "1" > /proc/sys/net/ipv4/ip_forward

$fw -P INPUT ACCEPT
$fw -P FORWARD ACCEPT
$fw -P OUTPUT ACCEPT
$fw -t nat -P PREROUTING ACCEPT
$fw -t nat -P POSTROUTING ACCEPT
$fw -t nat -P OUTPUT ACCEPT
$fw -t mangle -P PREROUTING ACCEPT
$fw -t mangle -P OUTPUT ACCEPT
$fw -F
$fw -t nat -F
$fw -t mangle -F
$fw -t nat -X
$fw -t mangle -X

$fw -t filter -A FORWARD -p tcp -s 192.168.102.0/24 -j ACCEPT
$fw -t filter -A FORWARD -p tcp -d 192.168.102.0/24 -j ACCEPT
$fw -t nat -A POSTROUTING -j MASQUERADE
$fw -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


сразу оговорюсь, что увеличение mtu результата не дает...
а когда захожу через proxy то все путем...
я так понимаю, что это в iptables где-то нет разрешение на Secure
*ушел гуглить этого зверя
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Короче -такая тема:
Прокся может подгрузить этот ресурс (http://ibank.ukrsibbank.com) только до тех пор, пока в настройках соединения у клиента не убрать адрес прокси из

Код: Выделить всё

Secure 192.168.111.1:3128

А раз при NAT попытке достучаться до этого сайта коннекта нет, то я так понял, что где-то в скрипте (постом выше) надо этот Secure, а скорее наверное его порт или что-то такое прописать.
Погуглил - максимум находит Secure-server. Это не совсем то, что мне нужно...
Вопрос: что делать, или куда искать?)
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Проблемы с маскардингом (iptables)

Сообщение skor »

Конфиг проски покажите...
И не путайте NAT с HTTP-прокси.
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Вот конфиг прокси.
Там просто все по дефолту, кроме

Код: Выделить всё

/etc/squid/squid.conf в разделе ACCESS CONTROLS две строчки:
acl all src 192.168.1.2-192.168.1.100
http_access allow all
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Блин, мистика... Спасайте человека, плз))))

Короче, проверил все еще раз...

Вот iptables:

Код: Выделить всё

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  192.168.102.0/24     anywhere
ACCEPT     tcp  --  anywhere             192.168.102.0/24
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination


Инет с локальных машин работает.
Если зайти к примеру на mail.ru - все ок.
А если на http://news.mail.ru/ - гаплык...

также и ukrsibbank.com - работает
а ibank.ukrsibbank.com - нет.

Что делать - всю сеть перерыл, везде, где встречаются подобные вопросы внятных ответов нет((
Говорят, что либо DNS надо на локальной машине писать такой как адрес внешней карточки сервера, либо днс провайдера - не помогает ессна..
Или говорят с mtu играться - все тоже...

Вокруг один сплошной облом... Что делать?)) Есть же люди у которых нат шуршит.. Откликнитесь, плз))

Зы, как уже говорил - с прокси все работает на ура((
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: Проблемы с маскардингом (iptables)

Сообщение Mr Y »

Ztux писал(а):
14.10.2008 16:43

Код: Выделить всё

$fw -t filter -A FORWARD -p tcp -s 192.168.102.0/24 -j ACCEPT
$fw -t filter -A FORWARD -p tcp -d 192.168.102.0/24 -j ACCEPT

[code]iptables -L
ACCEPT tcp -- 192.168.102.0/24 anywhere
ACCEPT tcp -- anywhere 192.168.102.0/24

Зачем Вы прописали эти две строчки? По-моему, iptables ищет по порядку в таблице подходящее правило и действует согласно нему, остальные правила он просто игнорирует.
Говорят, что либо DNS надо на локальной машине писать такой как адрес внешней карточки сервера, либо днс провайдера - не помогает ессна..

Попробуйте проверить работу DNS с помощью ping.
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Ненене))

ДНС работает - поднят на сервере.

Код: Выделить всё

ACCEPT tcp -- 192.168.102.0/24 anywhere
ACCEPT tcp -- anywhere 192.168.102.0/24

прописан для того, чтоб из других сетей не повадно было))
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: Проблемы с маскардингом (iptables)

Сообщение Mr Y »

Ztux писал(а):
15.10.2008 11:12

Код: Выделить всё

ACCEPT tcp -- 192.168.102.0/24 anywhere
ACCEPT tcp -- anywhere 192.168.102.0/24

прописан для того, чтоб из других сетей не повадно было))

Тогда уж лучше
$fw -t nat -A POSTROUTING -s 192.168.102/24 -j MASQUERADE
А в FORWARD оставить только строчку с MSS
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

MR Y, золотой ты мой человек, спасибо тебе огромное :) )))
Значит таким вот макаром удалось добиться того, что открываются все ресурсы:

Код: Выделить всё

echo "1" > /proc/sys/net/ipv4/ip_forward

$fw -P INPUT ACCEPT
$fw -P FORWARD ACCEPT
$fw -P OUTPUT ACCEPT
$fw -t nat -P PREROUTING ACCEPT
$fw -t nat -P POSTROUTING ACCEPT
$fw -t nat -P OUTPUT ACCEPT
$fw -t mangle -P PREROUTING ACCEPT
$fw -t mangle -P OUTPUT ACCEPT
$fw -F

$fw -t nat -X
$fw -t mangle -X


$fw -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$fw -t nat -A POSTROUTING -s 192.168.102/24 -j MASQUERADE


только сейчас ip локального пк видно из сети...
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Аватара пользователя
Ztux
Сообщения: 50
ОС: OpenSuse11

Re: Проблемы с маскардингом (iptables)

Сообщение Ztux »

Блин, что за фигня - короче, все работает даже после iptabless -F
:frusty:
блин... у меня стартует днс, но локальные получают адрес днс сервера провайдера...
крыша едет не спеша... :locomotive:
Твоюж мать.. (с)Эрик Картмен
Спасибо сказали:
Mr Y
Сообщения: 244
ОС: Windows XP, Ubuntu, openSUSE

Re: Проблемы с маскардингом (iptables)

Сообщение Mr Y »

Mr Y писал(а):
13.10.2008 14:25
Одна команда

Код: Выделить всё

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

решает все эти проблемы сразу.

Похоже, ошибся, не решает. Проблемы решились только частично. При это весьма странно. Если на шлюзе работае ядро версии 2.6.27, то у клиентов открываются все сайты, но иногда сбои. С ядром 2.6.18 (дебиановском, но собственной конфигурации) такие глючи случаются часто. Сейчас слежу за установкой mss с помощью tcpdump - надеюсь разобраться.
Спасибо сказали: