LinuxForum.Fans
Тема

Недоступны некоторые сайты из локальной сети

Автор: voral 5 сообщений 3131 просмотров
#68514

Собственно проблема в заголовке. Теперь описание всего, что знаю.

Периодически сталкивался с тем, что некоторые сайты с моего компа (раздающего интернет) доступны, а с локальных компов нет. Но сейчас нашелся один админу которого я могу задать нужные вопросы.

Что знаю об сервер с целевым сайтом:
Установлен ngnix на 80 порту + apache на 81. апач слушает только локалхост.

у меня.
Мой комп Debian. соединение VPN ppp0 через eth1
eth1 соединяется с ADSL модемом (но он работает как простой хаб и вайфай точка. фаервол в нем выключен, передача пакетов разорешена во всех направлениях)
В моих iptables я для эксперимента убрал все drop'ы
Маскарадинг настроен.

text
        $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        $IPT -A FORWARD -i $LOCL_IFACE -j ACCEPT
        $IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE
        $IPT -t nat -A POSTROUTING -o $VPN_IFACE -j MASQUERADE
        $IPT -t nat -A POSTROUTING -o $LOCL_IFACE -j MASQUERADE

Прочие компы: есть и Linux и windows (XP и 7), разные браузеры (ie, Opera, FF, safari...), соединение и WiFi и по кабелю. Есть и в virtualBox. Результат при всех компбинациях один и тот же.

Запрашиваю нужный url. Браузер стоит "ожидание ответа"
Данный url (домен 3го уровня) пингуется со всех компов нормально

Прописал в iptables протоколирование всех пактов с этим адресом:

text
$IPT -A FORWARD -s xxx.xxx.xxx.xxx -j LOG --log-prefix "Test f: "
$IPT -A FORWARD -d xxx.xxx.xxx.xxx -j LOG --log-prefix "Test f: "
$IPT -A INPUT -s xxx.xxx.xxx.xxx -j LOG --log-prefix "Test: "
$IPT -A OUTPUT -d xxx.xxx.xxx.xxx -j LOG --log-prefix "Test: "

запрашиваю с локальной сети этот сайт и смотрю dmesg

text
[104597.468861] Test f: IN=eth0 OUT=ppp0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=26936 DF PROTO=TCP SPT=53452 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0 
[104597.496073] Test f: IN=ppp0 OUT=eth0 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=60 TOS=0x00 PREC=0x00 TTL=57 ID=0 DF PROTO=TCP SPT=80 DPT=53452 WINDOW=5792 RES=0x00 ACK SYN URGP=0 
[104597.496308] Test f: IN=eth0 OUT=ppp0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=52 TOS=0x00 PREC=0x00 TTL=63 ID=26937 DF PROTO=TCP SPT=53452 DPT=80 WINDOW=365 RES=0x00 ACK URGP=0 
[104597.496511] Test f: IN=eth0 OUT=ppp0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=453 TOS=0x00 PREC=0x00 TTL=63 ID=26938 DF PROTO=TCP SPT=53452 DPT=80 WINDOW=365 RES=0x00 ACK PSH URGP=0 
[104597.512025] Test f: IN=ppp0 OUT=eth0 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=29461 DF PROTO=TCP SPT=80 DPT=53452 WINDOW=54 RES=0x00 ACK URGP=0

и все... больше ни чего

Вот что пишет в логи про обзщение с нужным адресом iptables на другом компе (в локалке который)

text
[ 8084.351143] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=59590 DF PROTO=TCP SPT=48057 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
[ 8084.352948] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53965 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0
[ 8084.366929] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=60 TOS=0x00 PREC=0x00 TTL=57 ID=0 DF PROTO=TCP SPT=80 DPT=48057 WINDOW=5792 RES=0x00 ACK SYN URGP=0
[ 8084.367058] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=59591 DF PROTO=TCP SPT=48057 DPT=80 WINDOW=365 RES=0x00 ACK URGP=0
 
[ 8084.367301] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=504 TOS=0x00 PREC=0x00 TTL=64 ID=59592 DF PROTO=TCP SPT=48057 DPT=80 WINDOW=365 RES=0x00 ACK PSH URGP=0
[ 8084.382922] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=29262 DF PROTO=TCP SPT=80 DPT=48057 WINDOW=54 RES=0x00 ACK URGP=0
[ 8084.382994] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=747 TOS=0x00 PREC=0x00 TTL=57 ID=29263 DF PROTO=TCP SPT=80 DPT=48057 WINDOW=54 RES=0x00 ACK PSH URGP=0
[ 8084.383036] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=59593 DF PROTO=TCP SPT=48057 DPT=80 WINDOW=452 RES=0x00 ACK URGP=0
 
[ 8084.383079] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=29264 DF PROTO=TCP SPT=80 DPT=48057 WINDOW=54 RES=0x00 ACK FIN URGP=0
[ 8084.386105] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=59594 DF PROTO=TCP SPT=48057 DPT=80 WINDOW=452 RES=0x00 ACK FIN URGP=0
[ 8084.402896] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=29265 DF PROTO=TCP SPT=80 DPT=48057 WINDOW=54 RES=0x00 ACK URGP=0
[ 8084.568106] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53966 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0
 
[ 8085.000296] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53967 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0
[ 8085.864065] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53968 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0
[ 8087.327436] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=24298 DF PROTO=TCP SPT=48058 DPT=80 WINDOW=5840 RES=0x00 SYN URGP=0
[ 8087.346658] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=60 TOS=0x00 PREC=0x00 TTL=57 ID=0 DF PROTO=TCP SPT=80 DPT=48058 WINDOW=5792 RES=0x00 ACK SYN URGP=0
 
[ 8087.346745] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=24299 DF PROTO=TCP SPT=48058 DPT=80 WINDOW=365 RES=0x00 ACK URGP=0
[ 8087.348219] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=523 TOS=0x00 PREC=0x00 TTL=64 ID=24300 DF PROTO=TCP SPT=48058 DPT=80 WINDOW=365 RES=0x00 ACK PSH URGP=0
[ 8087.366417] test2 IN=eth0 OUT= MAC=00:24:22:c7:fc:85:00:1e:c6:32:43:0f:08:04 SRC=xxx.xxx.xxx.xxx DST=192.168.1.4 LEN=52 TOS=0x00 PREC=0x00 TTL=57 ID=36810 DF PROTO=TCP SPT=80 DPT=48058 WINDOW=54 RES=0x00 ACK URGP=0
[ 8087.592110] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53969 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0
[ 8091.048097] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53970 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0
[ 8097.960078] test2 IN= OUT=eth0 SRC=192.168.1.4 DST=xxx.xxx.xxx.xxx LEN=64 TOS=0x00 PREC=0x00 TTL=64 ID=53971 DF PROTO=TCP SPT=48055 DPT=80 WINDOW=546 RES=0x00 ACK FIN URGP=0

Подскажите куда копать?

#68515

Если второй комп подключаю кроссом на прямую к основному ситуация не изменяется.
Если второй комп подключаю "напрямую к провайдеру" сайты становятся доступными

#68518

Очень похожая проблема и её решение — http://www.opennet.ru/base/net/pppoe_mtu.txt.html

Для проверки запустите в консоли указанную ниже команду, если проблема решится, добавьте соответствующее правило

text

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#68519
voral написал:
Если второй комп подключаю кроссом на прямую к основному ситуация не изменяется.
Если второй комп подключаю "напрямую к провайдеру" сайты становятся доступными

Считай, что сам ответил на свой вопрос. Нужно копать в сторону параметров ppp, включая MTU и всё остальное.

#68547
Lupo Alberto написал:
text

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

Огромное спасибо!

Войдите или зарегистрируйтесь, чтобы ответить.