LINUX.ORG.RU

Сообщения as_lan

 

Иероглифы вместо web страниц (nginx/lighttpd)

Форум — Admin

Заранее извиняюсь за заголовок, не знал как правильно описать

Есть шлюз на Ubuntu 14.04(x86). До недавнего времени в качестве веб-сервера стоял lighttpd. Сейчас уже nginx. Нужны для Rutorrent(веб морда rtorrent) и zabbix.

Со вчерашнего дня началось что-то странное. При попытке открыть веб страницы (не важно rutorrent или морда забикса) вместо страницы появляются иероглифы, или голый html(без стилей и скриптов). Залез в инспектор, и увидел что страницы и скрипты тоже представляют из себя одни иероглифы. Сами по себе все файлы в порядке (зашел на шлюз и убедился что и с файлами и с правами все в порядке). Иероглифами не только все текстовые файлы, но и картинки. В логах все в порядке. Веб сервер отдает, ни на что не ругается.

Сперва думал может с lighttpd что-то случилось, баг может какой-то. Поэтому поставил nginx и настроил его. Был очень удивлен, когда и он точно так же отображал страницы. В его логах тоже все в порядке.

Конфиги с большой вероятностью в порядке. Так как я их несколько месяцев не трогал, если не больше. А проблема появилась вчера. И решение найти не могу.

Единственное что вчера я изменял, это поменял драйвер сетевой карты (с r8169 на r8168). Но сомневаюсь, что драйвер мог на это повлиять.

 ,

as_lan
()

Squid не кэширует некоторые ответы

Форум — Admin

Есть Squid

Squid Cache: Version 3.3.8
Ubuntu
configure options:  '--build=i686-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--datadir=/usr/share/squid3' '--sysconfdir=/etc/squid3' '--mandir=/usr/share/man' '--enable-inline' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-underscores' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid3' '--with-logdir=/var/log/squid3' '--with-pidfile=/var/run/squid3.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--enable-linux-netfilter' 'build_alias=i686-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security'

конфиг

acl localnet src 192.168.1.0/24
acl vpnnet src 10.10.90.0/24
acl block_url url_regex "/etc/squid3/block.list"
http_access allow manager all
http_access deny block_url localnet
http_access deny block_url vpnnet
deny_info block localnet vpnnet
http_access deny !localnet  !vpnnet
http_port 3129 transparent
http_port 3128

cache_dir ufs /var/spool/squidcache 7000 16 256
cache_mem 2000 KB
reload_into_ims on

minimum_object_size 1 KB
maximum_object_size 1000 KB
maximum_object_size_in_memory 500 KB
cache_access_log /var/log/squid3/access.log
cache_store_log /var/log/squid3/store.log
cache_log /var/log/squid3/cache.log
logfile_rotate 5
dns_nameservers  127.0.0.1
cache_swap_low 95
cache_swap_high 99
shutdown_lifetime 2 second
cache_effective_user proxy
cache_effective_group proxy
negative_dns_ttl 1 second
positive_dns_ttl 1 second

refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ 100080 90% 432000 reload-into-ims override-expire ignore-no-cache ignore-no-store ignore-private

Проблема в том, что некоторые ответы сквид не кэширует. Например:

1425971139.205    911 192.168.1.2 TCP_MISS/200 18715 GET http://s009.youpic.su/pictures/ext/4330dee51b2f179062c5d0acf12998e1.jpg - HIER_DIRECT/104.28.0.92 image/jpeg
Заголовок запроса
Host: s009.youpic.su
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Cookie: __cfduid=de45116d89096f426df406be6614601251424329148
DNT: 1
Connection: keep-alive
Заголовок ответа
Accept-Ranges: bytes
CF-Cache-Status: HIT
CF-RAY: 1c4d2c2147e510b1-ORD
Cache-Control: public, max-age=2592000
Connection: keep-alive
Content-Length: 18184
Content-Type: image/jpeg
Date: Tue, 10 Mar 2015 07:05:38 GMT
Etag: "54fc89d5-4708"
Expires: Thu, 09 Apr 2015 07:05:38 GMT
Last-Modified: Sun, 08 Mar 2015 17:41:41 GMT
Server: cloudflare-nginx
Vary: Accept-Encoding
Via: 1.1 XXX.XXX.XXX.XXX (squid/3.3.8)
X-Cache: MISS from XXX.XXX.XXX.XXX
X-Cache-Lookup: MISS from XXX.XXX.XXX.XXX:3128

Вопрос не в экономии трафика, а в том, что на сайтах/форумах многие картинки/скрипты/etc хостяться на медлительных ресурсах, из-за чего страницы долго грузятся. Сквидом хочу отчасти эту проблему решить. Но он зараза не кэширует некоторые вещи. Я так понимаю в заголовке что-то эдакое, из-за чего он все время заново грузит картинку.

 

as_lan
()

Низкий UPLOAD за Nat

Форум — Admin

Поиск результатов не дал. Точнее похожие посты были, но мне не помогли.

Итак. Есть шлюз на Ubuntu 14.04. 3 интерфейса: eth2 интернет (статический ip) и 2 vlan (eth1.10 и eth1.15). Тариф 20mbits/20mbits. Есть виндовые клиенты. Проблемы с аплоадом от виндовых клиентов. Но при этом проблема очень странная.

1. Download из интернета на сам шлюз 20мбит. Upload такой же (проверял на vps'ке iperf'ом)
2. Download на виндовых клиентах тоже нормальный (http, ftp, bittorrent)
3. Проверка онлайн сервисами проверки скорости тоже показывает вроде как 20мбит в обе стороны (download/upload)
3. Запускаю iperf -s -P 0 -i 1 -p 6666 -f на vps, на винде iperf.exe -c xxx.xxx.xxx.xxx -P 1 -i 1 -p 6666 -f k -t 20 -T 1 и скорость upload с винды 1,5-2 мбит. WTF??

Сперва думал провайдер. Но проверка на прямую между vps и моим шлюзом с помощью iperf показала обратное. Потом думал что-то с NAT и самим шлюзом. Но ведь проверка онлайн сервисами показывает что все в порядке (при этом если посмотреть на шлюзе через iptraf то видно, что клиент отдает и получает с нормальными 20мбит)

В iptables стандартный набор. MASQUERADE в nat и DROP по умолчанию на INPUT

Шейпера нет. Программно ничего не мешает (вроде бы).

То ли vlan как-то не так работает, то ли nat чудит. Даже и не знаю куда копать.

 ,

as_lan
()

Cpu load rtorrent

Форум — General

Есть домашний шлюз на AMD E350. Крутится на нем rtorrent 0.9.4. В списке 220 торрентов. Активных из них 10-20. Траффик порядка 40-60мбит/с. Pps 7000-8000. нагрузка на CPU при этом порядка 60-70%. Иногда и больше. Это нормально? Хотелось бы узнать у кого с каким процессором какие показания. Если это нормально, то ладно. Если нет, то может в конфиг пора залезть.

P.S. Шифрование в клиенте через конфиг выключено.

 ,

as_lan
()

Werror=unused-function при сборке

Форум — Development

Собственно есть Centos7. Надо собрать ядро, так как нужен IMQ. Пропатчил. Начинаю сборку и почти сразу получаю

net/core/skbuff.c:155:13: error: 'skb_copy_stored_cb' defined but not used [-Werror=unused-function]
 static void skb_copy_stored_cb(struct sk_buff *new, const struct sk_buff *__old)
             ^
cc1: all warnings being treated as errors
make[2]: *** [net/core/skbuff.o] Error 1
make[1]: *** [net/core] Error 2
make: *** [net] Error 2
make: *** Waiting for unfinished jobs....

Как и где указать, чтоб игнорировались эти ошибки? Пытался добавить --disable-werror в /usr/lib/rpm/macros, ~/.rpmmacros и /usr/lib/rpm/redhat/macros

rpm --eval %configure

выдает

./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu \
        --program-prefix= \
        --disable-dependency-tracking \
        --prefix=/usr \
        --disable-werror \
        --exec-prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/sbin \
        --sysconfdir=/etc \
        --datadir=/usr/share \
        --includedir=/usr/include \
        --libdir=/usr/lib64 \
        --libexecdir=/usr/libexec \
        --localstatedir=/var \
        --sharedstatedir=/var/lib \
        --mandir=/usr/share/man \
        --infodir=/usr/share/info

но все равно сборка спотыкается. Как выключить эту заразу?

 ,

as_lan
()

Openvpn CPU load

Форум — Admin

Есть небольшой домашний шлюз/сервер на AMD E-350. Железка не шибко шустрая, но до поры до времени вполне хватало ее для всех задач. Какое-то время назад сменил провайдера, у которого есть внутрилокальная сеть (или пиринговая). На другом конце города живет знакомый, который так же на этом провайдере. Решил поднять Openvpn туннель. Все бы ничего, но максимум что я добился от этого туннеля - 40мбит/с. Хотя физически есть возможность и до 100мбит/с. Все упирается в мой проц. Одно ядро загружается на 100%. Конфиг сервера

port 32233
proto tcp
dev tun0
ca keys/my.net/ca.crt
cert keys/my.net/home-server.crt
key keys/my.net/home-server.key
dh keys/my.net/dh1024.pem
server 10.10.90.0 255.255.255.0
crl-verify keys/my.net/crl.pem
ifconfig-pool-persist servers/home/logs/ipp.txt
cipher BF-CBC
user nobody
group nogroup
status servers/home/logs/openvpn-status.log
log-append servers/home/logs/openvpn.log
verb 4
mute 20
max-clients 100
keepalive 10 120
client-config-dir /etc/openvpn/servers/home/ccd
persist-key
persist-tun
ccd-exclusive
mode server
push "route 192.168.1.0 255.255.255.0"
topology subnet
script-security 2

Что можно подкрутить, чтоб понизить нагрузку, и выжать еще пару мб/с? (замену процу не предлагать)

UDP пробовал. Разницы нет. Разные шифрования тоже. Разница на уровне погрешности.

as_lan
()

Высокий acpi_idle_do_entry & acpi_safe_halt

Форум — General

Недавно решил через perf посмотреть, что там происходит с домашним шлюзом (для профилактики скажем так). И заметил что в топе маячат acpi_safe_halt и acpi_idle_do_entry. Подозреваю что это из-за ядра, так как собирал поновой с использованием localmodconfig. Что эти строки значит в интернете не нашел. Поэтому не совсем представляю что они могут значить. Конечно можно поставить родное ядро, а потом уже сравнивая config моего и отключая по одному все ненужно найти причину. Но это долго. Поэтому решил спросить, может кто знает что это за acpi_idle_do_entry и acpi_safe_halt. Система Ubuntu 12.04.04. Версия ядра 3.14.5. Вывод первых строк perf

33,97%  [kernel]   [k] acpi_idle_do_entry
 11,91%  [kernel]   [k] acpi_safe_halt
  3,63%  [kernel]   [k] ipt_do_table
  1,22%  [kernel]   [k] menu_select
  0,95%  [kernel]   [k] fib_table_lookup
  0,84%  [kernel]   [k] rtl8169_poll
  0,67%  [kernel]   [k] memcpy
  0,59%  [kernel]   [k] __napi_schedule
  0,54%  [kernel]   [k] ktime_get

as_lan
()

Шейпинг трафика Vlan

Форум — Admin

Итак. Есть скрипт, который генерирует правила шейпера. Есть 2 реальных интерфейса (eth1 - интернет, и eth0 - локалка). Есть 2 виртуальных. Все идущее В eth1 предварительно помещается в imq1. А Все идущее В eth0 предварительно в imq0. А на этих интерфейсах уже шейпиться трафик. Но с недавних пор решили сеть разделить вланами. eth0.10, eth0.15, eth0.20 и т.д. Но как исправить не знаю.

Текущие правила такие

tc qdisc del dev imq0 root
tc qdisc del dev imq1 root
tc qdisc add dev imq0 root handle 1:0 htb
tc class add dev imq0 parent 1:0 classid 1:1 htb rate 100000kbit burst 15k  mtu 1500
tc class add dev imq0 parent 1:1 classid 1:20 htb rate 20000kbit prio 00
tc class add dev imq0 parent 1:20 classid 1:200 htb rate 2000kbit ceil 18000kbit prio 0
tc qdisc add dev imq0 parent 1:200 handle 200 sfq limit 256   quantum 1500
tc class add dev imq0 parent 1:20 classid 1:201 htb rate 2000kbit ceil 18000kbit prio 1
tc qdisc add dev imq0 parent 1:201 handle 201 sfq limit 256   quantum 1500
tc class add dev imq0 parent 1:20 classid 1:202 htb rate 4000kbit ceil 18000kbit prio 2
tc qdisc add dev imq0 parent 1:202 handle 202 sfq limit 256   quantum 1500
tc class add dev imq0 parent 1:20 classid 1:203 htb rate 8000kbit ceil 18000kbit prio 3
tc qdisc add dev imq0 parent 1:203 handle 203 sfq limit 256   quantum 1500
tc class add dev imq0 parent 1:20 classid 1:204 htb rate 3800kbit ceil 18000kbit prio 4
tc qdisc add dev imq0 parent 1:204 handle 204 sfq limit 256   quantum 1500
tc class add dev imq0 parent 1:20 classid 1:205 htb rate 200kbit ceil 18000kbit prio 5
tc qdisc add dev imq0 parent 1:205 handle 205 sfq limit 256   quantum 1500
tc qdisc add dev imq1 root handle 2:0 htb
tc class add dev imq1 parent 2:0 classid 2:1 htb rate 100000kbit burst 15k  mtu 1500
tc class add dev imq1 parent 2:1 classid 2:20 htb rate 20000kbit prio 00
tc class add dev imq1 parent 2:20 classid 2:200 htb rate 2000kbit ceil 18000kbit prio 0
tc qdisc add dev imq1 parent 2:200 handle 200 sfq limit 256   quantum 1500
tc class add dev imq1 parent 2:20 classid 2:201 htb rate 2000kbit ceil 18000kbit prio 1
tc qdisc add dev imq1 parent 2:201 handle 201 sfq limit 256   quantum 1500
tc class add dev imq1 parent 2:20 classid 2:202 htb rate 4000kbit ceil 18000kbit prio 2
tc qdisc add dev imq1 parent 2:202 handle 202 sfq limit 256   quantum 1500
tc class add dev imq1 parent 2:20 classid 2:203 htb rate 8000kbit ceil 18000kbit prio 3
tc qdisc add dev imq1 parent 2:203 handle 203 sfq limit 256   quantum 1500
tc class add dev imq1 parent 2:20 classid 2:204 htb rate 3800kbit ceil 18000kbit prio 4
tc qdisc add dev imq1 parent 2:204 handle 204 sfq limit 256   quantum 1500
tc class add dev imq1 parent 2:20 classid 2:205 htb rate 200kbit ceil 18000kbit prio 5
tc qdisc add dev imq1 parent 2:205 handle 205 sfq limit 256   quantum 1500
tc filter add dev imq0 protocol ip parent 1:0 prio 21 u32  match ip dst 172.20.0.0/20  match ip sport 554 0xffff  flowid 1:201
tc filter add dev imq1 protocol ip parent 2:0 prio 21 u32  match ip src 172.20.0.0/20  match ip dport 554 0xffff  flowid 2:201
tc filter add dev imq0 protocol ip parent 1:0 prio 22 u32  match ip dst 172.20.0.0/20  match ip sport 1755 0xffff  flowid 1:201
tc filter add dev imq1 protocol ip parent 2:0 prio 22 u32  match ip src 172.20.0.0/20  match ip dport 1755 0xffff  flowid 2:201
tc filter add dev imq0 protocol ip parent 1:0 prio 23 u32  match ip dst 172.20.0.0/20  match ip sport 1935 0xffff  flowid 1:201
tc filter add dev imq1 protocol ip parent 2:0 prio 23 u32  match ip src 172.20.0.0/20  match ip dport 1935 0xffff  flowid 2:201
tc filter add dev imq0 protocol ip parent 1:0 prio 24 u32  match ip dst 172.20.0.0/20  match ip sport 5060 0xffff  flowid 1:201
tc filter add dev imq1 protocol ip parent 2:0 prio 24 u32  match ip src 172.20.0.1/20  match ip dport 5060 0xffff  flowid 2:201
tc filter add dev imq0 protocol ip parent 1:0 prio 25 u32  match ip dport 10000 0xffff  flowid 1:202
tc filter add dev imq1 protocol ip parent 2:0 prio 25 u32  match ip sport 10000 0xffff  flowid 2:202
tc filter add dev imq0 protocol ip parent 1:0 prio 26 u32  match ip dport 33459 0xffff  flowid 1:202
tc filter add dev imq1 protocol ip parent 2:0 prio 26 u32  match ip sport 33459 0xffff  flowid 2:202
tc filter add dev imq0 protocol ip parent 1:0 prio 27 u32  match ip dport 32400 0xffff  flowid 1:202
tc filter add dev imq1 protocol ip parent 2:0 prio 27 u32  match ip sport 32400 0xffff  flowid 2:202
tc filter add dev imq0 protocol ip parent 1:0 prio 32 u32  match ip dst 172.20.0.1/20  flowid 1:204
tc filter add dev imq1 protocol ip parent 2:0 prio 32 u32  match ip src 172.20.0.1/20  flowid 2:204
tc filter add dev imq0 protocol ip parent 1:0 prio 33 u32  match u32 0 0  flowid 1:205
tc filter add dev imq1 protocol ip parent 2:0 prio 33 u32  match u32 0 0  flowid 2:205

as_lan
()

Локальный Web chat

Форум — General

В общем нужно в сети поднять простой веб чат, с возможностью созданий комнат ( но можно и без). Без регистрации, то есть вбил тупо любой ник и заходи. Самое близкое что нашел, это ejabberd + candy. Но смог настроить только с авторизацией. Анонимный вход не получилось. Да и прижорливой этот ejabberd. В openvz пока не дал ему 2Gb не захотел запускаться, жалуясь что не хватает ему памяти.

Какие есть готовые решения или рабочие связки?

as_lan
()

Странности с Vlan

Форум — Admin

Есть шлюз. На нем интерфейс в интернет (eth2), интерфейс в сеть (eth1) и пара вланов.

eth1      Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7082677 errors:0 dropped:3727 overruns:0 frame:0
          TX packets:10833270 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1380578597 (1.3 GB)  TX bytes:12236855425 (12.2 GB)

eth2      Link encap:Ethernet  HWaddr 00:30:4f:3e:ca:e8
          inet addr:109.XXX.XXX.XXX  Bcast:109.XXX.XXX.XXX  Mask:255.255.255.192
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9055205 errors:0 dropped:16 overruns:0 frame:0
          TX packets:5550997 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:10418621237 (10.4 GB)  TX bytes:1215560487 (1.2 GB)

eth1.10   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:172.20.0.1  Bcast:172.20.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6216578 errors:0 dropped:13 overruns:0 frame:0
          TX packets:9469128 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1187071065 (1.1 GB)  TX bytes:10381902731 (10.3 GB)

eth1.15   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:192.168.5.1  Bcast:192.168.5.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:341120 errors:0 dropped:0 overruns:0 frame:0
          TX packets:601995 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:32255209 (32.2 MB)  TX bytes:790245786 (790.2 MB)

eth1.20   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:172.20.16.1  Bcast:255.255.255.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18457 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2313 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2901945 (2.9 MB)  TX bytes:188985 (188.9 KB)

eth1.25   Link encap:Ethernet  HWaddr 00:a0:c5:b2:30:43
          inet addr:192.168.25.1  Bcast:192.168.25.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:415287 errors:0 dropped:0 overruns:0 frame:0
          TX packets:759817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:25773093 (25.7 MB)  TX bytes:1018595961 (1.0 GB)

Forward между интерфейсами запрещен

-A FORWARD -i eth1.15 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.15 -j DROP
-A FORWARD -i eth1.25 -o eth1.10 -j DROP
-A FORWARD -i eth1.10 -o eth1.25 -j DROP
-A FORWARD -i eth1.25 -o eth1.15 -j DROP
-A FORWARD -i eth1.15 -o eth1.25 -j DROP

Все нормально работало. Но недавно заметил что пользователь из eth1.10 может пинговать 192.168.25.1 (eth1.15) и 172.20.16.1 (eth1.20), а 192.168.25.1 как и раньше нет. Раньше такого не было. И сейчас это надо закрыть. Но куда копать пока не знаю. iptables чист. маршруты вроде бы тоже.

default via 109.XXX.XXX.XXX dev eth2  metric 100
172.20.0.0/20 dev eth1.10  proto kernel  scope link  src 172.20.0.1
172.20.16.0/24 dev eth1.20  proto kernel  scope link  src 172.20.16.1
192.168.5.0/24 dev eth1.15  proto kernel  scope link  src 192.168.5.1
192.168.25.0/24 dev eth1.25  proto kernel  scope link  src 192.168.25.1

Подскажите где еще копать.

as_lan
()

Высокая загрузка CPU от ksoftirqd kworker

Форум — Admin

Имеем небольшой домашний шлюз на AMD E-350, ubuntu server 12.04. Собственно в последние дни заметил сие.

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    3 root      20   0     0    0    0 R   71  0.0  14:02.70 ksoftirqd/0
 9229 root      20   0     0    0    0 R   19  0.0   2:09.26 kworker/0:0

В htop одно из ядер почти на 90 загружено softirq, другое на половину. Происходит при скачивании из интернета. Вне зависимости, качает сам шлюз или это транзитный трафик. Скорость при уэтом упирается в 20мбит (по тарифу чуть больше).

Ядро свое, с imq и ndpi. Но они непричем, так как ядро почти год использую, а подобное началось пару дней как.

Еще немного информации

 cat /proc/interrupts
           CPU0       CPU1
  0:         36          0    XT-PIC-XT-PIC    timer
  1:          3          0    XT-PIC-XT-PIC    i8042
  2:          0          0    XT-PIC-XT-PIC    cascade
  7:          1          0    XT-PIC-XT-PIC
  8:          1          0    XT-PIC-XT-PIC    rtc0
  9:          0          0    XT-PIC-XT-PIC    acpi
 11:     632948          0    XT-PIC-XT-PIC    ahci, ehci_hcd:usb1, ehci_hcd:usb2, ehci_hcd:usb3, ohci_hcd:usb4, ohci_hcd:usb5, ohci_hcd:usb6, ohci_hcd:usb7
 12:          5          0    XT-PIC-XT-PIC    i8042
 14:          0          0    XT-PIC-XT-PIC    pata_atiixp
 15:          0          0    XT-PIC-XT-PIC    pata_atiixp
 16:    2823315        456   PCI-MSI-edge      eth0
 17:   19289775        179   PCI-MSI-edge      eth1
 18:          0          2   PCI-MSI-edge      radeon
NMI:        786        603   Non-maskable interrupts
LOC:   14373929    2629348   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:        743        560   Performance monitoring interrupts
IWI:          0          0   IRQ work interrupts
RTR:          0          0   APIC ICR read retries
RES:     614603    2987932   Rescheduling interrupts
CAL:        400        618   Function call interrupts
TLB:      22353      18444   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:         42         42   Machine check polls
ERR:          1
MIS:          0
Обработку прерываний на другое ядро перекидывал. Но это только повлияло на то, что теперь другое ядро полностью загружено, второе на половину.
lspci | grep  Ethernet
01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)
04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

в syslog и dmesg ничего подозрительного. Тип соединения pptp (использую accel-ppp)

В интернете решения не нашел. Везде речь о прерываниях, но это итак понятно. Но почему вдруг это возникло и как диагностировать причину - нет информации

as_lan
()

ip rule flush не удаляет все

Форум — Admin

Такая проблема. Создаю таблицу, кидаю в не порядка 1500 правил. Потом делаю ip rule flush, но половина, а иногда и больше правил остается. Приходиться 2-3 раза запускать команду, чтоб удалить все. WTF?

user@server:~# ip rule | wc -l
1753
user@server:~# ip rule flush  &&  ip rule add from all lookup main pref 32766
user@server:~# ip rule | wc -l
1155
user@server:~# ip rule flush  &&  ip rule add from all lookup main pref 32766
user@server:~# ip rule | wc -l
526

as_lan
()

Непонятки с Openvpn и RDP

Форум — Admin

Есть домашний шлюз с openvpn. Есть комп на работе, где стоит openvpn клиент. Подключаю клиент на рабочей машине. Все подключается. Сеть есть. Пытаюсь подключиться с домашнего компа (за шлюзом) к рабочему по rdp и сразу рвется соединение. В логах клиента ничего. В логах сервера

Thu Feb 13 11:51:37 2014 OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Mar 30 2012
Thu Feb 13 11:51:37 2014 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Thu Feb 13 11:51:37 2014 TLS-Auth MTU parms [ L:1558 D:138 EF:38 EB:0 ET:0 EL:0 ]
Thu Feb 13 11:51:37 2014 TUN/TAP device tun0 opened
Thu Feb 13 11:51:37 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Thu Feb 13 11:51:37 2014 /sbin/ifconfig tun0 10.10.90.1 netmask 255.255.255.0 mtu 1500 broadcast 10.10.90.255
Thu Feb 13 11:51:37 2014 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Thu Feb 13 11:51:37 2014 GID set to nogroup
Thu Feb 13 11:51:37 2014 UID set to nobody
Thu Feb 13 11:51:37 2014 UDPv4 link local (bound): [undef]
Thu Feb 13 11:51:37 2014 UDPv4 link remote: [undef]
Thu Feb 13 11:51:37 2014 Initialization Sequence Completed
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Re-using SSL/TLS context
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 LZO compression initialized
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Control Channel MTU parms [ L:1558 D:138 EF:38 EB:0 ET:0 EL:0 ]
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ]
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Local Options hash (VER=V4): '691e95c7'
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Expected Remote Options hash (VER=V4): '66096c33'
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 CRL CHECK OK: /C=RU/ST=RD/L=Max/O=Home/emailAddress=xxx@xxx.ru
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 VERIFY OK: depth=1, /C=RU/ST=RD/L=Max/O=Home/emailAddress=xxx@xxx.ru
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 CRL CHECK OK: /C=RU/ST=RD/L=Max/O=Home/OU=Office/CN=xxx/emailAddress=xxx@xxx.ru
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 VERIFY OK: depth=0, /C=RU/ST=RD/L=Max/O=Home/OU=Office/CN=aslan/emailAddress=xxx@xxx.ru
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Data Channel Encrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Data Channel Decrypt: Cipher 'AES-128-CBC' initialized with 128 bit key
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 1024 bit RSA
Thu Feb 13 11:58:44 2014 xxx.xxx.xxx.xxx:61696 [aslan] Peer Connection Initiated with [AF_INET]xxx.xxx.xxx.xxx:61696
Thu Feb 13 11:58:46 2014 aslan/xxx.xxx.xxx.xxx:61696 send_push_reply(): safe_cap=960
Thu Feb 13 12:00:12 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:13 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:13 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:13 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:13 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:14 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:15 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:15 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:16 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:17 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:20 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:24 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)
Thu Feb 13 12:00:34 2014 read UDPv4 [ECONNREFUSED]: Connection refused (code=111)

Конфиг сервера

port 33459
proto udp
dev tun0
ca keys/my.net/ca.crt
cert keys/my.net/home-server.crt
key keys/my.net/home-server.key
dh keys/my.net/dh1024.pem
server 10.10.90.0 255.255.255.0
crl-verify keys/my.net/crl.pem
cipher AES-128-CBC
user nobody
group nogroup
status servers/home/logs/openvpn-status.log
log-append servers/home/logs/openvpn.log
verb 2
mute 20
max-clients 100
keepalive 10 120
client-config-dir /etc/openvpn/servers/home/ccd
comp-lzo
persist-key
persist-tun
ccd-exclusive
mode server
push "route 192.168.1.0 255.255.255.0"
topology subnet

Конфиг клиента

client
proto udp
dev tun
ca ca.crt
dh dh1024.pem
cert aslan.crt
key aslan.key
remote xxx.xxx.xxx.xxx 33459
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

При этом с рабочего компа могу заходить на домашний, да и в общем сетка работает. Но вот зайти с домашнего на рабочий не получается. Система ubuntu 12.04.

Причины [ECONNREFUSED]: Connection refused (code=111) так и не могу понять. Все способы предлагаемые гуглом (проверить фаервол на сервере и клиенте, проверить системное время на обоих концах, адаптер) пробовал. Безрезультатно.

as_lan
()

ipp2p не маркирует часть трафика.

Форум — Admin

Добрый день всем. занялся на досуге настройкой шейпера. На шлюзе постоянно работает p2p клиент, и как бы временами мешал, забирая весь трафик. Так вот, решил все это дело маркировать с помощью модуля ipp2p. Собрал, установил, правила настроил. И вроде бы первые минуты все отлично, трафик детектирует, метки ставит, а дальше tc делает свое дело. Но по прошествии времени замечаю что часть трафика (в среднем от 5% до 15%) не маркируется. Правила сделал согласно ману

iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark
iptables -t mangle -A POSTROUTING -m mark ! --mark 0 -j ACCEPT
iptables -t mangle -A POSTROUTING -m ipp2p --bit -j MARK --set-mark 24
iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark

И смотрим

 shorewall show connections | grep  mark=0 | grep -v 127.0.0.1 | grep src=мой_внешний_ip | grep -v UNREPLIED | grep 5005

Через пару минут вывод начинает увеличиваться. (5005 это порт который случает торрент клиент).

Если добавить правило, при котором назначаются метки всем пакетам от пользователя UNIX от которого запущен торрент клиент

 iptables -t mangle -A POSTROUTING -m owner --uid-owner 10001 -j MARK --set-mark 24

То все нормально, все попадает в очередь. Но так делать не хочется (сделал бы по pid процесса, но это вырезали из iptables, а аналог не нашел)

Что не так? И Почему сперва пакеты метит хорошо, а спустя время часть пропускает?

PS. C входящим трафиком проблем нет (тот что в PREROUTING попадает). А вот с исходящим непонятки

 ipp2p, , , ,

as_lan
()

Kernel panic на новом ядре

Форум — Admin

People i need help!

Есть шлюз на Centos 5. Появилась необходимость в таких вещах как layer7 и imq. Естественно пришлось патчить новое ядро, 2.6.26. но он зараза не хочет загружаться. При попытке его загрузить - kernel panic. Найденные на просторах тырнета способы не помогли.

Полный лог сообщения:

 
Creating root device
Mounting root filesystem
mount: error mounting /dev/root on /sysroot as ext4: No such device
Setting up other filesystem
Setting up new root fs
setuproot: moving /dev failed: No such file or directory
no fstab.sys, mouting internal defaults
setuproot: error mouting /proc: No such file or directory
setuproot: error mouting /sys: No such file or directory

<...bla bla bla...>

Kernel panic - not syncing: Attempted to kill init!

fstab

/dev/sda3       /       ext4    defaults        0       1
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
LABEL=SWAP-sda2         swap                    swap    defaults        0 0
/dev/sda1  /boot  ext3  defaults  0  0
/dev/repos/1  /repos  ext3  defaults  0  0
/dev/sdb1  /backup  ext4  defaults  0  2

grub.conf

default 0
timeout 5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
fallback 0
title CentOS (2.6.18-164.15.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.15.1.el5 ro root=LABEL=/
        initrd /initrd-2.6.18-164.15.1.el5.img
title CentOS (2.6.18-164.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/
        initrd /initrd-2.6.18-164.el5.img
title CentOS (2.6.26)
        root (hd0,0)
        kernel /vmlinuz-2.6.26 panic=5 ro root=/dev/sda3
        initrd /initrd-2.6.26.img

Grub и fstab специально исправил (на root=/dev/sda3), думал может по метке не находит раздел. Бесполезно. Понимаю что проблема с монтированием корневого. Но уже не соображает мозг. Ситуация сложна еще тем, что только не в рабочее время могу проверять возможность загрузки.

Хелп ми пипл.

as_lan
()

Блокировка альтернативных DNS провайдеом

Форум — Admin

Итак феерия началась, и местный, очень «послушный» провайдер подчинился «рекомендациям» местных же «властей». Все благодаря известному видеоролику на нашем любом ютьюбе. Первое время все было на довольно примитивном уровне. Провайдер на своем локальном DNS сервере просто сделал перенаправление, чтоб при попытке зайти на youtube перекидывало на его же страничку с информацией о блокировке. Но все очень быстро пронюхали что достаточно прописать в ручную альтернативные DNS и «о чудо, все работает». но у местной аудитории длинный язык и желание распустить хвост, поэтому на форуме каждый кому не лень кричал какой он «хакер» и у него все работает с помощью этой не хитрой операции. Так вот, видимо люди наделенные властью, погонами и корочкой ему недвусмысленно дали понять что надо что-то делать, и он нашел выход. Прикрыл полностью альтернативные DNS (каким именно образом я пока не знаю, так как не своих апартаментах, и не могу дать больше информации, но связь с домашним ПК потерял (а у меня именно гугловские только и были прописаны DNS)). Конечно есть несколько выходом из данной ситуации. 1. Платный VPN 2. Openvpn с человеком, у которого все открыто и гонять DNS запросы через него. 3. Сменить провайдера (благо для меня в данный момент это не проблема). 4. Может еще пару костылей, сейчас не вспомню все.

Так вот, уважаемая аудитория, какие еще выходы могут быть. Я так понимаю что он либо прикрыл 53 порт дальше себя полностью, либо просто прикрыл известные DNS сервера по ip.

 блокировка dns, , ,

as_lan
()

RSS подписка на новые темы