LINUX.ORG.RU

Сообщения frealy121212

 

GRE Потери пакетов, странное поведение сети

Форум — Admin

Уважаемые форумчане, подскажите кто и что знает. Есть сервер, условно «А» - основной(source), от которого идут все IP на другие сервера, а так же 15 других(destination ip) условно «1,2,3,4» и тд.

Появилась очень странная проблема, которая не поддаётся никакой логике. Появились потери пакетов, именно на IP которые идут в туннель. Например 155.44.33.22 - находится на сервере «А», по GRE идёт в сервер «1» При пинге 155.44.33.22, есть потери примерно 20%. Между серверами «А» и «1», при прямой проверке связи, вообще всё отлично. Но, при проверке пинга внутри туннеля, по локальному адресу например 192.168.0.50, есть потери, от чего потери идут уже и на внешнем адресе.

Что очень интересно, то если проблема появляется, то только в таком виде:

64 bytes from 155.44.33.22: icmp_seq=215 ttl=51 time=61.221 ms
64 bytes from 155.44.33.22: icmp_seq=216 ttl=51 time=54.311 ms
64 bytes from 155.44.33.22: icmp_seq=217 ttl=51 time=49.040 ms
64 bytes from 155.44.33.22: icmp_seq=218 ttl=51 time=51.325 ms
Request timeout for icmp_seq 219
64 bytes from 155.44.33.22: icmp_seq=220 ttl=51 time=49.756 ms
64 bytes from 155.44.33.22: icmp_seq=221 ttl=51 time=53.280 ms
64 bytes from 155.44.33.22: icmp_seq=222 ttl=51 time=52.730 ms
64 bytes from 155.44.33.22: icmp_seq=223 ttl=51 time=52.830 ms
Request timeout for icmp_seq 224
64 bytes from 155.44.33.22: icmp_seq=225 ttl=51 time=54.453 ms
64 bytes from 155.44.33.22: icmp_seq=226 ttl=51 time=51.656 ms
64 bytes from 155.44.33.22: icmp_seq=227 ttl=51 time=53.333 ms
64 bytes from 155.44.33.22: icmp_seq=228 ttl=51 time=52.741 ms
Request timeout for icmp_seq 229
64 bytes from 155.44.33.22: icmp_seq=230 ttl=51 time=51.533 ms
64 bytes from 155.44.33.22: icmp_seq=231 ttl=51 time=59.256 ms
64 bytes from 155.44.33.22: icmp_seq=232 ttl=51 time=50.136 ms
64 bytes from 155.44.33.22: icmp_seq=233 ttl=51 time=53.572 ms
Request timeout for icmp_seq 234
64 bytes from 155.44.33.22: icmp_seq=235 ttl=51 time=51.787 ms
64 bytes from 155.44.33.22: icmp_seq=236 ttl=51 time=51.866 ms
64 bytes from 155.44.33.22: icmp_seq=237 ttl=51 time=51.229 ms
64 bytes from 155.44.33.22: icmp_seq=238 ttl=51 time=50.872 ms
Request timeout for icmp_seq 239

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

64 bytes from 192.168.0.50: icmp_seq=85 ttl=64 time=7.79 ms
64 bytes from 192.168.0.50: icmp_seq=86 ttl=64 time=7.75 ms
64 bytes from 192.168.0.50: icmp_seq=87 ttl=64 time=7.77 ms
64 bytes from 192.168.0.50: icmp_seq=88 ttl=64 time=7.75 ms
64 bytes from 192.168.0.50: icmp_seq=90 ttl=64 time=7.74 ms
64 bytes from 192.168.0.50: icmp_seq=91 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=92 ttl=64 time=7.76 ms
64 bytes from 192.168.0.50: icmp_seq=93 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=95 ttl=64 time=7.95 ms
64 bytes from 192.168.0.50: icmp_seq=96 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=97 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=98 ttl=64 time=7.88 ms
64 bytes from 192.168.0.50: icmp_seq=100 ttl=64 time=7.77 ms
64 bytes from 192.168.0.50: icmp_seq=101 ttl=64 time=7.74 ms
64 bytes from 192.168.0.50: icmp_seq=102 ttl=64 time=7.74 ms
64 bytes from 192.168.0.50: icmp_seq=103 ttl=64 time=7.76 ms
64 bytes from 192.168.0.50: icmp_seq=105 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=106 ttl=64 time=7.75 ms
64 bytes from 192.168.0.50: icmp_seq=107 ttl=64 time=7.76 ms

Каждый 5 пакет, потеря. Буфер сетевой карты увеличил до максимальных значений, в dmesg никаких проблем нет от слова совсем. Правила iptables кристально чисты. Что это может быть и что делать?

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

irqbalance стоит, руками в прерывания не лазил, нагрузка 40-50к pps всего, до 100мб\c, обычно 50. Нагрузка на канал, в моменты потери пинга, падает до 20мб\c, из 40-50, т.е грубо говоря в половину, но не полностью.

забыл уточнить, еще есть bridge интерфейс, на сервере крутится несколько виртуалок через proxmox, а так как основной настроен как «inet manual», то и туннель работает через интерфейс vmbr0 Возможна ли проблема здесь?

 

frealy121212
()

proftpd - docker - права на файлы

Форум — Admin

С наступающим Рождеством!

Пару дней назад решил изучить и перейти на docker контейнеры, всё вроде бы отлично получилось, но возникла одна проблема, это права доступа к файлам. Я не совсем понял до конца как это работает.

docker run я выполняю через sudo -u user (так требуется)

Получается в docker контейнере есть например пользователь с uid 1000 Всё что там запускается, выполняется от него, файлы и папки которые создаются от работы софта, так же от этого юзера. Но, папки я монтировал в контейнер - локальные, которые просто лежат на хостовом сервере в /home/docker и имеют своего ФТП юзера, соответственно с правами юзера.

Получается палка двух концов, либо ФТП юзер ничего менять не сможет, либо docker контейнер даже не запустится в виду отсутствия доступа к папке /home/docker

Пока решением было установить права 777, да действительно работает всё, но опять же, новые файлы которые docker создаёт внутри контейнера, уже под другим юзером в хост сервере (uid 1000). Таким образом права пропадают к новым файлам и папкам, их нужно опять по новому прописывать, ну это костыль редкий.

Собственно образовался вопрос, возможно дать всем папкам владельца, например dock с uid 1000, таким образом он будет совпадать в юзером в контейнерах, а в proftpd создать виртуальных юзеров которые будут работать под этим юзером и редактировать с его правами все файлы, каждый в своей папке?

Если да, как это сделать?

 

frealy121212
()

GRE туннель - OpenVZ virtual network

Форум — Admin

Доброго времени суток.

По порядку, есть сервер А, есть сервер Б.

У сервера А ip адрес - 8.8.8.8 и дополнительный для туннеля 9.9.9.9

У сервера Б ip адрес - 10.10.10.10

Debian 7 везде.

С сервера А на сервер Б, проксируется IP адрес 9.9.9.9 по GRE туннелю, есть интерфейс tun и локальный адрес в туннеле 192.168.0.40 Туннель рабочий и по обращению к 9.9.9.9:22 без всяких правил стучит на сервер Б, всё правильно.

На сервере Б есть контейнеры openvz, с локальным адресом 192.168.3.2, нужно завернуть весь исходящий трафик, через 9.9.9.9, у меня не получается, просто нет сети, работает только через 10.10.10.10(реальный ип)

Так же и со входящим, нужно например 9.9.9.9:2525 что бы вело на локальный адрес openvz 192.168.3.2

Такая махинация работает с обычным адресом сервера 10.10.10.10

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j SNAT --to 10.10.10.10

iptables -t nat -A PREROUTING -p tcp -d 10.10.10.10 --dport 2525 -i eth0 -j DNAT --to-destination 192.168.3.2:22

iptables -t nat -A POSTROUTING -s 192.168.3.2 -o eth0 -j SNAT --to 10.10.10.10

Исходящий трафик работает, входящий по порту так же, как сделать тоже самое но для ip с gre туннеля 9.9.9.9 ?

UP есть небольшие здвиги iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o tun0 -j SNAT --to 9.9.9.9

уже даёт доступ к локальному ip туннеля 192.168.0.40, раньше его не было вообще, хотя почему если я указан внешний ип?)

 ,

frealy121212
()

Как убить процесс с условием

Форум — Development

Привет. Возник вопроса, как отправить свою нужную команду для завершения процесса, если его нагрузка превысит условие, типо если ram > 200 то if (procram > 200) then и тд всего синтаксиса не знаю, так как не знаю как узнать нагрузка процесса по памяти подобным образом и сделать правильную команду) Прошу помочь.

 

frealy121212
()

iptables u32 payload

Форум — General

Возникла проблема, как зафильтровать трафик по payload через iptables Всё что мне подсказали, так это фильтр через u32 Собственно сам дамп https://img-host.org.ua/images/20170313192638dzd.png

по началу пытался так

iptables -A INPUT -p udp --dport 27529 -m string --string 'statusResponse' --algo bm -m limit --limit 10/s --limit-burst 1 -j ACCEPT

iptables -A INPUT -p udp --dport 27529 -m string --string 'statusResponse' --algo bm -j DROP

не помогло.

пытался так

iptables -t raw -I PREROUTING -m u32 --u32 «0x1c&0xffff0000=0x73746174» -p udp --dport 27529 -j DROP

не помогло.

а вот так

iptables -t raw -D PREROUTING -m u32 --u32 «0x1c&0xffffffff=0xffffffff» -p udp --dport 27529 -j DROP

вообще закрыло доступ к порту))

как всё сделать правильно? я не понимаю как здесь уточнить с каких байтов читать и что читать.

 ,

frealy121212
()

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