HTTP не проходит [SOLVED]
Решилось: в железном модеме в админке обнаружилось ограничение трафика, по типу Web Servers, выкинул, стали пускать изнутри наружу.
=====
Странная проблема. В локалке комп с генту, выход в инет через железный ADSL-модем DLINK-504T, работающий в режиме роутера.
С гентушного компа (далее - сервер) пингуется все что угодно во внешнем инете. На нем работает пакет djbdns, который раздает пользователям внутри ДНС-информацию. С сервера вполне успешно делается обновление дерева портеджей (rsync). А вот по хттп получить что-либо не получается.
wdglinux ~ # ping google.com
PING google.com (72.14.207.99) 56(84) bytes of data.
From 192.168.0.201 icmp_seq=14 Destination Host Unreachable
From 192.168.0.200 icmp_seq=15 Destination Net Unreachable
64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=18 ttl=234 time=185 ms
64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=19 ttl=234 time=184 ms
64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=20 ttl=234 time=185 ms
64 bytes from eh-in-f99.google.com (72.14.207.99): icmp_seq=21 ttl=234 time=185 ms--- google.com ping statistics ---
21 packets transmitted, 4 received, +2 errors, 80% packet loss, time 29005ms
rtt min/avg/max/mdev = 184.715/185.264/185.913/0.607 ms
wdglinux ~ # wget http://google.com
--16:44:47-- http://google.com/
=> `index.html'
Resolving google.com... 64.233.167.99, 64.233.187.99, 72.14.207.99
Connecting to google.com|64.233.167.99|:80... failed: Connection timed out.
Connecting to google.com|64.233.187.99|:80... failed: Connection timed out.
Connecting to google.com|72.14.207.99|:80...
Вот таблица маршрутов
wdglinux ~ # route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.0.200 0.0.0.0 UG 0 0 0 eth0
Iptables нету вообще. Железный модем также никаким фаерволом исходящий трафик не закрывает. Другие компы из той же локалки нормально пользуются инетом.
Проблема даже не столько странная, сколько неприятная - если нет хттп, то ничего установить по emerge не получается в нормальном режиме.
Догадка откуда такая проблема взялась есть, но это не более чем догадка, и непонятно что с ней делать.
192.168.0.200 - шлюз в инет, там нелимитированный трафик. Есть еще шлюз 192.168.0.99, он быстрее, но трафик лимитированный. Они от разных провайдеров. В список forward-ip для dnscache, который работает ДНС кэшом для пользователей из локалки я добавил 127.0.0.1 (там tinydns, он обслуживает домен .local), 2 ДНС-сервера провайдера, от которого анлим, и 2-ДНС сервера провайдера, предоставляющего быстрый инет. Мысль была такая, что если анлим отвалится по вине провайдера, то пользователи все равно будут получать ДНС-ответы от ДНС-серверов другого провайдера. Чтобы не было проблем с доступом к ДНС-сервера второго провайдера, я добавил правила для доступа к ДНСам второго провайдера.
route add -host. Тогда таблица маршрутов выглядела так:
195.234.220.8 192.168.0.99 255.255.255.255 UGH 0 0 0 eth0
195.234.220.9 192.168.0.99 255.255.255.255 UGH 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.0.200 0.0.0.0 UG 0 0 0 eth0
Потом я убрал два верхних маршрута, но ситацию это не изменило.
Вот еще до кучи настройка eth0
wdglinux ~ # ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0E:2E:31:16:26
inet addr:192.168.0.201 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:fe31:1626/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20505833 errors:308 dropped:404 overruns:24 frame:0
TX packets:7956067 errors:0 dropped:0 overruns:1 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2748400051 (2621.0 Mb) TX bytes:524166589 (499.8 Mb)
Interrupt:11 Base address:0x6000
Подскажите пожалуйста кто-нибудь что-нибудь по теме.
- Для комментирования войдите или зарегистрируйтесь
Возможно
Возможно проблема с path-mtu. Попробуйте добавить правило
iptables -A OUTPUT -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Ещё не плохо бы увидеть вывод tcpdump во время запросов по http
tcpdump -i eth0 -n
tcpdump -i eth0 -n . выполнялась wget
параллельно
содержимое tump.tcpr