LINUX.ORG.RU

Сообщения ne-vlezay

 

Плохо работает вложенная виртуализация (Nested virtualization)

Форум — Admin

Ядро на хосте: 4.19.188-amd64-cust1

Ядро в виртуальной машине: 5.10+, 5.11+

Версия qemu: 2.8.1

Система: Devuan Ascii

Проблема:

Если пытаться использовать вложенную виртуализацию и на ней запустить linux или openbsd, то система внутри вложенной виртуальной машине периодически зависает. Если смотреть strace, то во время зависания там много timeout’ов. Но, если на хосте использовать ядро от 5.10+ и qemu 5.20, то всё нормально. Вложенная виртуализация (nested virtualization) работает нормально.

 , , ,

ne-vlezay
()

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

Форум — Admin

Добрей день, если компилировать его с параметрами:

./configure        --prefix=/usr        --includedir=\${prefix}/include        --enable-exampledir=\${prefix}/share/doc/frr/examples        --bindir=\${prefix}/bin        --sbindir=\${prefix}/lib/frr        --libdir=\${prefix}/lib/frr        --libexecdir=\${prefix}/lib/frr        --localstatedir=/var/run/frr        --sysconfdir=/etc/frr        --with-moduledir=\${prefix}/lib/frr/modules        --with-libyang-pluginsdir=\${prefix}/lib/frr/libyang_plugins        --enable-configfile-mask=0640        --enable-logfile-mask=0640        --enable-snmp=agentx        --enable-multipath=64        --enable-user=frr        --enable-group=frr        --enable-vty-group=frrvty        --with-pkg-git-version        --with-pkg-extra-version=-MyOwnFRRVersion --enable-systemd

То, если выполнить show ip ospf interface lo ospfd вылетает по sigabrt.

В логах при этом:

пр 22 18:38:53 archlinux OSPF[119617]: Received signal 6 at 1619105933 (si_addr 0xb10001d341, PC 0x7f769cd8cef5); aborting...
апр 22 18:38:53 archlinux OSPF[119617]: zlog_signal+0xf5                   7f769d3bd205     7ffd2b60c9f0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: core_handler+0xb1                  7f769d3e6851     7ffd2b60cb30 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: funlockfile+0x60                   7f769cf33960     7ffd2b60cc80 /usr/lib/libpthread.so.0 (mapped at 0x7f769cf20000)
апр 22 18:38:53 archlinux OSPF[119617]:     ---- signal ----
апр 22 18:38:53 archlinux OSPF[119617]: gsignal+0x145                      7f769cd8cef5     7ffd2b60d220 /usr/lib/libc.so.6 (mapped at 0x7f769cd50000)
апр 22 18:38:53 archlinux OSPF[119617]: abort+0x116                        7f769cd76862     7ffd2b60d340 /usr/lib/libc.so.6 (mapped at 0x7f769cd50000)
апр 22 18:38:53 archlinux OSPF[119617]: __assert_fail_base.cold+0xf        7f769cd76747     7ffd2b60d470 /usr/lib/libc.so.6 (mapped at 0x7f769cd50000)
апр 22 18:38:53 archlinux OSPF[119617]: __assert_fail+0x46                 7f769cd85646     7ffd2b60d4c0 /usr/lib/libc.so.6 (mapped at 0x7f769cd50000)
апр 22 18:38:53 archlinux OSPF[119617]: route_node_delete+0x1da            7f769d3f24fa     7ffd2b60d4f0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: route_next+0x69                    7f769d3f2579     7ffd2b60d520 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: show_ip_ospf_interface_sub+0x5e8     558bfb49dd18     7ffd2b60d540 /usr/lib/frr/ospfd (mapped at 0x558bfb3f1000)
апр 22 18:38:53 archlinux OSPF[119617]: show_ip_ospf_interface_common+0x1bb     558bfb49ea0b     7ffd2b60d620 /usr/lib/frr/ospfd (mapped at 0x558bfb3f1000)
апр 22 18:38:53 archlinux OSPF[119617]: show_ip_ospf_interface+0x24a       558bfb49ed9a     7ffd2b60d690 /usr/lib/frr/ospfd (mapped at 0x558bfb3f1000)
апр 22 18:38:53 archlinux OSPF[119617]: cmd_execute_command_real.constprop.0+0x138     7f769d390818     7ffd2b60d6f0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: cmd_execute_command+0x54           7f769d392174     7ffd2b60d760 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: cmd_execute+0xd0                   7f769d3923b0     7ffd2b60d7b0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: vty_command+0x14d                  7f769d3fce6d     7ffd2b60d810 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: vty_execute+0x31                   7f769d3fd561     7ffd2b60f9b0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: vtysh_read+0xc0                    7f769d4001f0     7ffd2b60f9f0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: thread_call+0xf3                   7f769d3f7553     7ffd2b60fc40 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: frr_run+0xe0                       7f769d3b5ec0     7ffd2b60fde0 /usr/lib/frr/libfrr.so.0 (mapped at 0x7f769d330000)
апр 22 18:38:53 archlinux OSPF[119617]: main+0x148                         558bfb454058     7ffd2b610010 /usr/lib/frr/ospfd (mapped at 0x558bfb3f1000)
апр 22 18:38:53 archlinux OSPF[119617]: __libc_start_main+0xd5             7f769cd77b25     7ffd2b610030 /usr/lib/libc.so.6 (mapped at 0x7f769cd50000)
апр 22 18:38:53 archlinux OSPF[119617]: _start+0x2e                        558bfb45489e     7ffd2b610100 /usr/lib/frr/ospfd (mapped at 0x558bfb3f1000)
апр 22 18:38:53 archlinux OSPF[119617]: in thread vtysh_read scheduled from lib/vty.c:2682 vty_event()

Самое интересное то, что когда я указал с переменной:

CFLAGS="-O1"

то всё работало нормально.

Но, когда я разогнал процессор до 4.5Gz, то даже без параметров всё компилировалось и работало нормально. Как это может влиять - не знаю.

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

Процессор у меня: AMD FX 6300.

 , , , ,

ne-vlezay
()

Как может повлиять на программное обеспечения инцедент со Столлманом?

Форум — Talks

Такой вопрос:

Некоторые пишут, что примут некую GPLv4, другие пишут, что Linux закроет исходный код, другие вообще призывают распустить debian.

  1. Моё мнение по поводу закрытия исходников linux, см в этой теме
  2. В этом видео вообще говорят о том, что все дистрибутивы станут платными

Такой вопрос, чем может закончится вся эта история?

 , , ,

ne-vlezay
()

Что нас ждёт в GPLv4?

Форум — Talks

В связи с последними событиями в фонде СПО, когда им завладеют корпорации, выпустить некую лицензию, которая типо может позволить закрыть чуть ли не весь открытый исходный код.

  1. https://www.opennet.ru/openforum/vsluhforumID3/123806.html#657

Прошло больше суток. Подведём итоги.

  • Деда так и не спасли.
  • GPL под угрозой, на горизонте GPLv4 с открытием исходников через 25 лет.
  • Fedora GNU/Linux трансформировалась в Fedora Linux и стала настоящей Pidora.
  • Red Hat яйцами, помидорами, вибраторами, вагинами незакидана.
  • Подписавшие против деда не удалили весь GNU софт и софт с GPL лицензией.
  1. https://colonelcassad.livejournal.com/6655095.html

Возможность в будущем выпустить GPLv4 в которой может быть прописано все, что угодно и она будет применима к проектам GPLv2+ и GPLv3+, которые не смогут уговорить всех авторов перелицензироваться.

  1. https://www.opennet.ru/openforum/vsluhforumID3/123768.html#177

Помнится, об этом ещё Linus предупреждал в перепалке об использовании лицензии GPL текущей версии vs GPL+. Получает кто-то управление над GNU и меняет текст и версию лицензии на свою. И весь софт под GPL+ в шляпе (може даже в красной). GPL+ удобна, но это как чистый бланк с печатью и подписью.

Надеюсь, что не за это наезд идёт…

И так далее.

Как я считаю, исходный код в новой GPLv4 закрывать никто не будет, максимум что может случится, это оттуда уберут copyleft, и то, врядли. Потому, что:

  • Исходный код закрывать не выгодна даже для самих корпораций. (Если исходный код открыт, в разработке может принимать участие неограниченный круг лиц, а если закрыт, то только сотрудники самой корпорации.)
  • Закрывать и открывать код можно было и раньше, просто лицензируешь под EULA а потом ставить открытую или свободную лицензию.

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

 , , , gpl4,

ne-vlezay
()

Что случится, если фондом СПО завладеют корпорации?

Форум — Talks

Я где-то слышал, что Armacham Teсhnology Corporation решила завладеть фондом СПО, а Женевьеву Аристид назначить директорам этого фонда. Меня интерисует, что может случится с linux в этом случае. Может ли linux закрыть исходный код и стать платным в результате этого?

 , , , ,

ne-vlezay
()

Системя зависает на ровном месте

Форум — Admin

Такая проблема:

Если система сильно загружена, то при использовании opengl приложений, система зависает. Также может пропасть сеть.

В логах и на консоле в это время если удасться подключиться: bug nvi soft lookup.

Ядро: 4.9.0-15-amd64 Система: Devuan Ascii

 , ,

ne-vlezay
()

Сервер намертво зависает если использовать в iptables string

Форум — Admin

Такая проблема:

Есть некий сервер с arch linux, через который осуществляется выход в интернет.

Если в iptables прописать:

iptables -A FORWARD -p udp --dport 33 -d 198.19.255.255 -m string --string "aaaaaaaa" --algo bm -j DROP

Потом из машины попытаться отправить udp пакет, в котором есть aaaaaaaa на 198.19.255.255 и порт 33, то связь с сервером теряется и сервер перестаёт на что-либо реагировать. Подозреваю что он уходит в kernel panic от этого правила.

Попытался воспроизвести на машине с ядром 5.10.3, там всё нормально.

На сервере ядро:

5.11.6-arch1-1

Так что, возможно в этой версии ядра сломали возможность фильтрации по содержимому трафика в linux.

 , , , ,

ne-vlezay
()

openbgpd удалить номер автономной системы из AS-PATH

Форум — Admin

Собственно, вопрос, как это можно сделать?

Ситуация:

Есть некая сеть, в которой внешние префиксы между устройствами анонсируются с приватных автономных систем. Необходимо, чтобы если маршруты анонсировались в мир, с них удалялись приватные автономные системы.

На bird это делается:

define LOCAL_ASN = [ 4200220000 - 4200229999 ];

filter foo {
 bgp_path.delete(LOCAL_ASN);
}

Но, как это сделать на openbgpd, который в openbsd?

 , , ,

ne-vlezay
()

Frrouting 6.0 на debian 9 залипают маршруты

Форум — Admin

В FRRouting 6.0 на debian 9 (ядро 4.9.0-14-amd64) найдена проблема с залипанием ipv6 маршрутов. Происходит это, если с пиром будет разорвано соединение:

Вот маршрут во внутренней таблице маршрутизации FRR:

vps# show ipv6 route 2a01:d0:c353::/112
Routing entry for 2a01:d0:c353::/112
  Known via "bgp", distance 20, metric 0, best
  Last update 00:06:20 ago
  * fe80::9c65:29ff:fe37:2c07, via ovpn-peer1.0

Вот маршруты в ядре:

root@vps:/home/admin# ip -6 route|grep 2a01:d0:c353::/112
2a01:d0:c353::/112 via fe80::5054:ff:fe00:2 dev vpn-br0.10 proto 186 src 2a01:d0:f1fa:3::1 metric 20  pref medium
2a01:d0:c353::/112 via fe80::9c65:29ff:fe37:2c07 dev ovpn-peer1.0 proto 186 src 2a01:d0:f1fa:3::1 metric 20  pref medium

 , , ,

ne-vlezay
()

Frrouting 7.5

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

Вышла новая версия программы для управления динамической маршрутизацией в linux/BSD Frrouting!

Доступные изменения:

  • BFD
    • Поддержка профилей
    • Поддержка установки минимального TTL
  • BGP
    • Поддержка RPKI в VRF
    • Исправления в BGP Graceful Restart
    • Добавлена опция для детального отображения маршрутов
    • Добавлена опция конфигурации maximum-prefix <num> force
    • bestpath-routes для конфигурации соседа
    • Добавлена команда bgp shutdown message MSG...
    • Добавлена возможность получения IPv6 правил для BGP flowspec.
    • Добавлена команда neighbor <neigh> shutdown rtt

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

>>> Подробности

 , , , ,

ne-vlezay
()

Странно себя ведёт софт, который скомпилирован с помошью gcc 10.2.0

Форум — Admin

У меня такой вопрос: имеем arch linux, и понадобилось на него паставить эту программу.

Но, было замечанно, что она прииспользовании некоторых функций начинает сбоить, если была скомпилирована gcc 10.2.0. Если скомпилировать её через gcc 8.x, но эта программа работает безупречно.

Другой пример, qemu в котором заикается или искажается звук. Если использовать debian или скомпилировать с gcc-8, то всё нормально.

Почему так происходит?

 , ,

ne-vlezay
()

Куда делась прокрутка консоли в ядре 4.9.0-13

Форум — Desktop

Недавно обновился debian, теперь не работает прокрутка консоли.

Из ядра её убрали, но почему она исчезла из всех lts ядер?

 , ,

ne-vlezay
()

Есть ли в OpenBSD аналог tc?

Форум — Admin

Интересно, можно ли в OpenBSD перенаправлять трафик так как это в linux? Например так:

tc qdisc add dev eth0 handle ffff: ingress
tc qdisc add dev veth0 handle ffff: ingress

tc filter add dev veth0 parent ffff: matchall action vlan push id 1 action mirred egress redirect dev eth0

 , ,

ne-vlezay
()

Не резолвится securebit.ch

Форум — Admin

Такая проблема, при попытке открыть securebit.ch, DNS-сервер сообщает SERVFAIL.

Как я выеснел, почиму-то вышестоящий DNS сообщяет Refused.

Самое интересное, когда я перенаправил трафик со своего hint dns в VPN, сайт сразу прорезолвился.

Попытайтись у себя этот сайт на DNS-сервере открыть.

09:08:48.905543 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 72: 198.18.120.10.47561 > 198.18.51.16.53: 21896+ A? securebit.ch. (30)
09:08:48.906057 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 111: 198.18.51.16.48184 > 194.50.111.2.53: 46528% [1au] A? securebit.ch. (69)
09:08:49.093190 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 111: 194.50.111.2.53 > 198.18.51.16.48184: 46528 Refused- 0/0/1 (69)
09:08:49.093765 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 111: 198.18.51.16.58848 > 194.50.111.1.53: 54820% [1au] A? securebit.ch. (69)
09:08:49.283055 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 111: 194.50.111.1.53 > 198.18.51.16.58848: 54820 Refused- 0/0/1 (69)
09:08:49.283472 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 111: 198.18.51.16.55569 > 194.50.111.4.53: 7154% [1au] A? securebit.ch. (69)
09:08:49.474049 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 111: 194.50.111.4.53 > 198.18.51.16.55569: 7154 Refused- 0/0/1 (69)
09:08:49.474713 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 111: 198.18.51.16.56493 > 194.50.111.3.53: 51586% [1au] A? securebit.ch. (69)
09:08:49.665635 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 111: 194.50.111.3.53 > 198.18.51.16.56493: 51586 Refused- 0/0/1 (69)
09:08:49.666501 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.48150 > 194.50.111.2.53: 38393% [1au] AAAA? b.any-cast.net. (71)
09:08:49.666639 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.41883 > 194.50.111.2.53: 32742% [1au] AAAA? c.any-cast.net. (71)
09:08:49.667082 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 72: 198.18.51.16.53 > 198.18.120.10.47561: 21896 ServFail 0/0/0 (30)
09:08:49.667458 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.36667 > 194.50.111.2.53: 17898% [1au] AAAA? a.any-cast.net. (71)
09:08:49.667696 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.38026 > 194.50.111.2.53: 13540% [1au] AAAA? d.any-cast.net. (71)
09:08:49.853636 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.2.53 > 198.18.51.16.48150: 38393 Refused- 0/0/1 (71)
09:08:49.854401 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.56602 > 194.50.111.1.53: 17560% [1au] AAAA? b.any-cast.net. (71)
09:08:49.856034 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.2.53 > 198.18.51.16.41883: 32742 Refused- 0/0/1 (71)
09:08:49.856655 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.57169 > 194.50.111.1.53: 7017% [1au] AAAA? c.any-cast.net. (71)
09:08:49.857333 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.2.53 > 198.18.51.16.38026: 13540 Refused- 0/0/1 (71)
09:08:49.857532 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.2.53 > 198.18.51.16.36667: 17898 Refused- 0/0/1 (71)
09:08:49.857847 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.54465 > 194.50.111.1.53: 21118% [1au] AAAA? d.any-cast.net. (71)
09:08:49.858136 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.41660 > 194.50.111.1.53: 22039% [1au] AAAA? a.any-cast.net. (71)
09:08:50.044294 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.1.53 > 198.18.51.16.56602: 17560 Refused- 0/0/1 (71)
09:08:50.045105 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.56368 > 194.50.111.5.53: 26925% [1au] AAAA? b.any-cast.net. (71)
09:08:50.045850 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.1.53 > 198.18.51.16.57169: 7017 Refused- 0/0/1 (71)
09:08:50.046450 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.51922 > 194.50.111.5.53: 17345% [1au] AAAA? c.any-cast.net. (71)
09:08:50.046650 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.1.53 > 198.18.51.16.41660: 22039 Refused- 0/0/1 (71)
09:08:50.047082 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.1.53 > 198.18.51.16.54465: 21118 Refused- 0/0/1 (71)
09:08:50.047175 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.52324 > 194.50.111.5.53: 10189% [1au] AAAA? a.any-cast.net. (71)
09:08:50.047612 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.40919 > 194.50.111.5.53: 41169% [1au] AAAA? d.any-cast.net. (71)
09:08:50.235070 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.5.53 > 198.18.51.16.52324: 10189 Refused- 0/0/1 (71)
09:08:50.235113 be:ac:6b:71:57:71 > 00:16:3e:81:20:d6, ethertype IPv4 (0x0800), length 113: 194.50.111.5.53 > 198.18.51.16.56368: 26925 Refused- 0/0/1 (71)
09:08:50.235431 00:16:3e:81:20:d6 > be:ac:6b:71:57:71, ethertype IPv4 (0x0800), length 113: 198.18.51.16.56233 > 194.50.111.4.53: 16101% [1au] AAAA? b.any-cast.net. (71)

 , ,

ne-vlezay
()

archlinux: после обновления не могу войти в систему

Форум — Admin

Обновил систему, теперь не погу в неё войти. Что с ней случилась?

 , ,

ne-vlezay
()

Эмуляция типичного коммутатора

Форум — Admin
  1. Создаём netns:
ip netns add switch
ip netns add host1
ip netns add host2
ip netns add host3
ip netns add host4
  1. Создаём виртуальные интерфейсы и делаем базовою настройку
ip link add dev ns-switch.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns switch
ip link add dev ns-host1.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host1
ip link add dev ns-host2.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host2
ip link add dev ns-host3.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host3
ip link add dev ns-host4.0 up mtu 16384 type veth peer name eth0 mtu 16384 netns host4

# Поднимаем внутренние интерфейсы
ip -n switch link set dev eth0 up
ip -n host1 link set dev eth0 up
ip -n host2 link set dev eth0 up
ip -n host3 link set dev eth0 up
ip -n host4 link set dev eth0 up

# Прописываем адреса
ip -n host1 addr add 192.168.1.1/24 dev eth0
ip -n host2 addr add 192.168.1.2/24 dev eth0
ip -n host3 addr add 192.168.1.3/24 dev eth0
ip -n host4 addr add 192.168.1.4/24 dev eth0
  1. Инициализируем дисциплины для входящего трафика на всех интерфейсах
tc qdisc add dev ns-switch.0 handle ffff: ingress
tc qdisc add dev ns-host1.0 handle ffff: ingress
tc qdisc add dev ns-host2.0 handle ffff: ingress
tc qdisc add dev ns-host3.0 handle ffff: ingress
tc qdisc add dev ns-host4.0 handle ffff: ingress
  1. Делаем инкапсуляцию в 8021q и перенаправляем на головной интерфейс коммутатора
tc filter add dev ns-host1.0 parent ffff: matchall action vlan push id 1 pipe action mirred egress redirect dev ns-switch.0
tc filter add dev ns-host2.0 parent ffff: matchall action vlan push id 2 pipe action mirred egress redirect dev ns-switch.0
tc filter add dev ns-host3.0 parent ffff: matchall action vlan push id 3 pipe action mirred egress redirect dev ns-switch.0
tc filter add dev ns-host4.0 parent ffff: matchall action vlan push id 4 pipe action mirred egress redirect dev ns-switch.0
  1. Прописываем путь для обратных пакетов
tc filter add dev ns-switch.0 parent ffff: prio 1 protocol 802.1q flower vlan_id 1 action vlan pop pipe action mirred egress redirect dev ns-host1.0
tc filter add dev ns-switch.0 parent ffff: prio 2 protocol 802.1q flower vlan_id 2 action vlan pop pipe action mirred egress redirect dev ns-host2.0
tc filter add dev ns-switch.0 parent ffff: prio 3 protocol 802.1q flower vlan_id 3 action vlan pop pipe action mirred egress redirect dev ns-host3.0
tc filter add dev ns-switch.0 parent ffff: prio 4 protocol 802.1q flower vlan_id 4 action vlan pop pipe action mirred egress redirect dev ns-host4.0
  1. Создаём VLAN’ы на коммутаторе и делаем с ними что хотим
ip netns exec switch bash

ip link add link eth0 name eth0.1 up type vlan id 1
ip link add link eth0 name eth0.2 up type vlan id 2
ip link add link eth0 name eth0.3 up type vlan id 3
ip link add link eth0 name eth0.4 up type vlan id 4

# Ну, например делаем из них мост
ip link add dev br0 up mtu 16384 type bridge
ip link set dev eth0.1 master br0
ip link set dev eth0.2 master br0
ip link set dev eth0.3 master br0
ip link set dev eth0.4 master br0

Это может быть полезно, например в виртуальных машинах или если хочется протестировать работу opensource роутера и нет реального оборудования.

 , , ,

ne-vlezay
()

VPN вылетает при нагрузке

Форум — Admin

Имеем такое подключение:

tap10 - Ethernet over SSH
tap11 - Ethernet over SSH
ovpn-vps1.0 - OpenVPN через stunnel

все линки объединены в мост и там работает STP.

Но, возникает такая проблема: если на канал дать нагрузку, линк попросту вылетает. Эта вся схема идёт через интернет до моей vps.

Может ли провайдер блокировать SSH, если видит большие пакеты?

Я также заметил, что вылет происходит при проверке исходящий скорости.

 , , , ,

ne-vlezay
()

netassist: проблемы с яндексом

Форум — Admin

Собственно, подключён к туннельному брокеру от netassist. При поптыки доступа на яндекс наблюдается такое:

ne-vlezay80@ne-vlezay80:~$ wget https://mirror.yandex.ru/debian-cd/10.3.0-live/amd64/iso-hybrid/debian-live-10.3.0-amd64-gnome.iso -O- >/dev/null
--2020-05-02 14:29:56--  https://mirror.yandex.ru/debian-cd/10.3.0-live/amd64/iso-hybrid/debian-live-10.3.0-amd64-gnome.iso
Распознаётся mirror.yandex.ru (mirror.yandex.ru)… 2a02:6b8::183, 213.180.204.183
Подключение к mirror.yandex.ru (mirror.yandex.ru)|2a02:6b8::183|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: 2537684992 (2,4G) [application/octet-stream]
Сохранение в: «STDOUT»

-                            0%[                                      ]  23,74K  6,35KB/s    eta 4d 12h ^C

Вот tcpdump:

root@vm784816:/home/ne-vlezay80# tcpdump -i nst0 -ne host  2a02:6b8::183 -v
tcpdump: listening on nst0, link-type RAW (Raw IP), capture size 262144 bytes
14:16:03.755161 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 40) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [S], cksum 0xe7b9 (correct), seq 2124553938, win 62580, options [mss 1420,sackOK,TS val 633329396 ecr 0,nop,wscale 7], length 0
14:16:03.938515 ip: (flowlabel 0x8f4b5, hlim 46, next-header TCP (6) payload length: 40) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [S.], cksum 0x843e (correct), seq 635738298, ack 2124553939, win 27560, options [mss 1390,sackOK,TS val 2368512132 ecr 633329396,nop,wscale 12], length 0
14:16:04.003856 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 32) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [.], cksum 0x1b91 (correct), ack 1, win 489, options [nop,nop,TS val 633329644 ecr 2368512132], length 0
14:16:04.005899 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 255) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [P.], cksum 0xc6fa (correct), seq 1:224, ack 1, win 489, options [nop,nop,TS val 633329646 ecr 2368512132], length 223
14:16:04.190500 ip: (flowlabel 0x8f4b5, hlim 46, next-header TCP (6) payload length: 32) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [.], cksum 0x1b95 (correct), ack 224, win 7, options [nop,nop,TS val 2368512385 ecr 633329646], length 0
14:16:04.194685 ip: (flowlabel 0x8f4b5, hlim 46, next-header TCP (6) payload length: 1240) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [.], cksum 0x79be (correct), seq 2417:3625, ack 224, win 7, options [nop,nop,TS val 2368512388 ecr 633329646], length 1208
14:16:04.260209 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 44) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [.], cksum 0x4dc5 (correct), ack 1, win 489, options [nop,nop,TS val 633329901 ecr 2368512385,nop,nop,sack 1 {2417:3625}], length 0
14:16:05.510953 ip: (flowlabel 0xef361, hlim 46, next-header TCP (6) payload length: 1240) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [.], cksum 0x877c (correct), seq 1:1209, ack 224, win 7, options [nop,nop,TS val 2368513703 ecr 633329646], length 1208
14:16:05.577166 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 44) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [.], cksum 0x3ecc (correct), ack 1209, win 480, options [nop,nop,TS val 633331217 ecr 2368513703,nop,nop,sack 1 {2417:3625}], length 0
14:16:05.767084 ip: (flowlabel 0xef361, hlim 46, next-header TCP (6) payload length: 1240) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [.], cksum 0x950b (correct), seq 1209:2417, ack 224, win 7, options [nop,nop,TS val 2368513956 ecr 633331217], length 1208
14:16:05.767166 ip: (flowlabel 0xef361, hlim 46, next-header TCP (6) payload length: 745) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [P.], cksum 0x0d64 (correct), seq 3625:4338, ack 224, win 7, options [nop,nop,TS val 2368513956 ecr 633331217], length 713
14:16:05.833223 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 32) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [.], cksum 0xfe5f (correct), ack 3625, win 462, options [nop,nop,TS val 633331473 ecr 2368513956], length 0
14:16:05.833982 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 32) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [.], cksum 0xfb9b (correct), ack 4338, win 457, options [nop,nop,TS val 633331473 ecr 2368513956], length 0
14:16:05.835008 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 158) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [P.], cksum 0xca42 (correct), seq 224:350, ack 4338, win 457, options [nop,nop,TS val 633331476 ecr 2368513956], length 126
14:16:06.019978 ip: (flowlabel 0xef361, hlim 46, next-header TCP (6) payload length: 290) 2a02:6b8::183.443 > 2a01:d0:c353:82::10.44834: Flags [P.], cksum 0xdc12 (correct), seq 4338:4596, ack 350, win 7, options [nop,nop,TS val 2368514209 ecr 633331476], length 258
14:16:06.087175 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 275) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [P.], cksum 0xf51f (correct), seq 350:593, ack 4596, win 455, options [nop,nop,TS val 633331727 ecr 2368514209], length 243
14:16:06.813365 ip: (flowlabel 0x38bce, hlim 61, next-header TCP (6) payload length: 275) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [P.], cksum 0xf248 (correct), seq 350:593, ack 4596, win 455, options [nop,nop,TS val 633332454 ecr 2368514209], length 243
14:16:07.516342 ip: (flowlabel 0x533a7, hlim 61, next-header TCP (6) payload length: 275) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [P.], cksum 0xef89 (correct), seq 350:593, ack 4596, win 455, options [nop,nop,TS val 633333157 ecr 2368514209], length 243
14:16:08.924233 ip: (flowlabel 0x05ec7, hlim 61, next-header TCP (6) payload length: 275) 2a01:d0:c353:82::10.44834 > 2a02:6b8::183.443: Flags [P.], cksum 0xea09 (correct), seq 350:593, ack 4596, win 455, options [nop,nop,TS val 633334565 ecr 2368514209], length 243

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

 ,

ne-vlezay
()

Странности с внутренней сетевой платой

Форум — Admin

Собственно, сегодня опять пропал внешний сетевой интерфейс.

Проблема оказывается в том, что мой mac адрес, которые был присвоен, вдруг стал основным и следовательно systemd-networkd перестал обслуживать данный интерфейс. Причём перезагрузка не помогает. Только выключение на пять минут и включение.

Плата: MS-7715(MSI C45 (FX) V2) Модуль ядра: r8168 В логах при этом ничего.

Что с ней такое?

 , ,

ne-vlezay
()

Bird не принимает маршруты после запуска

Форум — Admin

У меня почему-то bird сегодня все маршруты от пира отфильтровал. Вот фольтр:

gw=bgp_next_hop; if net = ::/0 then reject; else accept;

Самое интересное, что после перезапуска, всё стало работать. Причём сколько я дёргал, так баг воспроизвести не получилось. Bird запускается в netns. Сам netns инициализируется через init скрипт. Вот скрипт инициализации netns:

#!/bin/bash
# Configuration
EXT_INTERFACES="eth1"
NS_NAME="vrouter"
start () {
	if [ -f /opt/bird/var/run/bird.pid ]
	then
		kill `cat /opt/bird/var/run/bird.pid `
	fi
		
	if [ -f /run/netns/${NS_NAME} ]
	then
		for a in $EXT_INTERFACES
		do
			ip -netns $NS_NAME link set dev $a netns 1
		done	
		ip netns del ${NS_NAME}
	else
		true
	fi
	ip netns add ${NS_NAME}
	for a in $EXT_INTERFACES
	do
		ip link set dev $a netns ${NS_NAME}
	done
	ip link add dev vr0p0 type veth peer name vr0p1 
        ip link add dev vr1p0 type veth peer name vr1p1 
	ip link set dev vr0p0 mtu 65535
	ip link set dev vr0p0 up
        ip link set dev vr1p0 mtu 9000
        ip link set dev vr1p0 up
	ip link set dev vr0p1 netns $NS_NAME
	ip -netns $NS_NAME link set dev lo up
	ip -netns $NS_NAME link set dev vr0p1 up
	ip -netns $NS_NAME link set dev vr0p1 mtu 65535
        ip link set dev vr1p1 netns $NS_NAME
        ip -netns $NS_NAME link set dev vr1p1 up
        ip -netns $NS_NAME link set dev vr1p1 mtu 9000
	ip -netns $NS_NAME link add dev phy-net type bridge
	ip -netns $NS_NAME link set dev phy-net up
	ip -netns $NS_NAME link set dev vr1p1 master phy-net
	for a in $EXT_INTERFACES
	do
		ip -netns $NS_NAME link set dev $a up
		ip -netns $NS_NAME link set dev $a master phy-net
	done
	ip -netns $NS_NAME addr add 198.18.120.10/24 brd 198.18.120.255 dev phy-net
	#ip -netns $NS_NAME route add default via 198.18.120.1
	ip -netns $NS_NAME addr add 2a01:d0:c353:82::10/112 dev phy-net
	ip -netns $NS_NAME route add default via 2a01:d0:c353:82::1
	echo 1|ip netns exec $NS_NAME tee /proc/sys/net/ipv4/ip_forward
        echo 1|ip netns exec $NS_NAME tee /proc/sys/net/ipv6/conf/all/forwarding
	
	ip -netns $NS_NAME link add link vr0p1 name vlan101 type vlan id 101
	ip -netns $NS_NAME link set dev vlan101 up
	ip -netns $NS_NAME link set dev vlan101 mtu 9000
	ip -netns $NS_NAME addr add 192.168.254.6/30 brd 192.168.254.7 dev vlan101
	ip -netns $NS_NAME addr add 2001:db8:8:3c::5/126 dev vlan101
	ip -netns $NS_NAME link add link eth1 name vlan72 type vlan id 72
	ip -netns $NS_NAME link set dev vlan72 up
	#ip -netns $NS_NAME link set dev vlan72 mtu 9250
	ip -netns $NS_NAME addr add 198.18.125.25/30 brd 198.18.125.27 dev vlan72
	ip -netns $NS_NAME addr add 2001:db8:8:3c::2/126 dev vlan72
	ip netns exec $NS_NAME iptables -t nat -A PREROUTING -p tcp --dport 179 -j ACCEPT
	ip netns exec $NS_NAME ip6tables -t nat -A PREROUTING -p tcp --dport 179 -j ACCEPT
	ip netns exec $NS_NAME iptables -t nat -A POSTROUTING -p tcp --dport 179 -j ACCEPT
	ip netns exec $NS_NAME ip6tables -t nat -A POSTROUTING -p tcp --dport 179 -j ACCEPT
	ip netns exec $NS_NAME iptables -t nat -A PREROUTING  -d 198.18.120.10/32 -j DNAT --to 192.168.254.1
        ip netns exec $NS_NAME iptables -t nat -A POSTROUTING  -s 192.168.254.0/24 -d 192.168.254.0/24 -j ACCEPT
	ip netns exec $NS_NAME iptables -t nat -A POSTROUTING  -s 192.168.254.1/32 -j SNAT --to 198.18.120.10
	ip netns exec $NS_NAME iptables -t nat -A POSTROUTING -s 192.168.254.5/32 -j SNAT --to 198.18.120.10
	ip netns exec $NS_NAME iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
	ip netns exec $NS_NAME ip6tables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
	ip netns exec $NS_NAME ip6tables -t nat -A PREROUTING  -d 2a01:d0:c353:82::10/128 -j DNAT --to 2001:db8::1
	ip netns exec $NS_NAME ip6tables -t nat -A POSTROUTING  -s 2001:db8::1 -j SNAT --to 2a01:d0:c353:82::10
	ip -netns $NS_NAME rule add from 192.168.254.0/24 to 192.168.254.0/24 table main pref 1
	#ip -netns $NS_NAME rule add to 198.18.120.0/24 table main pref 1
        #ip -6 -netns $NS_NAME rule add to 2a01:d0:c353:82::/64 table main pref 1
        #ip -netns $NS_NAME rule add from 198.18.120.0/24 table main pref 1
        #ip -6 -netns $NS_NAME rule add from 2a01:d0:c353:82::/64 table main pref 1
        ip -6 -netns $NS_NAME rule add from 2001:db8::/112 to 2001:db8:8:3c::/112 table main pref 1
        ip -6 -netns $NS_NAME rule add from 2001:db8::/112 to 2001:db8::/112 table main pref 1
	ip -netns $NS_NAME rule add from 192.168.254.0/30 to 198.18.0.0/15 table main pref 1
	ip -6 -netns $NS_NAME rule add from 2001:db8::/126  to 2a01:d0:c353::/48 table main pref 1
        ip -netns $NS_NAME rule add from 192.168.254.4/30 to 198.18.0.0/15 table main pref 2
        ip -6 -netns $NS_NAME rule add from 2001:db8::4/126  to 2a01:d0:c353::/48 table main pref 2
        ip -netns $NS_NAME rule add from 192.168.254.0/30 table 10 pref 3
        ip -6 -netns $NS_NAME rule add from 2001:db8::/126 table 10 pref 3
	ip -netns $NS_NAME rule add from 192.168.254.4/30  table 10 pref 10
	ip -6 -netns $NS_NAME rule add from 2001:db8::4/126  table 10 pref 10
	#ip -6 -netns $NS_NAME rule add to 2a01:d0:c353:82::/64 iif vlan101 table 12 pref 3
	#ip -netns  $NS_NAME rule add to 198.18.120.0/24 iif vlan101 table 11 pref 3
	ip -netns $NS_NAME route add default via 198.18.125.26 table 11
	ip -6 -netns $NS_NAME route add default via 2001:db8:8:3c::1 table 12
	ip -netns $NS_NAME addr add 192.168.254.2/30 dev vr0p1
	ip -netns $NS_NAME addr add 2001:db8::2/126 dev vr0p1
}
stop () {
		if [ -f /opt/bird/var/run/bird.pid ]
		then
			kill `cat /opt/bird/var/run/bird.pid `
		fi
		for a in $EXT_INTERFACES
		do
			ip -netns $NS_NAME link set dev $a netns 1
		done	
		ip netns del ${NS_NAME}
	
}
exec_bird () {
	if [ -f /run/netns/${NS_NAME} ]
	then
		PATH=$PATH:/opt/bird/sbin
		ip netns exec $NS_NAME bird -c /opt/bird/etc/bird.conf -s /opt/bird/var/run/bird.ctl -u vrouter -g vrouter -P /opt/bird/var/run/bird.pid
	fi
}
stop_bird () {
	if [ -f /opt/bird/var/run/bird.pid ]
	then
		kill `cat /opt/bird/var/run/bird.pid `
	fi		 
}
case $1 in
	start)
		start
		exec_bird
		;;
	stop)
		#stop_bird
		stop
		;;
	bird_exec)
		exec_bird
		;;
	bird_kill)
		stop_bird
		;;
esac

Сам init-скрипт:

#!/bin/bash
### BEGIN INIT INFO
# Provides:          vrouter
# Required-Start:    mountkernfs $local_fs urandom
# Required-Stop:     $local_fs
# Default-Start:     S
# Default-Stop:      0 6
# Short-Description: Virtual router namespace
# Description:       Init virtual router
### END INIT INFO
/scripts/vrouter.sh $1

 , , ,

ne-vlezay
()

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