Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Медленно работает сеть, сервак Ubuntu Server 12.04  (Прочитано 3090 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Есть роутер с серверной убунтой 12.04 на борту (самособраный), который раздает инет в локальную сеть через iptables (маскарадинг).
В локальной сети интернет работает на ура.
Проблема на самом серваке: когда делаю к примеру curl,wget GET/POST запросы http://сайт.ком сервер думает где-то секунд 10 перед тем как вывести/скачать страницу.
Такое впечатление, что это лаги dns сервера. Может и в самом деле - перед этим ковырял bind9 (поднят на самом серваке). Но вроде все настройки вернул в исходные.
Пробовал напрямую давать запрос: curl xxx.xxx.xxx.xxx //curl ip сайта - все ок, моментально.
Dns прова проверял на локальном пк - всё ок.
Понимаю, что вопрос возможно требует телепатичиских усилий и все же - может кто сталкивался?
ps. Помню на днях ковырял iptables - может там заминка...

#!/bin/sh
 PATH=/usr/sbin:/sbin:/bin:/usr/bin
# delete all existing rules.
 iptables -F
 iptables -t nat -F
 iptables -t mangle -F
 iptables -X
# Always accept loopback traffic
 iptables -A INPUT -i lo -j ACCEPT
# iptables -I OUTPUT -i eth1 -j MARK --set-mark 1

 echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i eth0 -j DROP
iptables -P FORWARD -j DROP
iptables -t filter -A FORWARD -i eth1 -j DROP

# Allow established connections, and those not coming from the outside
 iptables -A FORWARD -i ppp0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

#Internet sharing
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.ххх.ххх -j MASQUERADE

iptables -I FORWARD -m mac -s 192.168.ххх.ххх --mac ххххххххххх -j ACCEPT

iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j LOG --log-prefix «Stealth»
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP

#Make sure NEW incoming tcp connections are SYN packets; otherwise we need to drop them
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#Drop all NULL packets
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
#Incoming malformed XMAS packets drop them:
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
#Force Fragments packets check
iptables -A INPUT -f -j DROP



Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
time nslookup ya.ru
time nslookup ya.ru 8.8.8.8
sudo iptables-save

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
#time nslookup ya.ru
Server:         xxx.1.1.2
Address:       xxx.1.1.2#53

Non-authoritative answer:
Name:   ya.ru
Address: xxx.88.21.3
Name:   ya.ru
Address: xxx.250.250.3
Name:   ya.ru
Address: xxx.250.250.203
Name:   ya.ru
Address: 87.250.251.3
Name:   ya.ru
Address: 93.158.134.3
Name:   ya.ru
Address: 93.158.134.203
Name:   ya.ru
Address: 213.180.193.3
Name:   ya.ru
Address: 213.180.204.3

real    0m1.023s
user    0m0.008s
sys     0m0.012s

А вот к примеру:

#time curl habrahabr.ru
...
real    0m15.275s
user    0m0.004s
sys     0m0.032s

#time wget habrahabr.ru
...
real    0m15.236s
user    0m0.004s
sys     0m0.012s

#time ping -c 4 rambler.ru
....
real    0m25.151s
user    0m0.004s
sys     0m0.004s

#time ping -c 4 81.19.70.3
...
real    0m3.041s
user    0m0.000s
sys     0m0.000s

« Последнее редактирование: 17 Мая 2013, 14:37:44 от RavAngell »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28487
    • Просмотр профиля
Остальное где?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
[b]time ping -c 4 rambler.ru[/b]
PING rambler.ru (81.19.70.3) 56(84) bytes of data.
64 bytes from rambler.ru (81.19.70.3): icmp_req=1 ttl=57 time=32.0 ms
64 bytes from rambler.ru (81.19.70.3): icmp_req=2 ttl=57 time=32.1 ms
64 bytes from rambler.ru (81.19.70.3): icmp_req=3 ttl=57 time=31.5 ms
64 bytes from rambler.ru (81.19.70.3): icmp_req=4 ttl=57 time=32.1 ms

--- rambler.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 15114ms
rtt min/avg/max/mdev = 31.519/31.990/32.175/0.301 ms

real    0m25.162s
user    0m0.004s
sys     0m0.004s


[b] time ping -c 4 81.19.70.3[/b]
PING 81.19.70.3 (81.19.70.3) 56(84) bytes of data.
64 bytes from 81.19.70.3: icmp_req=1 ttl=57 time=31.5 ms
64 bytes from 81.19.70.3: icmp_req=2 ttl=57 time=32.0 ms
64 bytes from 81.19.70.3: icmp_req=3 ttl=57 time=31.7 ms
64 bytes from 81.19.70.3: icmp_req=4 ttl=57 time=31.9 ms

--- 81.19.70.3 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 31.561/31.821/32.091/0.265 ms

real    0m3.043s
user    0m0.000s
sys     0m0.000s


Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Вы принципиально пишете то что считаете нужным?
Еще раз вас просили
time nslookup ya.ru
time nslookup ya.ru 8.8.8.8
sudo iptables-save
sudo iptables-save
iptables-save
OpenWrt 19.07

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
time nslookup ya.ru
Server:         10.1.1.2
Address:        10.1.1.2#53

Non-authoritative answer:
Name:   ya.ru
Address: 93.158.134.3
Name:   ya.ru
Address: 93.158.134.203
Name:   ya.ru
Address: 213.180.193.3
Name:   ya.ru
Address: 213.180.204.3
Name:   ya.ru
Address: 77.88.21.3
Name:   ya.ru
Address: 87.250.250.3
Name:   ya.ru
Address: 87.250.250.203
Name:   ya.ru
Address: 87.250.251.3


real    0m1.035s
user    0m0.000s
sys     0m0.016s

time nslookup ya.ru 8.8.8.8
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   ya.ru
Address: 213.180.193.3
Name:   ya.ru
Address: 213.180.204.3
Name:   ya.ru
Address: 77.88.21.3
Name:   ya.ru
Address: 87.250.250.3
Name:   ya.ru
Address: 87.250.250.203
Name:   ya.ru
Address: 87.250.251.3
Name:   ya.ru
Address: 93.158.134.3
Name:   ya.ru
Address: 93.158.134.203


real    0m0.065s
user    0m0.004s
sys     0m0.012s

sudo iptables-save
# Generated by iptables-save v1.4.12 on Fri May 17 19:33:54 2013
*mangle
:PREROUTING ACCEPT [9037363:5181024106]
:INPUT ACCEPT [695435:75914422]
:FORWARD ACCEPT [8296453:5100394392]
:OUTPUT ACCEPT [678086:53350326]
:POSTROUTING ACCEPT [8974645:5153749972]
COMMIT
# Completed on Fri May 17 19:33:54 2013
# Generated by iptables-save v1.4.12 on Fri May 17 19:33:54 2013
*nat
:PREROUTING ACCEPT [835140:56800602]
:INPUT ACCEPT [379297:22496966]
:OUTPUT ACCEPT [11225:648411]
:POSTROUTING ACCEPT [6775:397983]

-A POSTROUTING -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.10.4/32 -o eth0 -j MASQUERADE

COMMIT
# Completed on Fri May 17 19:33:54 2013
# Generated by iptables-save v1.4.12 on Fri May 17 19:33:54 2013
*filter
:INPUT ACCEPT [678463:72609883]
:FORWARD ACCEPT [2419:689062]
:OUTPUT ACCEPT [678087:53353174]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j LOG --log-prefix "«Stealth»"
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A INPUT -f -j DROP
-A FORWARD -s 192.168.10.4/32 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT

-A FORWARD -i eth1 -j DROP
-A FORWARD -i ppp0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.10.10/32 -p tcp -m tcp --dport 8080 -j ACCEPT
-A FORWARD -d 192.168.10.10/32 -p tcp -m tcp --dport 4444 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
COMMIT
# Completed on Fri May 17 19:33:54 2013


Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Предлагаю такое правило
sudo iptables -I INPUT 2 -i eth0 -s 10.1.1.2 -j ACCEPT

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Ситуация со скоростью не улучшилась.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Совет напрашивается сам за себя: смените DNS-сервер в системе.

А, кстати: а какой ДНС у нормально работающих клиентов локальной сети?

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Совет напрашивается сам за себя: смените DNS-сервер в системе.
А, кстати: а какой ДНС у нормально работающих клиентов локальной сети?

ДА! Реально заработало. Только теперь, я убрал с /etc/resolv.conf адрес провайдерського днс-са, который был первый в списке. Хотя в этом файле и были также адресса других днс провайдеров, но первым очевидно срабатывал "лажовый" днс прова.
Блин из самого начала было ясно, что днс прова глючит. Только я думал, что достаточно в конец списка добавить другие днс-сы и система автоматически по проходу "какого-то лимита" начнет резолвинг с более быстрым днс сервером.

$cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
#nameserver 172.xxx.xxx.1 // dns прова
nameserver 8.8.8.8
nameserver 208.67.222.222
nameserver 208.67.220.220
search ххх.com.ua

$time curl habrahabr.ru
...
real    0m0.433s
user    0m0.004s
sys     0m0.036s
Но после перезагрузки сервака или смены соединения правки внесенные /etc/resolv.conf пропадут же ("YOUR CHANGES WILL BE OVERWRITTEN").

Теперь вопрос - как сделать так, что бы система не брала dns прова, а только заданные. Чувствую надо править /etc/network/interfaces, который счас:

auto eth0
iface eth0 inet dhcp
dns-nameservers 208.67.222.222 208.67.220.220
hwaddress ether xx:xx:8c:c1:96:xx

Или скрипт простенький набросать. Но может есть более правильный способ?
« Последнее редактирование: 19 Мая 2013, 14:11:15 от RavAngell »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28487
    • Просмотр профиля
Есть более правильный. Вставить пистон провайдеру.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн RavAngell

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Есть более правильный. Вставить пистон провайдеру.
Ну это позже.
А сейчас:
$sudo touch /etc/network/if-up.d/stable_dns
$sudo chmod +x /etc/network/if-up.d/stable_dns
$sudo nano /etc/network/if-up.d/stable_dns

#!/bin/sh
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 208.67.222.222" >> /etc/resolv.conf
echo "nameserver 208.67.220.220" >> /etc/resolv.conf

Потом делаю:
$poff dsl-provider
$pon dsl-provider

А оно мне все же свои dns подсовует:

$cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver ххх.ххх.0.1 // днс прова
nameserver 208.67.222.222
nameserver 208.67.220.220
search ххх.com.ua

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Потом делаю:
$poff dsl-provider
$pon dsl-provider
А оно мне все же свои dns подсовует:
см. /etc/ppp/peers/dsl-provider опцию usepeerdns, оно отвечает за получение адресов DNS по IPCP.
OpenWrt 19.07

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
#!/bin/sh
echo "nameserver 8.8.8.8" > /etc/resolv.conf
echo "nameserver 208.67.222.222" >> /etc/resolv.conf
echo "nameserver 208.67.220.220" >> /etc/resolv.conf
Уберите этот изврат и пропишите DNS в свойствах сетевого подключения.

 

Страница сгенерирована за 0.046 секунд. Запросов: 25.