Маршрутизация

Проверка маршрута для pc-2

Проверим, что компьютер выходит в интернет через резервный канал связи:

$ traceroute -n ya.ru
traceroute to ya.ru (87.250.250.242), 30 hops max, 60 byte packets
1  192.168.250.1  0.454 ms  0.384 ms  0.341 ms
2  192.168.150.1  1.177 ms  1.142 ms  1.091 ms
..........
9  87.250.250.242  10.984 ms  10.768 ms  10.716 ms

Удостоверимся, что компьютер выходит в интернет через основной канал связи:

$ traceroute -n ya.ru
traceroute to ya.ru (87.250.250.242), 30 hops max, 60 byte packets
1  192.168.250.1  0.329 ms  0.225 ms  0.172 ms
2  192.168.50.1  0.376 ms  0.326 ms  0.394 ms
..........
9  87.250.250.242  8.377 ms  10.626 ms  11.813 ms

Маршрутизация на основе политик

Существуют два механизма маршрутизации: классический (на основе адреса назначения) и сравнительно новый (на основе политик). Маршрутизация на основе политик применяется в случае наличия нескольких сетевых интерфейсов и необходимости отправлять определенные пакеты через определенный интерфейс. Маршрут пакета определяется не только на основе адреса назначения — есть возможность анализа практически любых полей пакета.

В основе маршрутизации с использованием политик лежат четыре понятия:

  • Адрес () определяет ip-адрес места назначения пакета
  • Маршрут () задает путь пакета, как в традиционной маршрутизации
  • Таблица маршрутизации () состоит из набора нескольких маршрутов
  • Правила () позволяют отбирать нужные пакеты и направлять по заданному маршруту

Просмотр маршрутов в Linux

Команда выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи.

$ $ route --help
Использование: route    Отобразить таблицу маршрутизации ядра
       route   {add|del|flush} ... Изменить таблицу маршрутизации для AF.

       route {-h|--help}  Детальное описание использование указанной AF.
       route {-V|--version} Отобразить версию/автора и выйти.

        -v, --verbose более детальный вывод
        -n, --numeric не преобразовывать адреса в имена
        -e, --extend отображать другую/больше информации
        -F, -fib отобразить информацию форвардинга базы (по умолчанию)
        -C, --cache отобразить кэш маршрутизации вместо FIB

  <AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet
  Список возможный адресных семейств (которые поддерживают маршрутизацию):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25)

Просмотр таблицы маршрутизации:

$ route
Таблица маршрутизации ядра протокола IP
Destination     Gateway    Genmask         Flags   Metric   Ref   Use   Iface
default         _gateway   0.0.0.0         UG      100      0     0     enp0s3
link-local      0.0.0.0    255.255.0.0     U       1000     0     0     enp0s3
192.168.110.0   0.0.0.0    255.255.255.0   U       100      0     0     enp0s3
$ route -n
Таблица маршрутизации ядра протокола IP
Destination     Gateway         Genmask         Flags   Metric   Ref   Use   Iface
0.0.0.0         192.168.110.1   0.0.0.0         UG      100      0     0     enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U       1000     0     0     enp0s3
192.168.110.0   0.0.0.0         255.255.255.0   U       100      0     0     enp0s3

Утилита предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:

$ sudo apt install traceroute
$ traceroute ya.ru
traceroute to ya.ru (87.250.250.242), 30 hops max, 60 byte packets
 1  _gateway (192.168.110.1)  0.697 ms  0.607 ms  0.584 ms
 2  78.107.125.69 (78.107.125.69)  2.050 ms  1.967 ms  1.777 ms
 3  stpert-bng1-local.msk.corbina.net (85.21.0.172)  1.679 ms  1.605 ms  1.499 ms
 4  10.2.254.10 (10.2.254.10)  2.215 ms  2.180 ms  2.167 ms
 5  korova-bb-be5.corbina.net (195.14.54.195)  3.577 ms  3.544 ms  3.824 ms
 6  85.21.224.96 (85.21.224.96)  2.645 ms  2.208 ms  2.149 ms
 7  m9-crs-be13.corbina.net (85.21.224.54)  3.762 ms  3.207 ms  3.794 ms
 8  m9-br-be3.corbina.net (195.14.62.85)  3.716 ms  3.639 ms m9-br-be1.corbina.net (195.14.54.79)  3.559 ms
 9  corbina-gw.dante.yandex.net (83.102.145.178)  6.750 ms  11.716 ms  16.226 ms
10  ya.ru (87.250.250.242)  5.330 ms  8.678 ms  8.628 ms

Поиск:
Linux • Windows • Локальная сеть • route • Маска сети • Шлюз • Маршрут • Таблица • Адрес • Команда

Планирование расширения

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

Будет она вот такой:

То есть прибавляются две точки в Санкт-Петербурге: небольшой офис на Васильевском острове и сам завод в Озерках — и одна в Кемерово в районе Красная горка.

Для простоты у нас будет один провайдер “Балаган Телеком”, который на выгодных условиях предоставит нам L2VPN до обеих точек. В одном из следующих выпусков мы тему различных вариантов подключения раскроем в красках. А пока вкратце: L2VPN — это, очень грубо говоря, когда вам провайдер предоставляет влан от точки до точки (можно для простоты представить, что они включены в один коммутатор).

Следует сказать несколько слов об IP-адресации и делении на подсети. В нулевой части мы уже затронули вопросы планирования, весьма вскользь надо сказать. Вообще, в любой более или менее большой компании должен быть некий регламент — свод правил, следуя которому вы распределяете IP-адреса везде

Сеть у нас сейчас разрастается и разработать его очень важно

Ну вот к примеру, скажем, что для офисов в других городах это будет так:

Это весьма упрощённый регламент, но теперь мы во всяком случае точно знаем, что у шлюза всегда будет 1-й адрес, до 12-го мы будем выдавать коммутаторам и всяким wi-fi-точкам, а все сервера будем искать в диапазоне 172.16.х.13-172.16.х.23. Разумеется, по своему вкусу вы можете уточнять регламент вплоть до адреса каждого сервера, добавлять в него правило формирования имён устройств, доменных имён, политику списков доступа и т.д.

Чем точнее вы сформулируете правила и строже будете следить за их выполнением, тем проще разбираться в структуре сети, решать проблемы, адаптироваться к ситуации и наказывать виновных.Это примерно, как схема запоминания паролей: когда у вас есть некое правило их формирования, вам не нужно держать в голове несколько десятков сложнозапоминаемых паролей, вы всегда можете их вычислить.

Вот так же и тут. Я некогда работал в средних размеров холдинге и знал, что если я приеду в офис где-нибудь в забытой коровами деревне, то там точно x.y.z.1 — это циска, x.y.z.2 — дистрибьюшн-свитч прокурва, а x.y.z.101 — компьютер главного бухгалтера, с которого надо дать доступ на какой-нибудь контур-экстерн.

Было дело парнишка решил сам управлять всем доступом в интернет (обычно это делал я на маршрутизаторе). Поставил proxy-сервер, случайно поднял на нём NAT и зарулил туда трафик локальной сети, на всех машинах прописав его в качестве шлюза по умолчанию, а потом я минут 20 разбирался, как так: у них всё работает, а мы их не видим.

Специальные подсети

31-разрядные Подсети

30-битная маска подсети допускает четыре IPv4 адреса: два адреса узла, одна сеть с нулями и один широковещательный адрес с единицами. Двухточечное соединение может иметь только два адреса узла. Нет реальной необходимости иметь широковещательные и нулевые адреса с каналами «точка-точка». 31-битная маска подсети допускает ровно два адреса узла и исключает широковещательные и нулевые адреса, таким образом сохраняя использование IP-адресов до минимума для двухточечных соединений.

См. RFC 3021 — Using 31-bit Prefixes on IPv4 Point-to-Point Links.

Маска 255.255.255.254 или/31.

Подсеть/31 может использоваться в реальных двухточечных соединениях, таких как последовательные интерфейсы или интерфейсы POS. Однако они также могут использоваться в широковещательных интерфейсах, таких как интерфейсы Ethernet. В этом случае убедитесь, что в этом сегменте Ethernet требуется только два IPv4 адреса.

Пример

192.168.1.0 и 192.168.1.1 находятся на подсети 192.168.1.0/31.

R1(config)#int gigabitEthernet 0/1R1(config-if)#ip address 192.168.1.0 255.255.255.254% Warning: use /31 mask on non point-to-point interface cautiously

Предупреждение печатается, так как gigabitEthernet является широковещательным сегментом.

32-разрядные Подсети

Маска подсети 255.255.255.255 (a/32 subnet) описывает подсеть только с одним IPv4 адресом узла. Эти подсети не могут использоваться для назначения адресов сетевым каналам связи, поскольку им всегда требуется более одного адреса на канал. Использование/32 строго зарезервировано для использования на каналах, которые могут иметь только один адрес. Примером для маршрутизаторов Cisco является интерфейс обратной связи. Эти интерфейсы являются внутренними и не подключаются к другим устройствам. Таким образом, они могут иметь подсеть/32.

Пример

interface Loopback0 ip address 192.168.2.1 255.255.255.255

Поиск оптимального маршрута

Смотрите на следующем рисунке участок дорожной сети с узлами и построенного маршрута с порядковыми номерами посещенных домов:

Кроме уже означенной проблемы с направлениями движения, местами можно заметить странный порядок нумерации — например, смотрите номера 245,246,247 и другие. Вы можете захотеть «покрутить» доступные параметры для алгоритма отжига — но, даже если это удастся сделать, найденные подходящие параметры для конкретного маршрута не помогут с любым другим маршрутом. Вместо попыток подбора параметров и увеличения времени вычисления следует заняться улучшением дорожной сети (и матрицы расстояний), например, за счет жесткого указания направлений движения.

Статический маршрут в Windows — как прописать? Примеры использования утилиты route

Статическая маршрутизация — это когда маршруты указываются в явном виде, при конфигурации маршрутизатора (сетевой карты). Вся маршрутизация при этом происходит без участия каких-либо протоколов маршрутизации.

Предлагаю ознакомиться с предложениями моих партнёров

Статический маршрут — это заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути — явно указанный путь, по которому должен пройти пакет из пункта A в пункт B.

Синтаксис и основные ключи утилиты route

Поподробней о команде route.

Общий синтаксис route:

route

Основные ключи route:

  • -f — удаляет из таблицы маршрутизации все маршруты;
  • -p – сохраняет маршрут на постоянную основу;
  • add – добавляет новый маршрут;
  • change — меняет текущий маршрут в таблице маршрутизации;
  • delete — удаляет маршрут из таблицы маршрутизации;
  • print — отображает содержимое таблицы маршрутизации;
  • destination — при добавлении или изменении маршрута этот параметр используется для указания идентификатора сети назначения;
  • mask — при добавлении или изменении маршрута этот параметр используется для указания маски подсети для сети назначения;
  • gateway — при добавлении или изменении нового маршрута этот параметр используется для указания шлюза (маршрутизатора или модема);
  • metric — используется для указания целого числа в диапазоне от 1 до 9999, являющегося метрикой стоимости для маршрута. Если для определенной сети назначения существует несколько возможных маршрутов, будет использован маршрут с наименьшим значением метрики;
  • if — используется для указания номера индекса интерфейса, который подключен к сети назначения.

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

Думаю Вам интересней, о статическом маршруте на обыкновенном компьютере с операционной системой Windows.

Если у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находится в другой сети, и поэтому недоступен со второго компа.

Примеры использования утилиты route

Давайте с Вами пропишем маршрут, который разрешит нам получить доступ к локальной сети при включенном VPN соединении, пригодится обычным пользователям, у которых дома более одного компьютера, а в Интернет выходят по средствам VPN.

Имеем локальную сеть: 192.168.1.0/24

Локальный IP первого компьютера (пусть он будет компьютер — A) – 192.168.1.2 (на котором присутствует VPN соединение)

Локальный IP второго компьютера (а этот компьютер — B) – 192.168.1.3

IP адрес шлюза т.е. модема – 192.168.1.1

Вам нужно прописать маршрут на компьютере A, чтобы он смог видеть компьютер B при включенном VPN соединении. Делается это следующем образом: запускаем командную строку Пуск->Выполнить->cmd и набираем следующую команду:

route –p add 192.168.1.0 mask 255.255.255.0 192.168.1.1

route – сама программа, которая работает с таблицей маршрутизации;
-p – ключ, который говорит, что маршрут будет постоянный, так как (Важное замечание!) без этого ключа все маршруты, которые Вы добавите удалятся после перезагрузке, поэтому если Вы хотите использовать маршрут всегда, то пропишите этот ключ, если только один раз, то его можно не писать;
add – команда, добавляющая запись в таблицу маршрутизации;
192.168.1.0 – сеть, с которой Вы хотите иметь связь;
mask 255.255.255.0 – маска подсети;
192.168.1.1 – адрес шлюза, обычно это адрес модема.

Добавив всего один маршрут, Вы получите доступ к своей сети при подключенном Интернете, т.е. VPN соединении.

Или у Вас дома подключение к Интернету через модем ADSL но Вам требуется подключение к VPN сети, и соответственно выхода в Интернет через свой канал у Вас уже не будет. Но с помощью статического маршрута можно получить доступ к определенным сайтам (узнав предварительно их ip адреса), к которым Вам бы хотелось иметь постоянный доступ (и при подключенном VPN соединении и не подключенном). Если сайт имеет ip адрес 172.18.24.13, а шлюз имеет IP адрес 192.168.0.1, надо прописать так:

route –p add 172.18.24.13 mask 255.255.255.255 192.168.0.1

Изучение IP-адресов

IP
-адрес — это адрес, который используется для уникальной идентификации устройства в IP-сети. Адрес состоит из 32 двоичных разрядов и с помощью маски подсети может делиться на часть сети и часть главного узла. 32 двоичных разряда разделены на четыре октета (1 октет = 8 битов). Каждый октет преобразуется в десятичное представление и отделяется от других октетов точкой. Поэтому принято говорить, что IP-адрес представлен в десятичном виде с точкой (например, 172.16.81.100). Значение в каждом октете может быть от 0 до 255 в десятичном представлении или от 00000000 до 11111111 в двоичном представлении.

Ниже приведен способ преобразования двоичных октетов в десятичное представление: Самый правый бит (самый младший разряд) октета имеет значение 20.Расположенный слева от него бит имеет значение 21.И так далее — до самого левого бита (самого старшего разряда), который имеет значение 27. Таким образом, если все двоичные биты являются единицами, эквивалентом в десятичном представлении будет число 255, как показано ниже:

    1  1  1  1 1 1 1 1
  128 64 32 16 8 4 2 1 (128+64+32+16+8+4+2+1=255)

Ниже приведен пример преобразования октета, в котором не все биты равны 1.

  0  1 0 0 0 0 0 1
  0 64 0 0 0 0 0 1 (0+64+0+0+0+0+0+1=65)

В этом примере показан IP-адрес, представленный в двоичном и десятичном форматах.

        10.       1.      23.      19 (decimal)
  00001010.00000001.00010111.00010011 (binary)

Эти октеты разделены таким образом, чтобы обеспечить схему адресации, которая может использоваться как для больших, так и для малых сетей. Существует пять различных классов сетей: от A до E (используются буквы латинского алфавита). Этот документ посвящен классам от A до C, поскольку классы D и E зарезервированы и их обсуждение выходит за рамки данного документа.

Примечание: Также обратите внимание, что сроки «Класс A, Класс B» и так далее используется в этом документе, чтобы помочь упрощать понимание IP-адресации и выделения подсети. Класс IP-адреса может быть определен из трех старших разрядов (три самых левых бита первого октета)

Для справки показаны адреса классов D и Е

Класс IP-адреса может быть определен из трех старших разрядов (три самых левых бита первого октета). Для справки показаны адреса классов D и Е.

Рисунок 1

Октеты 2,3 и 4 (следующие 24 бита) предоставлены сетевому администратору, который может разделить их на подсети и узлы. Адреса класса A используются в сетях с количеством узлов, превышающим 65 536 (фактически до 16777214 узлов!)!.

Октеты 3 и 4 (16 битов) предназначены для локальных подсетей и узлов. Адреса класса B используются в сетях с количеством узлов от 256 до 65534.

В адресе класса C первые три октета представляют собой сетевую часть. Октет 4 (8 битов) предназначен для локальных подсетей и узлов. Этот класс идеально подходит для сетей, в которых количество узлов не превышает 254.

Как узнать основной шлюз для локальной сети

Для доступа компьютера к локальной сети используется множество параметров, наиболее важными из которых являются ip адрес, маска подсети и основной шлюз.

И здесь мы рассмотрим, что такое основной шлюз для локальной сети, и как можно узнать данный параметр при самостоятельной настройке системы.

Для чего нужен основной шлюз в локальной сети?

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

Стоит отметить, что компьютеры при этом могут использовать разные протоколы связи (например, локальные и глобальные), которые предоставляют доступ к локальной или глобальной сети, соответственно.

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

При этом формирование IP адреса роутера (или выполняющего его роль ПО) напрямую зависит от адреса сетевого шлюза.

Таким образом, адрес основного шлюза фактически представляет собой IP адрес интерфейса устройства, с помощью которого осуществляется подключение компьютера к локальной сети

Для того чтобы связаться с определенным узлом данной сети, компьютер из другой сети (Сеть 2) ищет путь к нему в своей таблице маршрутизации. Если нужная информация там отсутствует, то узел направляет весь трафик через основной шлюз (роутер1) первой сети, который и настраивает соединение с нужным компьютером своего участка сети.

Иными словами, если при подключении к любому устройству в сети указать его IP адрес вручную, то трафик пойдет напрямую, без участия шлюза. В остальных случаях пакеты данных сперва попадают в «сортировочный центр» сети — основной шлюз, откуда потом благополучно рассылаются конечным устройствам.

— Значительное улучшение эффективности IP-маршрутизации. При этом для соединения с функциональными узлами других сегментов сети все узлы TCP/IP опираются на хранящуюся в основных шлюзах информацию. Соответственно, отдельные шлюзы в большой локальной сети не загружаются лишними данными, что существенно улучшает скорость обмена информацией между компьютерами.

— При наличии в сети нескольких интерфейсов (в частном случае — подключение на компьютере нескольких сетевых карт) для каждого из них может настраиваться свой шлюз «по умолчанию». При этом параметры соединения рассчитываются автоматически, и приоритет отправки трафика на свой основной шлюз получает наиболее быстрый сетевой интерфейс.

Как узнать основной шлюз для локальной сети?

Узнать основной шлюз для локальной сети можно с помощью командной строки на подключенном к сети компьютере или непосредственно в настройках используемого в качестве шлюза сетевого оборудования.

1. Посмотреть основной шлюз можно с помощью специальной команды ipconfig /all (о которой мы также рассказывали в статье как узнать ip адрес компьютера).

Для этого зайдите запустите окно командной строки (на на windows 7 «Пуск -> Все программы -> Стандартные -> Командная строка), введите ipconfig /all и нажмите клавишу Enter.

Нужный параметр здесь указан в строке «Основной шлюз».

2. Чтобы найти маску подсети и основной шлюз непосредственно в настройках маршрутизатора на любом подключенном к сети компьютере:

  • — откройте интернет-браузер;
  • — в адресной строке введите 192.168.1.1 (статический IP адрес маршрутизатора, проверить который можно на сервисной этикетке устройства, — в большинстве случаев это и есть искомый основной шлюз локальной сети) и нажмите клавишу Enter;
  • — введите аутентификационные данные (при заводских настройках в большинстве случаев — admin/admin);
  • — на странице основной информации об устройстве проверьте данные об установленном сетевом шлюзе.

3. Кроме того, узнать основной шлюз роутера можно в настройках активного сетевого соединения на компьютере. Для этого:

— в трее кликните правой кнопкой мыши по значку «подключение по сети»;

— перейдите в раздел контекстного меню «Состояние»

— в открывшемся окне зайдите во вкладку «Поддержка» и посмотрите строку «Основной шлюз».

Как узнать основной шлюз провайдера?

Основной шлюз для подключения к интернету можно также узнать из настроек маршрутизатора. Для этого зайдите в веб-интерфейс устройства (аналогично второму пункту данной инструкции) и на главной странице посмотрите нужную информацию.

Правила маршрутизации

Как же ядро выбирает, в какую таблицу отправлять пакеты? Мы уже знаем — для этого есть правила:

# ip rule show
0:     from all lookup local
32766: from all lookup main
32767: from all lookup default

Число в начале строки — идентификатор правила, — условие, означает пакеты с любых адресов, указывает, в какую таблицу направлять пакет. Если пакет подпадает под несколько правил, то он проходит их все по порядку возрастания идентификатора. Конечно, если пакет подпадет под какую-либо запись маршрутизации, то последующие записи маршрутизации и последующие правила он уже проходить не будет.

Возможные условия:

  • — отправитель пакета.
  • — получатель пакета.
  • — имя интерфейса, на который пришел пакет.
  • — имя интерфейса, с которого уходит пакет. Это условие действует только для пакетов, исходящих из локальных сокетов, привязанных к конкретному интерфейсу.
  • — значение поля TOS ip-пакета.
  • — проверка значения пакета. При помощи правил можно отфильтровать пакеты по огромному количеству признаков и установить определенные значения . А затем эти значения учитывать при роутинге.

Условия можно комбинировать, например , а также можно использовать префикc , который указывает, что пакет не должен соответствовать условию, чтобы подпадать под это правило.

Поиск:
Linux • Локальная сеть • Настройка • Таблица • ip route • ip rule • Правило • Маршрутизация • Сетевой интерфейс

Сохранение правил

Созданные с помощью утилиты правила пропадут при перезагрузке. Так что их нужно сохранить и восстанавливать при перезагрузке. В этом нам поможет пакет :

$ sudo apt install iptables-persistent

При установке пакета будет предложено сохранить текущие правила :

  • в файл для протокола IPv4
  • в файл для протокола IPv6

После установки пакета будет добавлена новая служба , которая при загрузке системы будет восстанавливать созданные нами правила:

$ systemctl status netfilter-persistent.service
● netfilter-persistent.service - netfilter persistent configuration
   Loaded: loaded (/lib/systemd/system/netfilter-persistent.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sat 2020-05-24 11:20:44 MSK; 2h 32min ago
  Process: 446 ExecStart=/usr/sbin/netfilter-persistent start (code=exited, status=0/SUCCESS)
 Main PID: 446 (code=exited, status=0/SUCCESS)

май 24 11:20:43 gateway systemd: Starting netfilter persistent configuration...
май 24 11:20:44 gateway systemd: Started netfilter persistent configuration.

Заключение

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

Если рассмотреть весь маршрут детально, то его еще можно улучшить, в том числе, с помощью оптимизации параметров функции pgr_TSP(). Но дело в том, что только путем оптимизации этих параметров подобного полученному выше результату добиться не удастся — в самом деле, алгоритм оптимизации маршрутов PgRouting ничего «не знает» про наши предпочтения о последовательной нумерации и другие. Так что поддержка односторонних дорог, на самом деле, дает нам намного больше, чем можно было бы ожидать.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector