LINUX.ORG.RU

Избранные сообщения KosmiK

Systemd, fsck и игнорирование необходимости ребута

Форум — Admin

http://pastebin.com/sZy2HEu4
Собтвенно проблема!

май 31 08:28:03 localhost systemd-fsck[1542]: Pass 2: Checking directory structure
май 31 08:28:04 localhost systemd-fsck[1542]: Illegal inode number passed to ext2fs_test_inode_bitmap #4228968112 for in-use inode map
май 31 08:28:04 localhost systemd-fsck[1542]: Entry '.' in /usr/portage/media-radio/tlf (2892679) is a link to '.' Clear? yes
май 31 08:28:04 localhost systemd-fsck[1542]: Entry '..' in /usr/portage/media-radio/tlf (2892679) is duplicate '..' entry.
***
***
***
май 31 08:28:04 localhost systemd-fsck[1542]: Connect to /lost+found? yes
май 31 08:28:04 localhost systemd-fsck[1542]: Inode 2892723 ref count is 2, should be 1. Fix? yes
май 31 08:28:04 localhost systemd-fsck[1542]: Pass 5: Checking group summary information
май 31 08:28:04 localhost systemd-fsck[1542]: ssd-root: ***** FILE SYSTEM WAS MODIFIED *****
май 31 08:28:04 localhost systemd-fsck[1542]: ssd-root: ***** REBOOT LINUX *****
май 31 08:28:04 localhost systemd-fsck[1542]: ssd-root: 535562/3358720 files (0.1% non-contiguous), 5176341/13425664 blocks
май 31 08:28:04 localhost systemd-fsck[1542]: fsck failed with error code 3.
май 31 08:28:04 localhost systemd-fsck[1542]: Running request reboot.target/start/replace
май 31 08:28:04 localhost systemd[1]: systemd-fsck-root.service: Main process exited, code=exited, status=1/FAILURE
май 31 08:28:04 localhost systemd[1]: Failed to start File System Check on Root Device.
май 31 08:28:04 localhost systemd[1]: systemd-fsck-root.service: Unit entered failed state.
май 31 08:28:04 localhost systemd[1]: systemd-fsck-root.service: Failed with result 'exit-code'.
май 31 08:28:04 localhost systemd[1]: Stopped target Reboot.
май 31 08:28:04 localhost systemd[1]: Stopped Reboot.
май 31 08:28:04 localhost systemd[1]: Stopped target Shutdown.
май 31 08:28:04 localhost systemd[1]: Created slice system-systemd\x2dfsck.slice.
май 31 08:28:04 localhost systemd[1]: Starting File System Check on Root Device...
май 31 08:28:04 localhost systemd[1]: Started Setup Virtual Console.
май 31 08:28:04 localhost systemd[1]: Stopped target Unmount All Filesystems.
май 31 08:28:04 localhost systemd[1]: Activated swap /dev/disk/by-label/ssd-swap.
май 31 08:28:04 localhost systemd[1]: Started Load Kernel Modules.

И когда я вижу, что хомяк.сервак не пробутался (нет инета на дом. тачке) - я подключаю монитор и вижу, что «НеНужно» ТУПО нихрена не делает. Но на три-пальца реагирует мгновенно.
Собственно, как это корявой поц-тер-ринг дряни Сказать ДОЖДАТЬСЯ или если НУЖНО - сделать ребут, а не послать меня нахер втихую, ничего не делая.

(если че - в груб.конфе поставил fsck.mode=force fsck.repair=yes чтобы не видеть Проклятый emergency mode, до сгорит в аду его программер)х\
Правда есть одно но. из-за все тех же косяков в мозге поцтера, я не мог нормально пробутаться, чтобы часть сервисов не ловила interface not found (НУ НЕТ возможности сказать всем сетевым сервисам wait-for-online ДЛЯ всех eth). Посему тот же fail2ban у меня через /etc/local.d стартует с 40сек задержкой. МОгло ли НЕНУЖНО ждать его старта, чтобы потом потушить?
И еще вопрос - Какого Хрена это дерьмо ВООБЩЕ чтото стало запускать, если fsck зафейлило/зареквестило ребут?
И Самое главное - судя по Логам - fsck Запускается не однократно. тоестть на экране - все замерло, НО на самом деле бут вроде продолжился и fsck Тодо еще раз запустилось, и так далее

 , ,

KosmiK
()

Проблема с прозрачным сервером squid3.3.8

Форум — Admin

Здравствуйте, есть вопрос касающийся настройки squid:

Поднимаю прокси через туннелирование ipv4->ipv6 по портам, когда проверяю прокси в сервисах, то вижу, что любые сайты также палят ipv4 адрес сервера: http://prntscr.com/b8iew0

Но есть другие прокси, не мои, в этих проксях не палится ipv4: http://prntscr.com/b8idu1. Как это осуществлено? Что нужно прописать/убрать в squid.conf, вот мой файл squid.conf на баше:

echo #Указать свою подсеть
echo acl localnet src 185.118.67.64/27
echo acl localnet src 127.0.0.1/32


echo #Описываем максимальное количество файловых дескрипторов
echo max_filedesc 100000

echo #----------
echo acl SSL_ports port 443
echo acl Safe_ports port 80             # http
echo acl Safe_ports port 21             # ftp
echo acl Safe_ports port 443            # https
echo acl Safe_ports port 70             # gopher
echo acl Safe_ports port 210            # wais
echo acl Safe_ports port 1025-65535     # unregistered ports
echo acl Safe_ports port 280            # http-mgmt
echo acl Safe_ports port 488            # gss-http
echo acl Safe_ports port 591            # filemaker
echo acl Safe_ports port 777            # multiling http
echo acl CONNECT method CONNECT

echo #-----------
echo #доступ к прокси с адресов:
echo acl doallow src 8.8.8.8/32

echo #включаем авторизацию по паролю
echo #auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/internet_users
echo auth_param basic children 5
echo auth_param basic realm =My HTTP proxy=
echo #таймаут 2 часа, после снова запросит пароль
echo auth_param basic credentialsttl 3600 hours
echo #для пользователей за пределеами локальной сети авторизация обязательна
echo #acl internet_users proxy_auth REQUIRED

echo #-----------
echo # правила фаервола
echo http_access deny !Safe_ports
echo http_access deny CONNECT !SSL_ports
echo http_access allow doallow localnet
echo #добавляем доступ авторизованным внешним юзерам
echo #http_access allow internet_users
echo http_access allow all

echo #---------------------------------------------------
echo #---------------------------------------------------
echo # здесь настраиваем перенаправление портов из IPv4 в IPv6
echo #---------------------------------------------------
echo #       --------=== Ipv4 в IPv6 ====-------
echo #---------------------------------------------------
echo #---
echo ## присвоение имени для  портов

## вывод http_port
ip_addr=185.118.67.87
port=4001

for port in `seq 4001 24000`; do
        echo "http_port $ip_addr:$port name=p$port"
         ((port+=1))
        done

## designate acl based on inbound connection name
ip_addr=185.118.67.87
port=4001

for port in `seq 4001 24000`; do
        echo "acl a$port myportname p$port"
        ((port+=1))
        done


echo ## определение исходящих IPv6 для каждого пользователя
echo ## Менять адреса ТУТ

port=4001
num=60000

for ip_addr_v6 in `cat ip.list`; do
    echo "tcp_outgoing_address $ip_addr_v6 a$port"
    ((port+=1))
    done


echo #---

echo #Здесь пути к директориям кэша
echo cache_access_log /var/log/squid/access.log
echo cache_log /var/log/squid/cache.log
echo #---------------------
echo #---------------------
echo # Установка директории кэша и его настройка
echo cache_dir ufs /usr/local/squid/cache 100 16 256
echo minimum_object_size 2 KB
echo maximum_object_size 61440 KB
echo coredump_dir /usr/local/squid/cache

echo #----------
echo refresh_pattern ^ftp:              1440    20%     10080
echo 'refresh_pattern ^gopher:  1440    0%      1440'
echo 'refresh_pattern -i (/cgi-bin/|\?) 0       0%      0'
echo 'refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880'
echo refresh_pattern .          0       20%     4320
echo #----------

echo #----------
echo #анонимный
echo via off
echo forwarded_for delete

echo request_header_access X-Forwarded-For deny all
echo request_header_access Via deny all
echo request_header_access Cache-Control deny all
echo dns_v4_first off

Буду вам очень благодарен за ответы

 , ,

miracle777
()

Сравнительная таблица пенальти IO для hdd.

Форум — Admin

Старинная хранилка данных тупит на новых дисках. Дело оказывается в размере сектора. Прочитал в статейке, что есть куча разных затыков на размерах секторов, выравнивании партиций, RAID и т.п.
Не попадались ли кому сводная табличка или калькулятор для разных типов raid, lvm и всего такого ?

 , ,

Deleted
()

Странное поведение скайзи диска.

Форум — Admin

Был примоунтен 250Гб диск на редхат.
Нужно было его увеличить. Сделал umount, попросил админа тот увеличил и презентовал заного.
Но фдиск всё ещё видит 250Гб.

echo "- - -" > /sys/class/scsi_host/host3/scan
Как ещё рескан сделать этого фц хоста ?
Рестарт машины не подходит.

 , ,

dada
()

непонятки с SNAT

Форум — Admin

Дано: сервер на Linux (Centos 6.3 - да, уже старый, но «работает-не трогай»), работающий Интернет-шлюзом для нескольких частных сетей. Адреса в частных сетях «серые», На интерфейсе eth0, которым сервер подключен к Интернет-сегменту, делается SNAT по принципу «много в один» (подсеть «серых» адресов в один «белый» IP). Например (реальные адреса, естественно, заменены):

 -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to-source 1.1.1.1

По идее пакетов с источником из сети 10.10.10.0 на выходе с eth0 после этого быть не должно, вместо этого у всех исходящих с eth0 пакетов источником должен быть 1.1.1.1. В большинстве случаев это так, однако регулярно появляются и пакеты с сурсом из 10.10.10.0. И tcpdump'ом на eth0 их видно и на внешние адреса приходят.

Например, фрагмент дампа, где появляются такие пакеты:

22:16:20.458067 IP 93.184.221.240.http > 1.1.1.1.58349: Flags [.], seq 2865:4297, ack 312, win 288, length 1432
22:16:22.915330 IP 93.184.221.240.http > 1.1.1.1.58349: Flags [.], seq 4297:5729, ack 312, win 288, length 1432
22:16:26.611440 IP 93.184.221.240.http > 1.1.1.1.58349: Flags [.], seq 1433:2865, ack 312, win 288, length 1432
22:16:28.601530 IP 1.1.1.1.58349 > 93.184.221.240.http: Flags [.], ack 2865, win 160, length 0
22:16:28.604610 IP 1.1.1.1.58349 > 93.184.221.240.http: Flags [F.], seq 312, ack 2865, win 160, length 0
22:16:28.625207 IP 93.184.221.240.http > 1.1.1.1.58349: Flags [.], seq 5729:7161, ack 312, win 288, length 1432
22:16:28.625236 IP 93.184.221.240.http > 1.1.1.1.58349: Flags [P.], seq 7161:8593, ack 312, win 288, length 1432
22:16:28.628016 IP 93.184.221.240.http > 1.1.1.1.58349: Flags [.], ack 313, win 288, length 0
22:16:28.656497 IP 10.10.10.124.58349 > 93.184.221.240.http: Flags [R], seq 3280738781, win 0, length 0
22:16:29.011868 IP 10.10.10.124.58349 > 93.184.221.240.http: Flags [R], seq 3280738781, win 0, length 0
22:16:35.505264 IP 10.10.10.124.58349 > 93.184.221.240.http: Flags [R], seq 3280738781, win 0, length 0
22:16:35.756197 IP 10.10.10.124.58349 > 93.184.221.240.http: Flags [R], seq 3280738781, win 0, length 0
22:16:35.883696 IP 10.10.10.124.58349 > 93.184.221.240.http: Flags [R], seq 3280738781, win 0, length 0
22:16:35.968263 IP 1.1.1.1.58349 > 93.184.221.240.http: Flags [R], seq 3280738782, win 0, length 0

В интернетах копался долго, но ничего похожего не нашел.Насколько я понимаю, в цепочку POSTROUTING таблицы nat должны попадать все выходящие через интерфейс (в данном случае eth0) пакеты, и source IP у них должен подменяться. После этого теоретически с ними мог бы что-до делать mangle POSTROUTING, но его у меня нету. Но по факту - иногда source IP не подменяется.

Вопрос: а почему? И как от этого избавиться.

Примечание: если сделать трансляцию «один в один», типа

 -A POSTROUTING -s 10.10.10.124/32 -o eth0 -j SNAT --to-source 1.1.1.1
то такой ерунды, вроде, не происходит. Но это же не выход. Сильно жирно - на каждый «серый IP» выделять по белому. И даже по отдельному правилу писать - тоже не выход, особенно если этих «серых» IP во внутренней сети (да еще не одной) сильно много.

 ,

mik73
()

Ненормальные оптимизации: LTO при сборке ядра

Форум — Desktop

Пересобрал свою гентушечку с тщательно подобранными оптимизациями, рад и доволен, но одна мелочь не дает мне покоя: ядро, собранное с -O2.

Хочу пересобрать с максимальными оптимизациями, -O3 --march и прочие заходят отлично, а с LTO — проблемы.
Ядро, понятное дело, LTO и не возьмет, но модули может.

Собственно, проблема: при линковке модулей, ar не подхватывает плагин из /usr/lib/bfd-plugins/, как для всей остальной системы.
Куда положить плагин чтобы он его видел или какие опции передать?

 , ,

mersinvald
()

Завернуть .onion на роутере в socks

Форум — General

Есть шлюз с openwrt и dnsmasq(dhcp/dns) - 192.168.50.1. Есть socks(tor) proxy - 192.168.50.254. Есть клиент - 192.168.50.7.

Клиент может резолвить dns .onion ресурсов с dnsmasq шлюза.

Как теперь на роутере завернуть обращения клиента к любым .onion ресурсам на 192.168.50.254:9050 ?

 , , , ,

adminlinwin
()

Перенаправлять трафик в tun0 при использовании прокси

Форум — Admin

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

Сервер debian 8.3, два интерфейса

# WAN
allow-hotplug eth0
iface eth0 inet dhcp

# LAN
allow-hotplug eth1
iface eth1 inet static
address 12.0.0.2
netmask 255.255.255.0

Поднял dhcp для локалки, bind9, прозрачный сквид (80 и 443 порты)

Вот основные данные

( читать дальше... )

===========

На этом этапе все работает корректно, просто обычный шлюз. Теперь описание проблемы

Есть некая организация «ABC», у нее стоит abc-proxy:3128 на одном из внутренних серваков. Проксик доступен только изнутри клиентам их локалки. Нам необходимо для определенных сайтов выходить через этот прокси.

Сейчас старый шлюз просто пускает весь трафик через openvpn организации ABC и у пользователей нашей сети в браузере прописан их прокси.

Хочется сделать на нашем новом шлюзе разделение трафика, т.е. весь трафик пускается через нашего провайдера, через eth0 (80 и 443 проходит дополнительно через сквид), а если в браузере у пользователя указан abc-proxy:3128, то перенаправлять трафик на tun0

Я предполагаю, что нужно с помощью iptables поставить перенаправление трафика на основе порта 3128. Но совершенно не знаю как быть с маршрутами и остальном.

После поднятия tun0 вывод таблиц такой

( читать дальше... )

( читать дальше... )

( читать дальше... )

Естественно после поднятия openVPN тунеля все встает на мертво.

proxy имеет ip 121.139.32.7

# Generated by iptables-save v1.4.21 on Tue Feb 16 21:13:12 2016
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -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,ACK SYN -m state --state NEW -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
COMMIT
# Completed on Tue Feb 16 21:13:12 2016
# Generated by iptables-save v1.4.21 on Tue Feb 16 21:13:12 2016
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -s 12.0.0.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129
-A PREROUTING -s 12.0.0.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A POSTROUTING -s 12.0.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Feb 16 21:13:12 2016
# Generated by iptables-save v1.4.21 on Tue Feb 16 21:13:12 2016
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Tue Feb 16 21:13:12 2016

 , , , ,

xsash
()

Compiz 0.8.12

Новости — Open Source
Группа Open Source

В ночь с 12 на 13 февраля состоялся новый корректирующий релиз (ветки 0.8.x) оконного менеджера Compiz.

Главные изменения:

  • Добавлена новая сборочная зависимость для libcompizconfig: теперь gtk-window-decorator считывает и может использовать настройки темы курсора от MATE/GNOME Flashback, а также настройки теней от CCSM.
  • В главную ветку проекта добавлен плагин Desktop Wall (в нем также исправлено несколько ошибок).
  • Теперь gtk-window-decorator не падает при «зависании» окна.
  • В Compiz реализована отрисовка различных фигур.

Релиз также включает в себя исправления ошибок.

>>> Полный changelog и архив с исходными кодами

 ,

DeadEye
()

Управление хардварным райдом

Форум — General

Чем можно запускать rebuild хардварного райда? Например, RAID-контроллер на чипе Marvell.

 ,

Deleted
()

ovirt localstorage zfs

Форум — Admin

Привет всем! Столкнулся вот с каким моментом, имеем:

ovirt node, и хотим покрутить там вирт. машинки с 1С и офтопиком. В настоящий момент пробовал решения: lvm+mdadm+ssd cache, zfs.

Самый лучший результат (в два раза лучше), даёт схема: zvol (LARC,ZIL on ssd), compression=on, + ext4 поверх всего этого бутерброда.

Для всех тех, кто не знает ничего про ovirt: ovirt, если работает с локальным хранилищем, использует файлы образов, а не блочные ус-ва.

Костыли в виде расшарить zfs по iscsi - не интересны.

И так, как лучше всего организовать сей бутерброд?

Сейчас проблема основная вот в чём:

[root@ovirt-beet ~]# df -h|grep loca
/dev/zd0                                    300G         155G  146G           52% /mnt/local_storage
[root@ovirt-beet ~]# zfs list
NAME            USED  AVAIL  REFER  MOUNTPOINT
kvmpool         309G   140G    96K  /kvmpool
kvmpool/zvol1   309G   415G  34,7G  -

То есть, штука такая: на zfs, у меня занято всего 34.7G, тогда как ext4, показывает уже 155G. Что будет, когда ext4 заполнится? А в реале, место ещё будет..?

Как бы более красивее разрулить сей бутерброд? Может есть что-нибудь более эффективное и побыстрее, в этом плане?

 , ,

DALDON
()

Squid ssl блокировка по группам

Форум — Admin

Возникла задача блокировке доступа пользователей к интернет c разграничением доступа по группам. С http трафиком справляется squidguard, а вот с https посложнее. блокировка по SNI работает, но только глобально для всех. Есть ли инструмент (аналогичный squidGuard), для разграничения по группам только для работы с ssl?

squid.conf

https_port 3133 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/squidCA.pem
always_direct allow all 
sslproxy_cert_error allow all 
sslproxy_flags DONT_VERIFY_PEER

acl blocked ssl::server_name "/etc/squid/group_blocked_https" 
acl step1 at_step SslBump1 
ssl_bump peek step1 

ssl_bump terminate blocked 
ssl_bump splice all

 , ,

ONYX_z
()

мост с tap и ipv6

Форум — Admin

Делаем

 ip tuntap add tap0 mode tap user root
 ip link set tap0 up
 ip link add br0 type bridge
 ip link set tap0 master br0
 ip link set dev eth0 down
 ip addr flush dev eth0 
 ip link set dev eth0 up
 ip link set eth0 master br0
 ip link set dev br0 up


получаем мост br0 и сетевые интерфейсы eth0,tap0

Пробуем поднять ipv4 адрес , тут всё ок
$ ip a add 10.0.0.4/8 dev tap0
$  ping -c1 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=0.011 ms

--- 10.0.0.4 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.011/0.011/0.011/0.000 ms


Пробую поднять ipv6
$ ip -6 address add dev tap0 scope link fe80::21b:21ff:febb:5db0/64
$ ip -6 address add dev tap0 scope global fddd:abcd:1234:5::4/64
$ ip a s tap0
3: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN group default qlen 500
    link/ether c2:53:a9:ca:7c:3c brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.4/8 scope global tap0
       valid_lft forever preferred_lft forever
    inet6 fddd:abcd:1234:5::4/64 scope global tentative 
       valid_lft forever preferred_lft forever
    inet6 fe80::21b:21ff:febb:5db0/64 scope link tentative 
       valid_lft forever preferred_lft forever
#Проверяем
$ ping6 -c1 -W5 fddd:abcd:1234:5::4
PING fddd:abcd:1234:5::4(fddd:abcd:1234:5::4) 56 data bytes

--- fddd:abcd:1234:5::4 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

$ ping6 fddd:abcd:1234:5::4%tap0
unknown host

$ ip -6 r
fddd:abcd:1234:5::/64 dev tap0  proto kernel  metric 256 
fe80::/64 dev eth0  proto kernel  metric 256 
fe80::/64 dev br0  proto kernel  metric 256 
fe80::/64 dev tap0  proto kernel  metric 256 


Ну оно и понятно - tentative

В чем причина, что на tap-устройстве не могу поднять ipv6 или что я упустил ?

 ,

f3ex
()

ping потери и диагностика сети

Форум — Admin

Привет ребята! Тут такая паранойя небольшая, не могу разобраться с диагностикой сети помогите. Есть шлюз на Debian около 500 человек выходят в сеть через него. На мониторинге заметил обрывы на аплинке. http://piccy.info/view3/9042188/dcaf553a74b4c4af234d97d8d5fcb343/

Выяснилось следующее - скрипт который пингом проверяет доступность шлюза в момент проверки натыкается на потерю и переключает на резерв, в следующую проверку все нормально и переключает назад. Пингуя этот шлюз

ping -v -c100 *.*.*.*
получаю от 1 до 4 % потерь, если увеличить размер пакета то потери увеличиваются. На других шлюзах аплинков иногда тоже бывает по 1% потерь.

Если пинговать свое оборудования в сети то потерь нет все окей.

И тут вопрос как мне проверить свой шлюз на предмет того что он не справляется или это какой-то сбой\ошибка или неправильная конфигурация, не хочется бежать к провайдеру с таким вопросом, а потом еще выясниться что проблема у меня.

На шлюзе ванильное ядро 3.18.23 патчилось ядро,iptables под imq это как-то может повлиять? Может фаервол на этот как-то повлиять или его неправильная настройка?

Скрипт проверки аплинков

#!/bin/bash

. /usr/net-conf/vars

arr_stat_isp=( )

for i in 1 2 3 4 5 6 7; do
  curtable=isp$i
  curint1=${curtable}_if
  curint2=${!curint1}
  curfwmark1=${curtable}_fwmark
  curfwmark2=${!curfwmark1}
  currule=$(ip rule | awk '/fwmark '$curfwmark2'/{print $7}')
  curip=$(ip a l $curint2 | grep "  inet " | head -n 1 | cut -d " " -f 6 | cut -d / -f 1)
  curdef=$(ip route | awk '/default/ && /'$curint2'/{print $5}')
  curgw=$(ip route show table $curtable | awk '/default/ && /'$curint2'/{print $3}')

  if ping -c1 -I $curip $pinghost; then

    arr_stat_isp+=([$i]=works)

    if [ "$curtable" = "$currule" ]; then
        echo "ip rule yes"
     else
#        echo "add ip rule"
        ip rule add fwmark $curfwmark2 table $curtable prio $prio_mark
        ip route flush cache
     fi

     if [ "$curint2" = "$curdef" ]; then
        echo "default route yes"
     else
#        echo "add default route"
        ip route add default via $curgw dev $curint2 metric $i
        ip route flush cache
     fi

  else

     arr_stat_isp+=([$i]=not_works)

     if [ "$curtable" = "$currule" ]; then
#        echo "ip rule yes"
        ip rule del fwmark $curfwmark2
        ip route flush cache
     else
        echo "no ip rule"
     fi

     if [ "$curint2" = "$curdef" ]; then
#        echo "default route yes"
        ip route del default via $curgw dev $curint2 metric $i
        ip route flush cache
     else
        echo "no default route"
     fi

  fi

done

flag=0

for i2 in "${arr_stat_isp[@]}"; do

    if [ "$i2" = "works" ]
       then
        flag=1
    fi

done

redirect2="$(iptables-save | awk '/'PREROUTING'/&&'/redirect2'/')"

if [ "$flag" -eq 0 ]; then
   echo "ничего не работает"

   if [ -z "$redirect2" ]; then
      echo "строка пустая"
      $IPT -w -t nat -A PREROUTING -i $clients_if -s $clients_ippool -j redirect2
      fi

   else
   echo "минимум 1 аплинк работает"

   if [ -n "$redirect2" ]; then
      echo "строка не пустая"
      $IPT -w -t nat -D PREROUTING -i $clients_if -s $clients_ippool -j redirect2
      fi
   fi

exit 0

iptables-save

iptables-save
# Generated by iptables-save v1.4.21 on Sat Nov 21 22:12:03 2015
*mangle
:PREROUTING ACCEPT [956223385:836581798825]
:INPUT ACCEPT [9849265:712417670]
:FORWARD ACCEPT [946313355:835864730969]
:OUTPUT ACCEPT [124518:71314230]
:POSTROUTING ACCEPT [946395895:835933065624]
:add_set_isp1 - [0:0]
:add_set_isp2 - [0:0]
:add_set_isp3 - [0:0]
:add_set_isp4 - [0:0]
:add_set_isp5 - [0:0]
:add_set_isp6 - [0:0]
:add_set_isp7 - [0:0]
:balancing - [0:0]
:class_imq0_isp1 - [0:0]
:class_imq0_isp2 - [0:0]
:class_imq0_isp3 - [0:0]
:class_imq1_isp1 - [0:0]
:class_imq1_isp2 - [0:0]
:class_imq1_isp3 - [0:0]
:ipt_isp1 - [0:0]
:ipt_isp2 - [0:0]
:ipt_isp3 - [0:0]
:ipt_isp4 - [0:0]
:ipt_isp5 - [0:0]
:ipt_isp6 - [0:0]
:ipt_isp7 - [0:0]
-A PREROUTING -s 10.193.0.0/16 -i ppp+ -j NETFLOW
-A PREROUTING -s 10.193.0.0/16 -i ppp+ -m conntrack --ctstate NEW -m set --match-set ALLOWED src -j balancing
-A PREROUTING -s 10.193.0.0/16 -i vlan10 -m conntrack --ctstate NEW -j balancing
-A PREROUTING -s 10.192.0.0/16 -i vlan10 -m conntrack --ctstate NEW -j balancing
-A PREROUTING -m set --match-set isp1 src -j ipt_isp1
-A PREROUTING -m set --match-set isp2 src -j ipt_isp2
-A PREROUTING -m set --match-set isp3 src -j ipt_isp3
-A PREROUTING -m set --match-set isp4 src -j ipt_isp4
-A PREROUTING -m set --match-set isp5 src -j ipt_isp5
-A PREROUTING -m set --match-set isp6 src -j ipt_isp6
-A PREROUTING -m set --match-set isp7 src -j ipt_isp7
-A PREROUTING -i ppp10001 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x1/0xffffffff
-A PREROUTING -i ppp10002 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x2/0xffffffff
-A PREROUTING -i vlan9 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x3/0xffffffff
-A PREROUTING -i vlan13 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x4/0xffffffff
-A PREROUTING -i ppp10005 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x5/0xffffffff
-A PREROUTING -i ppp10006 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x6/0xffffffff
-A PREROUTING -i ppp10007 -m conntrack --ctstate NEW -j CONNMARK --set-xmark 0x7/0xffffffff
-A PREROUTING -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A POSTROUTING -d 10.193.0.0/16 -o ppp+ -j NETFLOW
-A add_set_isp1 -j SET --add-set isp1 src
-A add_set_isp2 -m set --match-set isp1 src -j RETURN
-A add_set_isp2 -j SET --add-set isp2 src
-A add_set_isp3 -m set --match-set isp1 src -j RETURN
-A add_set_isp3 -m set --match-set isp2 src -j RETURN
-A add_set_isp3 -j SET --add-set isp3 src
-A add_set_isp4 -m set --match-set isp1 src -j RETURN
-A add_set_isp4 -m set --match-set isp2 src -j RETURN
-A add_set_isp4 -m set --match-set isp3 src -j RETURN
-A add_set_isp4 -j SET --add-set isp4 src
-A add_set_isp5 -m set --match-set isp1 src -j RETURN
-A add_set_isp5 -m set --match-set isp2 src -j RETURN
-A add_set_isp5 -m set --match-set isp3 src -j RETURN
-A add_set_isp5 -m set --match-set isp4 src -j RETURN
-A add_set_isp5 -j SET --add-set isp5 src
-A add_set_isp6 -m set --match-set isp1 src -j RETURN
-A add_set_isp6 -m set --match-set isp2 src -j RETURN
-A add_set_isp6 -m set --match-set isp3 src -j RETURN
-A add_set_isp6 -m set --match-set isp4 src -j RETURN
-A add_set_isp6 -m set --match-set isp5 src -j RETURN
-A add_set_isp6 -j SET --add-set isp6 src
-A add_set_isp7 -m set --match-set isp1 src -j RETURN
-A add_set_isp7 -m set --match-set isp2 src -j RETURN
-A add_set_isp7 -m set --match-set isp3 src -j RETURN
-A add_set_isp7 -m set --match-set isp4 src -j RETURN
-A add_set_isp7 -m set --match-set isp5 src -j RETURN
-A add_set_isp7 -m set --match-set isp6 src -j RETURN
-A add_set_isp7 -j SET --add-set isp7 src
-A balancing -m set --match-set isp1 src -j RETURN
-A balancing -m set --match-set isp2 src -j RETURN
-A balancing -m set --match-set isp3 src -j RETURN
-A balancing -m set --match-set isp4 src -j RETURN
-A balancing -m set --match-set isp5 src -j RETURN
-A balancing -m set --match-set isp6 src -j RETURN
-A balancing -m set --match-set isp7 src -j RETURN
-A balancing -m statistic --mode random --probability 0.14300000016 -j add_set_isp1
-A balancing -m statistic --mode random --probability 0.16699999990 -j add_set_isp2
-A balancing -m statistic --mode random --probability 0.20000000019 -j add_set_isp3
-A balancing -m statistic --mode random --probability 0.25000000000 -j add_set_isp4
-A balancing -m statistic --mode random --probability 0.33300000010 -j add_set_isp5
-A balancing -m statistic --mode random --probability 0.50000000000 -j add_set_isp6
-A balancing -j add_set_isp7
-A class_imq0_isp1 -j CLASSIFY --set-class 0001:0103
-A class_imq0_isp1 -p icmp -j CLASSIFY --set-class 0001:0101
-A class_imq0_isp1 -p tcp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0101
-A class_imq0_isp1 -p tcp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0101
-A class_imq0_isp1 -p udp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0101
-A class_imq0_isp1 -p udp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0101
-A class_imq0_isp1 -p tcp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0102
-A class_imq0_isp1 -p tcp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0102
-A class_imq0_isp1 -p udp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0102
-A class_imq0_isp1 -p udp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0102
-A class_imq0_isp1 -m set --match-set speedtest dst -j CLASSIFY --set-class 0001:0101
-A class_imq0_isp2 -j CLASSIFY --set-class 0001:0203
-A class_imq0_isp2 -p icmp -j CLASSIFY --set-class 0001:0201
-A class_imq0_isp2 -p tcp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0201
-A class_imq0_isp2 -p tcp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0201
-A class_imq0_isp2 -p udp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0201
-A class_imq0_isp2 -p udp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0201
-A class_imq0_isp2 -p tcp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0202
-A class_imq0_isp2 -p tcp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0202
-A class_imq0_isp2 -p udp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0202
-A class_imq0_isp2 -p udp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0202
-A class_imq0_isp2 -m set --match-set speedtest dst -j CLASSIFY --set-class 0001:0201
-A class_imq0_isp3 -j CLASSIFY --set-class 0001:0303
-A class_imq0_isp3 -p icmp -j CLASSIFY --set-class 0001:0301
-A class_imq0_isp3 -p tcp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0301
-A class_imq0_isp3 -p tcp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0301
-A class_imq0_isp3 -p udp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0301
-A class_imq0_isp3 -p udp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0301
-A class_imq0_isp3 -p tcp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0302
-A class_imq0_isp3 -p tcp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0302
-A class_imq0_isp3 -p udp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0302
-A class_imq0_isp3 -p udp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0302
-A class_imq0_isp3 -m set --match-set speedtest dst -j CLASSIFY --set-class 0001:0301
-A class_imq1_isp1 -j CLASSIFY --set-class 0001:0013
-A class_imq1_isp1 -p icmp -j CLASSIFY --set-class 0001:0011
-A class_imq1_isp1 -p tcp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0011
-A class_imq1_isp1 -p tcp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0011
-A class_imq1_isp1 -p udp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0011
-A class_imq1_isp1 -p udp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0011
-A class_imq1_isp1 -p tcp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0012
-A class_imq1_isp1 -p tcp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0012
-A class_imq1_isp1 -p udp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0012
-A class_imq1_isp1 -p udp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0012
-A class_imq1_isp1 -m set --match-set speedtest src -j CLASSIFY --set-class 0001:0011
-A class_imq1_isp2 -j CLASSIFY --set-class 0001:0023
-A class_imq1_isp2 -p icmp -j CLASSIFY --set-class 0001:0021
-A class_imq1_isp2 -p tcp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0021
-A class_imq1_isp2 -p tcp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0021
-A class_imq1_isp2 -p udp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0021
-A class_imq1_isp2 -p udp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0021
-A class_imq1_isp2 -p tcp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0022
-A class_imq1_isp2 -p tcp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0022
-A class_imq1_isp2 -p udp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0022
-A class_imq1_isp2 -p udp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0022
-A class_imq1_isp2 -m set --match-set speedtest src -j CLASSIFY --set-class 0001:0021
-A class_imq1_isp3 -j CLASSIFY --set-class 0001:0033
-A class_imq1_isp3 -p icmp -j CLASSIFY --set-class 0001:0031
-A class_imq1_isp3 -p tcp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0031
-A class_imq1_isp3 -p tcp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0031
-A class_imq1_isp3 -p udp -m multiport --sports 22,53,953 -j CLASSIFY --set-class 0001:0031
-A class_imq1_isp3 -p udp -m multiport --dports 22,53,953 -j CLASSIFY --set-class 0001:0031
-A class_imq1_isp3 -p tcp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0032
-A class_imq1_isp3 -p tcp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0032
-A class_imq1_isp3 -p udp -m multiport --sports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0032
-A class_imq1_isp3 -p udp -m multiport --dports 80,443,110,25,143,220 -j CLASSIFY --set-class 0001:0032
-A class_imq1_isp3 -m set --match-set speedtest src -j CLASSIFY --set-class 0001:0031
-A ipt_isp1 -j CONNMARK --set-xmark 0x1/0xffffffff
-A ipt_isp1 -j SET --add-set isp1 src --exist
-A ipt_isp2 -j CONNMARK --set-xmark 0x2/0xffffffff
-A ipt_isp2 -j SET --add-set isp2 src --exist
-A ipt_isp3 -j CONNMARK --set-xmark 0x3/0xffffffff
-A ipt_isp3 -j SET --add-set isp3 src --exist
-A ipt_isp4 -j CONNMARK --set-xmark 0x4/0xffffffff
-A ipt_isp4 -j SET --add-set isp4 src --exist
-A ipt_isp5 -j CONNMARK --set-xmark 0x5/0xffffffff
-A ipt_isp5 -j SET --add-set isp5 src --exist
-A ipt_isp6 -j CONNMARK --set-xmark 0x6/0xffffffff
-A ipt_isp6 -j SET --add-set isp6 src --exist
-A ipt_isp7 -j CONNMARK --set-xmark 0x7/0xffffffff
-A ipt_isp7 -j SET --add-set isp7 src --exist
COMMIT
# Completed on Sat Nov 21 22:12:03 2015
# Generated by iptables-save v1.4.21 on Sat Nov 21 22:12:03 2015
*nat
:PREROUTING ACCEPT [18681272:1333376593]
:INPUT ACCEPT [12014:768269]
:OUTPUT ACCEPT [31309:2882521]
:POSTROUTING ACCEPT [23115:2187998]
:redirect - [0:0]
:redirect2 - [0:0]
-A PREROUTING -s 10.193.0.0/16 -i ppp+ -j redirect
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 172.19.0.1
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 6036,50000 -j DNAT --to-destination 10.193.0.1
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50001,50002 -j DNAT --to-destination 10.193.0.2
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50004,50005 -j DNAT --to-destination 10.193.0.3
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50006,50007 -j DNAT --to-destination 10.193.0.4
-A PREROUTING -d *.*.*.*/32 -p udp -m multiport --dports 50006,50007 -j DNAT --to-destination 10.193.0.4
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50008,50029 -j DNAT --to-destination 10.193.0.6
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50009,50010,50012 -j DNAT --to-destination 10.193.0.5
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50013 -j DNAT --to-destination 10.193.0.5:80
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50014,50015,50050 -j DNAT --to-destination 10.193.0.7
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50016,50017,50025 -j DNAT --to-destination 10.193.0.8
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50027,50028 -j DNAT --to-destination 10.193.0.9
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50029,50030,50031,50032 -j DNAT --to-destination 10.193.0.11
-A PREROUTING -d *.*.*.*/32 -p tcp -m multiport --dports 50033,50034,50035,50036 -j DNAT --to-destination 10.193.0.13
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 172.19.0.1
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 6036,50000 -j DNAT --to-destination 10.193.0.1
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50001,50002 -j DNAT --to-destination 10.193.0.2
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50004,50005 -j DNAT --to-destination 10.193.0.3
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50006,50007 -j DNAT --to-destination 10.193.0.4
-A OUTPUT -d *.*.*.*/32 -p udp -m multiport --dports 50006,50007 -j DNAT --to-destination 10.193.0.4
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50008,50029 -j DNAT --to-destination 10.193.0.6
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50009,50010,50012 -j DNAT --to-destination 10.193.0.5
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50013 -j DNAT --to-destination 10.193.0.5:80
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50014,50015,50050 -j DNAT --to-destination 10.193.0.7
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50016,50017,50025 -j DNAT --to-destination 10.193.0.8
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50027,50028 -j DNAT --to-destination 10.193.0.9
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50029,50030,50031,50032 -j DNAT --to-destination 10.193.0.11
-A OUTPUT -d *.*.*.*/32 -p tcp -m multiport --dports 50033,50034,50035,50036 -j DNAT --to-destination 10.193.0.13
-A POSTROUTING -o ppp10001 -j MASQUERADE
-A POSTROUTING -o ppp10002 -j MASQUERADE
-A POSTROUTING -o vlan9 -j MASQUERADE
-A POSTROUTING -o vlan13 -j MASQUERADE
-A POSTROUTING -o ppp10005 -j MASQUERADE
-A POSTROUTING -o ppp10006 -j MASQUERADE
-A POSTROUTING -o ppp10007 -j MASQUERADE
-A POSTROUTING -d 172.19.0.0/24 -o vlan10 -j MASQUERADE
-A POSTROUTING -s 10.193.0.0/16 -d 172.19.0.1/32 -p tcp -m multiport --dports 80,443 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.1/32 -p tcp -m multiport --dports 6036,50000 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.2/32 -p tcp -m multiport --dports 50001,50002 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.3/32 -p tcp -m multiport --dports 50004,50005 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.4/32 -p tcp -m multiport --dports 50006,50007 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.4/32 -p udp -m multiport --dports 50006,50007 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.6/32 -p tcp -m multiport --dports 50008,50029 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.5/32 -p tcp -m multiport --dports 50009,50010,50012 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.5/32 -p tcp -m multiport --dports 80 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.7/32 -p tcp -m multiport --dports 50014,50015,50050 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.8/32 -p tcp -m multiport --dports 50016,50017,50025 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.9/32 -p tcp -m multiport --dports 50027,50028 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.11/32 -p tcp -m multiport --dports 50029,50030,50031,50032 -j SNAT --to-source 172.31.1.254
-A POSTROUTING -s 10.193.0.0/16 -d 10.193.0.13/32 -p tcp -m multiport --dports 50033,50034,50035,50036 -j SNAT --to-source 172.31.1.254
-A redirect -m set --match-set ALLOWED src -j RETURN
-A redirect -m set --match-set liqpay dst -j RETURN
-A redirect -d 172.30.0.1/32 -j RETURN
-A redirect -d 172.30.1.1/32 -j RETURN
-A redirect -d *.*.*.*/32 -j RETURN
-A redirect -p tcp -j DNAT --to-destination 172.30.1.1:8080
-A redirect -p udp -j DNAT --to-destination 172.30.1.1:8080
-A redirect2 -d 172.30.0.1/32 -j RETURN
-A redirect2 -d 172.30.1.1/32 -j RETURN
-A redirect2 -d *.*.*.*/32 -j RETURN
-A redirect2 -p tcp -j DNAT --to-destination 172.30.1.1:8081
-A redirect2 -p udp -j DNAT --to-destination 172.30.1.1:8081
COMMIT
# Completed on Sat Nov 21 22:12:03 2015
# Generated by iptables-save v1.4.21 on Sat Nov 21 22:12:03 2015
*filter
:INPUT DROP [9568763:651070390]
:FORWARD DROP [124:7420]
:OUTPUT ACCEPT [122785:70314662]
:forwarding - [0:0]
:incoming - [0:0]
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate NEW -j incoming
-A FORWARD -m conntrack --ctstate INVALID -j DROP
-A FORWARD -j forwarding
-A OUTPUT -m conntrack --ctstate INVALID -j DROP
-A forwarding -s 10.193.0.50/32 -i ppp+ -m set --match-set ALLOWED src -j ACCEPT
-A forwarding -d 10.193.0.50/32 -o ppp+ -m set --match-set ALLOWED dst -j ACCEPT
-A forwarding -i ppp+ ! -o vlan10 -m set --match-set ALLOWED src -j ACCEPT
-A forwarding ! -i vlan10 -o ppp+ -m set --match-set ALLOWED dst -j ACCEPT
-A forwarding -s 10.193.0.0/16 -i ppp+ ! -o vlan10 -m set --match-set liqpay dst -j ACCEPT
-A forwarding -d 10.193.0.0/16 ! -i vlan10 -o ppp+ -m set --match-set liqpay src -j ACCEPT
-A forwarding -i vlan10 -j ACCEPT
-A forwarding -o vlan10 -j ACCEPT
-A incoming -i ppp10001 -j RETURN
-A incoming -i ppp10002 -j RETURN
-A incoming -i vlan9 -j RETURN
-A incoming -i ppp10005 -j RETURN
-A incoming -i ppp10006 -j RETURN
-A incoming -i ppp10007 -j RETURN
-A incoming -i lo -j ACCEPT
-A incoming -s 10.193.0.50/32 -j ACCEPT
-A incoming -i vlan10 -p tcp -m multiport --dports 22 -j ACCEPT
-A incoming -p tcp -m multiport --dports 53,80,443,953 -j ACCEPT
-A incoming -p udp -m multiport --dports 53 -j ACCEPT
-A incoming -p icmp -j ACCEPT
COMMIT
# Completed on Sat Nov 21 22:12:03 2015

 ,

fet4
()

Маркировка входящих соединений iptables

Форум — Admin

Подскажите как правильно сделать чтобы маркировка входящих соединений (isp*_if) не перекрывалась маркировкой входящих (clients_if).

Ситуация - допустим через инт. isp6_if пробрасываем порт кому-то на инт. clients_if и заходим с мира на этот порт. А этот клиент попадает под --set-mark 1 и перемаркировует входящее соединение через isp6_if, хотя указано --ctstate NEW.

Сейчас такая конструкция. Но почему-то не корректно оно обрабатывается.

$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp1_tbl src -j CONNMARK --set-mark 1
$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp2_tbl src -j CONNMARK --set-mark 2
$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp3_tbl src -j CONNMARK --set-mark 3
$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp4_tbl src -j CONNMARK --set-mark 4
$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp5_tbl src -j CONNMARK --set-mark 5
$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp6_tbl src -j CONNMARK --set-mark 6
$IPT -w -t mangle -A PREROUTING -i $clients_if -m conntrack --ctstate NEW -m set --match-set $isp7_tbl src -j CONNMARK --set-mark 7

$IPT -w -t mangle -A PREROUTING -i $isp1_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 1
$IPT -w -t mangle -A PREROUTING -i $isp2_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 2
$IPT -w -t mangle -A PREROUTING -i $isp3_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 3
$IPT -w -t mangle -A PREROUTING -i $isp4_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 4
$IPT -w -t mangle -A PREROUTING -i $isp5_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 5
$IPT -w -t mangle -A PREROUTING -i $isp6_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 6
$IPT -w -t mangle -A PREROUTING -i $isp7_if -m conntrack --ctstate NEW -j CONNMARK --set-mark 7

$IPT -w -t mangle -A PREROUTING -j CONNMARK --restore-mark

 ,

fet4
()

Bind ответ из кэша.

Форум — Admin

Подскажите можно ли как-то заставить отвечать bind из кэша, если у него нет доступа к сети?

 

fet4
()

Компилятор выражений фильтров libpcap в опкоды BPF

Форум — Development

Захотелось мне тут шейпить трафик не с использованием старого классификатора u32, а новомодного cls_bpf. Одна только проблема: генерация байткода BPF с помощью tcpdump -ddd довольно таки медленна, поэтому я по-быстрому написал свой компилятор.

Оставляю ссылку, вдруг кому пригодится.

Если изобрёл велосипед — ткните носом, а то кроме эрланговой обёртки что-то ничего не нагуглилось.

P.S. cls_bpf намного быстрее u32, но он поддерживается только новыми ядрами: 3.13/3.14 и выше.

 , , , ,

post-factum
()

nginx и хитрый root в proxy_cache_path

Форум — Admin

ubuntu 14.04

nginx.conf

proxy_cache_path /run/shm levels=1:2 keys_zone=STATIC:50m inactive=12m max_size=15000m;
/run/shm - рамдиск

создаём на левом порту сервер

server {
listen 127.0.0.1:8081;
root /home/ger/www/static/$tag/;
}
пишем в оригинале
server {
                listen *:80;
                server_name  ~^static\.(?<tag>.+)\.med.com

location ~* \.(svg|flv|webm|vob|ogv|wmv|m4v|srt|ssa|ass|mp4|mp3|ogg|avi|mkv|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf)$ {

####root /home/ger/www/static/$tag/;

proxy_pass http://127.0.0.1:8081;

proxy_cache STATIC;

proxy_cache_key $uri$is_args$args;

}
запрос http://static.aaa51295.med.com/logo_dateodernicht.png

в логе

/home/ger/www/static//logo_dateodernicht.png" failed (2: No such file or directory), client: 127.0.0.1, server: , request: "GET /logo_dateodernicht.png HTTP/1.0", host: "127.0.0.1:8081"
$tag ему не нравится. если без него - то всё прекрасно пашет и картинка нужная записывается в мемдиск

root /home/ger/www/static/$tag/; — если раскоментить — конечно всё работает, но в мемдиск ничего не пишется, а значит всё это бестолку

как быть?

 

wadim_
()

IPTABLES открыть FTP

Форум — Security

Помогите открыть FTP
Конфигурация iptables
-P INPUT DROP
-P OUTPUT DROP
Вот что пробовал
$IPT -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT

$IPT -A INPUT -p tcp --dport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT

$IPT -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 20:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --sport 20:65535 --dport 1024:65535 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Еще пробовал
$IPT -A INPUT -p tcp -m tcp -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

$IPT -A OUTPUT -p tcp -m tcp --sport 21 -m conntrack --ctstate ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
И еще куча неудачных вариантов.

Максимум что получается сделать это соединиться по 21 порту. А в LIST не пускает.

Что хотел сделать - хотел разрещить только активное ФТП соединение, но
modprobe ip_conntrack_ftp
выдает ошибку что он не найден.
Более того, не смог запустить vsftpd в активном режиме.. [br

Если выставить
iptables -P OUTPUT ACCEPT
то ФТП прекрасно работает, но мне нужно запустить его при
-P OUTPUT DROP

Помогите пожалуйста кто делал.

 ,

radonej
()

LXC контейнер не полный

Форум — Admin

Установил LXC на Debian, создвл контейнер, тоже Debian, установка проходит успешно. Логинюсь в контейнер, и что я вижу?

root@games:~# apt-get update
Err http://http.debian.net jessie InRelease
  
Err http://http.debian.net jessie Release.gpg
  Could not resolve 'http.debian.net'
Reading package lists... Done
W: Failed to fetch http://http.debian.net/debian/dists/jessie/InRelease  

W: Failed to fetch http://http.debian.net/debian/dists/jessie/Release.gpg  Could not resolve 'http.debian.net'

W: Some index files failed to download. They have been ignored, or old ones used instead.
более того, нет даже элементарных unix утилит, таких как ping
root@games:~# ping ya.ru
-bash: ping: command not found
Что же делать? мне нужна работоспособная ОС в контейнере. хост-система Debian 8.2 Устанавливал так: lxc-create -n games -t debian -- -r jessie

 , ,

dargod
()