Прописать маршрут: Как прописать статический маршрут? И зачем он нужен? | Info-Comp.ru

Как настроить статическую маршрутизацию на беспроводном роутере?

Your browser does not support JavaScript. Please turn it on for the best experience.

Поддержка

  1. Загрузки
  2. Часто задаваемые вопросы (FAQ)
  3. Форум технической поддержки
  4. Связаться со службой технической поддержки
  5. Симуляторы TP-Link
  6. Списки совместимых устройств

Где купить?

  1. Магазины
  2. Системные интеграторы
  3. Субдистрибьюторы
  4. Дистрибьюторы
  5. Проектные дистрибьюторы

Сообщество

Россия / Русский

TP-Link, Reliably Smart

TP-Link, Reliably Smart

Search


Требования к использованию


Дата последнего обновления: 05-28-2019 08:15:03 AM

498838

Эта статья подходит для: 

TL-WR841ND , TL-WR842ND , TL-WR843ND , Archer C5( V1. 20 ) , Archer C2( V1 ) , Archer C50( V1 ) , TL-WDR3500 , TL-WR720N , TL-WR841N , TL-WDR3600 , TL-WR710N , TL-WR740N , Archer C20i , TL-WR741ND , TL-WR940N , TL-WR743ND , TL-WR1043ND , Archer C7( V1 V2 V3 ) , TL-WR1042ND , TL-WR542G , TL-WR702N , TL-WR700N , TL-WR843N , TL-WR340G , TL-WDR4300 , TL-WR340GD , Archer C20( V1 ) , TL-MR3220 , TL-WR842N , TL-WR2543ND , TL-MR3020 , TL-WR840N , TL-MR3040 , TL-WR841HP , TL-WDR4900 , TL-WR941ND , TL-WR543G , TL-WR541G , TL-WR810N , TL-MR3420

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

Вот два типичных сценария, в качестве примеров, когда требуется статический маршрут, рассмотрим их.

Сценарий 1:

Проблема:
Шлюзом ПК-является роутер 2, который предоставляет доступ в интернет.
Когда ПК хочет подключиться к серверам сервер 1 и сервер 2, сначала запрос будет отправлен на роутер 2. Поскольку к сервер 1 и сервер 2 нет маршрута в таблице маршрутов роутера 2, запрос будет отклонен.

Решение: Добавление статического маршрута на роутере 2

Сетевые параметры: Серверы в сетевом сегменте: 172.30.30.0. Маска подсети IP для этого сегмента: 255.255.255.0

Сценарий 2:

Проблема: Шлюзом сети LAN является роутер 1, роутер 2 подключен по WDS к роутеру 1. В таблице маршрутизации роутера 2 нет записи маршрута от роутера 2 к NTP-серверу, поэтому роутер 2 не может синхронизировать время с NTP сервером.

Разрешение: Добавление статического маршрута на роутере 2

Сетевые параметры: IP-адрес сервера в Интернете — 132.163.4.101. Маска подсети IP для этого адреса 255.255.255.255

Шаги настройки:

Шаг 1. Зайдите на web – страницу настройки роутера.

Для этого в адресной строке браузера наберите 192.168.0.1

Шаг 2. Введите имя пользователя и пароль на странице входа. Имя пользователя и пароль по умолчанию — admin.

Шаг 3. В меню с левой стороны выберите раздел Настройки маршрутизацииСписок статических маршрутов.  

Шаг 4.

Нажмите Добавить ….

       В первом поле введите IP-адрес назначения.

       В втором поле введите маску подсети.

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

Пример ввода параметров для Сценария 1:

Пример ввода параметров для Сценария 2:

Если у Вас возникнуть какие либо сложности с настройкой, обратитесь в техническую поддержку TP-Link

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

Был ли этот FAQ полезен?

Ваш отзыв поможет нам улучшить работу сайта.

Что вам не понравилось в этой статье?

  • Недоволен продуктом
  • Слишком сложно
  • Неверный заголовок
  • Не относится к моей проблеме
  • Слишком туманное объяснение
  • Другое

Как мы можем это улучшить?

Спасибо

Спасибо за обращение
Нажмите здесь, чтобы связаться с технической поддержкой TP-Link.

Как прописать маршруты в роутере самостоятельно

Общие сведения
Провайдеры, предоставляющие доступ в пределах Интернета, по таким протоколам, как PPTP, PPPOE и L2TP, как правило, имеют локальные внутрисетевые ресурсы. Такой вид соединения характеризуется трафиком от клиентов за роутером, отправляемым в туннель поднятого соединения. Для этого соединения имеется нарезанная соответствующая полоса, обеспечивающая пропускание по намеченному тарифу. В таком случае электронные локальные ресурсы также будут ограничены данной полосой. Для того, чтобы получить беспрепятственный доступ к намеченным нами Интернет-ресурсам на максимальной скорости и в обход, вышеупомянутого туннеля, надо указать маршруты (статические) к локальной сети и электронным ресурсам. Для этого мы разберем, как прописать маршруты в роутере, на примере доступа к сайту, находящегося по IP-адресу 1.1.1.1.
Представим, что адрес, который нас интересует, является личным кабинетом пользователя, к которому нам перекрыт доступ из-за отсутствия финансов на счете и, соответственно, перекрывания туннеля поднятого соединения. Но, несмотря на это, попасть на ресурс возможно. Этого можно достичь посредствам прописки маршрута, то есть путем обхода туннеля поднятого соединения.

Пошаговая инструкция прописки статического маршрута на роутере TP-Link

  • Для достижения поставленной цели – обойти туннель поднятого соединения, необходимо предварительно настроить роутер так, как это показано ниже на рисунке – Network–WAN–Secondary Connection. Отметим, что обычно провайдерами используется внутренний DHCP, поэтому следует выбрать такой параметр, как Dynamic IP.

как прописать маршруты в роутере

По результатам действий будет выдан IP-адрес WAN, соответствующий интерфейсу 192.168.103.6 и маске 255.255.255.128.

  • На следующем этапе необходимо определить шлюз, установленный по умолчанию на WAN интерфейсе. Для этого требуется зайти в раздел Advanced Routing и далее в подраздел System Routing Table. По результатам данных манипуляций будет выдана информация по IP-адресу – 192.168.103. 126.

Определение шлюза по умолчанию на WAN

  • Далее требуется внести интересующий нас статический маршрут в раздел Advanced Routing. В этом разделе необходимо выбрать подраздел Static Routing List и кликнуть по кнопке Add New…, то есть до сайта, находящегося по IP-адресу 1.1.1.1. Последнее действие связано с тем, что добавляется лишь один адрес. По этой причине маска будет иметь следующий вид – 255.255.255.255. Необходимо отметить, что в таблицу маршрутизации можно включать то количество IP-адресов (подсетей), которое Вам необходимо.

Добавление IP-адресов (подсетей) в таблицу маршрутизации

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

Добавление IP-адресов (подсетей) в таблицу маршрутизации

  • На заключительном этапе необходимо проверить работу трафика на ПК, находящегося за ройтером. Для начала нужно нажать на Пуск, далее выполнить и cmd. После этого в поле, появившегося черного окна, требуется ввести tracert 1.1.1.1. Эта команда приведет к двум последовательным прыжкам. Первому прыжку будет соответствовать IP-адрес, интересующего нас роутера, в частности 192.168.1.1. Второму прыжку будет соответствовать адрес шлюза – 192.168.103.126. Последний момент указывает на то, что трафик до необходимого нам сайта идет в обход туннеля поднятого соединения. Результаты действий на заключительном этапе представлены на следующем рисунке.

Проверка трафика на ПК, находящегося за ройтером

Видео-урок, для тех кому лень читать:

Предыдущая

AsusНастройка роутера asus rt n66u самостоятельно

Следующая

TP-LinkРоутеры с поддержкой протокола PPPoE

Маршрутизаторы

— Django REST framework

маршрутизаторы.py

Маршрутизация ресурсов позволяет быстро объявить все общие маршруты для данного ресурсного контроллера. Вместо того, чтобы объявлять отдельные маршруты для вашего индекса… находчивый маршрут объявляет их в одной строке кода.

— Документация Ruby on Rails

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

Платформа REST добавляет поддержку автоматической маршрутизации URL-адресов в Django и предоставляет вам простой, быстрый и последовательный способ привязки логики представления к набору URL-адресов.

Вот пример простой конфигурации URL, в которой используется SimpleRouter .

 из маршрутизаторов импорта rest_framework
маршрутизатор = маршрутизаторы.SimpleRouter()
router.register(r'пользователи', UserViewSet)
router.register(r'accounts', AccountViewSet)
urlpatterns = router.urls
 

Есть два обязательных аргумента для register() метод:

  • префикс — Префикс URL для использования для этого набора маршрутов.
  • viewset — Класс набора представлений.

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

  • базовое имя — База, используемая для создаваемых URL-имен. Если не установлено, базовое имя будет автоматически сгенерировано на основе атрибута queryset набора представлений, если он есть. Обратите внимание, что если набор представлений не включает 9account/{pk}/$ Имя: 'детали учетной записи'

Примечание : Аргумент basename используется для указания начальной части шаблона имени представления. В приведенном выше примере это часть пользователя или учетной записи .

Как правило, вам не потребуется для указания аргумента basename , но если у вас есть набор представлений, в котором вы определили пользовательский метод get_queryset , то набор представлений может не иметь аргумента0015 . queryset набор атрибутов. Если вы попытаетесь зарегистрировать этот набор представлений, вы увидите такую ​​ошибку:

 Аргумент «базовое имя» не указан, и вы не можете автоматически определить имя из набора представлений, так как у него нет атрибута «.queryset».
 

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


Использование

включает с маршрутизаторами

Атрибут .urls экземпляра маршрутизатора — это просто стандартный список шаблонов URL. Существует несколько различных стилей включения этих URL-адресов.

Например, вы можете добавить router.urls к списку существующих представлений…

 router = routers.SimpleRouter()
router.register(r'пользователи', UserViewSet)
router.register(r'accounts', AccountViewSet)
URL-шаблоны = [
    путь('забыл-пароль/', ForgotPasswordFormView. as_view()),
]
urlpatterns += router.urls
 

В качестве альтернативы вы можете использовать функцию Django include , например…

 urlpatterns = [
    путь('забыл-пароль', ForgotPasswordFormView.as_view()),
    путь('', включить(router.urls)),
]
 

Вы можете использовать include с пространством имен приложения:

 urlpatterns = [
    путь('забыл-пароль/', ForgotPasswordFormView.as_view()),
    path('api/', include((router.urls, 'app_name'))),
]
 

Или пространство имен приложения и экземпляра:

 шаблоны URL = [
    путь('забыл-пароль/', ForgotPasswordFormView.as_view()),
    path('api/', include((router.urls, 'app_name'), namespace='instance_name')),
]
 

Дополнительные сведения см. в документации по пространствам имен URL-адресов Django и в справочнике API include .


Примечание : при использовании пространства имен с сериализаторами с гиперссылками вам также необходимо убедиться, что любые параметры view_name
в сериализаторах правильно отражают пространство имен. В приведенных выше примерах вам нужно будет включить такой параметр, как
view_name='app_name:user-detail' для полей сериализатора с гиперссылками на представление сведений о пользователе.

Автоматическое создание view_name использует такой шаблон, как %(model_name)-detail . Если имена ваших моделей на самом деле не конфликтуют
вам может быть лучше использовать пространство имен , а не для ваших представлений Django REST Framework при использовании сериализаторов с гиперссылками.


Набор представлений может помечать дополнительные действия для маршрутизации, украшая метод декоратором @action . Эти дополнительные действия будут включены в сгенерированные маршруты. Например, учитывая 9пользователей/{pk}/set_password/$

  • URL-имя: 'набор-пароль пользователя'
  • По умолчанию шаблон URL-адреса основан на имени метода, а имя URL-адреса представляет собой комбинацию ViewSet. basename и имени метода через дефис.
    Если вы не хотите использовать значения по умолчанию для любого из этих значений, вы можете вместо этого предоставить аргументы url_path и url_name декоратору @action .

    Например, если вы хотите изменить URL-адрес нашего пользовательского действия на 9users/{pk}/change-password/$ , вы можете написать:

     из myapp.permissions import IsAdminOrIsSelf
    из действия импорта rest_framework.decorators
    класс UserViewSet (ModelViewSet):
        ...
        @action(methods=['post'], detail=True, permission_classes=[IsAdminOrIsSelf],
                url_path='изменить-пароль', url_name='изменить_пароль')
        def set_password (я, запрос, pk = нет):
            ...
     

    Приведенный выше пример теперь будет генерировать следующий шаблон URL:

    • Путь URL: 9пользователей/{pk}/изменить пароль/$
    • Имя URL: 'user-change_password'

    Этот маршрутизатор включает маршруты для стандартного набора list , create , Reget , update , partial_update и destroy действий. Набор представлений также может помечать дополнительные методы для маршрутизации с помощью декоратора @action .

    Стиль URL Метод HTTP Действие URL Name
    {prefix}/ GET list {basename}-list
    POST create
    {prefix}/{url_path}/ GET, or как указано в аргументе `methods` `@action(detail=False)` декорированный метод {basename}-{url_name}
    {prefix}/{lookup}/ GET {reget

    6 базовое имя}-деталь

    PUT update
    PATCH partial_update
    DELETE destroy
    {prefix}/{lookup}/{url_path}/ GET, or as specified by `methods` argument `@action(detail=True)` декорированный метод {basename}-{url_name}

    По умолчанию URL-адреса, созданные SimpleRouter , добавляются с завершающей косой чертой.
    Это поведение можно изменить, установив параметр trailing_slash аргумент для False при создании экземпляра маршрутизатора. Например:

     router = SimpleRouter(trailing_slash=False)
     

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

    Маршрутизатор будет сопоставлять значения поиска, содержащие любые символы, кроме косой черты и символов точки. Для более ограничительного (или мягкого) шаблона поиска установите атрибут lookup_value_regex в наборе представлений. Например, вы можете ограничить поиск действительными UUID:

     class MyModelViewSet(mixins.RetrieveModelMixin, viewsets.GenericViewSet):
        lookup_field = 'my_model_id'
        lookup_value_regex = '[0-9a-f]{32}'
     

    Этот маршрутизатор похож на SimpleRouter , как указано выше, но дополнительно включает корневое представление API по умолчанию, которое возвращает ответ, содержащий гиперссылки на все представления списка. Он также генерирует маршруты для дополнительных Суффиксы формата стиля .json .

    902-6 detail

    URL Style HTTP Method Action URL Name
    [.format] GET automatically generated root view api-root
    {prefix}/[.format ] GET list {basename}-list
    POST create
    {prefix}/{url_path}/[.format] GET, or as specified by `methods` argument `@action(detail=False)` украшенный метод {basename}-{url_name}
    {prefix}/{lookup}/[.format] GET получить
    PUT update
    PATCH partial_update
    DELETE destroy
    {prefix}/{lookup}/{url_path}/[. format] GET, or как указано в аргументе `methods` `@action(detail=True)` декорированный метод {basename}-{url_name}

    Как и в случае SimpleRouter , конечные косые черты в URL-маршрутах можно удалить, установив для аргумента trailing_slash значение Ложь при создании маршрутизатора.

     маршрутизатор = Маршрутизатор по умолчанию (trailing_slash = False)
     

    Реализация пользовательского маршрутизатора — это не то, что вам нужно делать очень часто, но это может быть полезно, если у вас есть особые требования к структуре URL-адресов для вашего API. Это позволяет вам инкапсулировать структуру URL-адресов повторно используемым способом, что гарантирует, что вам не нужно явно писать шаблоны URL-адресов для каждого нового представления.

    Самый простой способ реализовать собственный маршрутизатор — создать подкласс одного из существующих классов маршрутизатора. Атрибут .routes используется для создания шаблонов шаблонов URL, которые будут сопоставлены с каждым набором представлений. Атрибут .routes представляет собой список именованных кортежей Route .

    Аргументы именованного кортежа Route :

    url : Строка, представляющая URL для маршрутизации. Может включать следующие строки формата:

    • {префикс} — префикс URL для использования для этого набора маршрутов.
    • {lookup} — Поле поиска, используемое для сопоставления с одним экземпляром.
    • {trailing_slash} — Либо ‘/’, либо пустая строка, в зависимости от аргумента trailing_slash .

    сопоставление : сопоставление имен методов HTTP с методами представления

    имя : имя URL-адреса, используемое в обратных вызовах. Может включать следующую строку формата:

    • {базовое имя} — база, используемая для создаваемых URL-имен.

    initkwargs : Словарь любых дополнительных аргументов, которые должны передаваться при создании экземпляра представления. Обратите внимание, что аргументы detail , basename и suffix зарезервированы для самоанализа набора представлений, а также используются просматриваемым API для создания имени представления и ссылок навигационной цепочки.

    Вы также можете настроить @action декоратор перенаправлен. Включите именованный кортеж DynamicRoute в список .routes , установив аргумент detail в соответствии с маршрутами на основе списка и на основе сведений. В дополнение к детали аргументы для DynamicRoute :

    url : строка, представляющая URL-адрес для маршрутизации. Может включать те же строки формата, что и Route , и дополнительно принимает строку формата {url_path} .

    имя : Имя URL, используемое в обратных вызовах . Может включать следующие строки формата:

    • {базовое имя} — база, используемая для создаваемых URL-имен.
    • {url_name} url_name , предоставленный @action .

    initkwargs : Словарь любых дополнительных аргументов, которые должны передаваться при создании экземпляра представления.

    В следующем примере будет маршрутизироваться только к 9{префикс}/{поиск}/{url_path}$’,
    name='{базовое имя}-{url_name}’,
    деталь = Верно,
    initkwargs={}
    )
    ]

    Давайте посмотрим на маршруты, которые наш CustomReadOnlyRouter сгенерировал бы для простого набора представлений.

    views.py :

     класс UserViewSet (viewsets.ReadOnlyModelViewSet):
        """
        Набор представлений, обеспечивающий стандартные действия
        """
        набор запросов = User.objects.all()
        serializer_class = UserSerializer
        lookup_field = 'имя пользователя'
        @действие (деталь = Истина)
        def group_names (я, запрос, pk = нет):
            """
            Возвращает список всех имен групп, которые заданы
            пользователь принадлежит. 
            """
            пользователь = self.get_object()
            группы = пользователь.группы.все()
            return Response([group.name для группы в группах])
     

    urls.py :

     маршрутизатор = CustomReadOnlyRouter()
    router.register('пользователи', UserViewSet)
    urlpatterns = router.urls
     

    The following mappings would be generated…

    URL HTTP Method Action URL Name
    /users GET list user-list
    /users /{username} GET получить данные пользователя
    /users/{username}/group_names GET group_names user-group-names

    For another example of setting the .routes attribute, see the source code for the SimpleRouter сорт.

    Если вы хотите обеспечить полностью индивидуальное поведение, вы можете переопределить BaseRouter и переопределить метод get_urls(self) . Метод должен проверять зарегистрированные наборы представлений и возвращать список шаблонов URL. Зарегистрированные кортежи префикса, представления и базового имени можно проверить, обратившись к атрибут self.registry .

    Вы также можете переопределить метод get_default_basename(self, viewset) или всегда явно устанавливать аргумент basename при регистрации ваших наборов представлений на маршрутизаторе.

    Также доступны следующие сторонние пакеты.

    Пакет drf-nested-routers предоставляет маршрутизаторы и поля отношений для работы с вложенными ресурсами.

    Пакет wq.db предоставляет расширенный класс ModelRouter (и экземпляр singleton), который расширяет DefaultRouter с API register_model() . Как и в Django admin.site.register , единственным обязательным аргументом для rest.router.register_model является класс модели. Разумные значения по умолчанию для префикса URL, сериализатора и набора представлений будут получены из модели и глобальной конфигурации.

     из wq.db импортировать остальные
    из myapp.models импортировать MyModel
    rest.router.register_model(МояМодель)
     

    Пакет DRF-extensions предоставляет маршрутизаторы для создания вложенных наборов представлений, контроллеры уровня коллекции с настраиваемыми именами конечных точек.

    19. Регистрация URL-маршрутов — Flask API

    Обычно существует три способа определения правил для системы маршрутизации:

    1. Вы можете использовать декоратор flask.Flask.route() .
    2. Вы можете использовать функцию flask.Flask.add_url_rule() .
    3. Вы можете получить прямой доступ к базовой системе маршрутизации Werkzeug.
      который отображается как flask.Flask.url_map .

    Переменные части маршрута могут быть указаны с помощью угловых скобок
    ( /user/<имя пользователя> ). По умолчанию переменная часть URL-адреса принимает любые
    строка без косой черты, однако можно указать другой преобразователь
    хорошо, используя .

    Переменные части передаются функции представления в качестве аргументов ключевого слова.

    Доступны следующие преобразователи:

    строка принимает любой текст без косой черты (по умолчанию)
    внутр. принимает целые числа
    поплавок аналогично int , но для значений с плавающей запятой
    путь как по умолчанию, но также принимает косую черту
    любой соответствует одному из предоставленных предметов
    идентификатор пользователя принимает строки UUID

    Пользовательские преобразователи можно определить с помощью фляга.Фласк.url_map .

    Вот несколько примеров:

     @app. route('/')
    индекс определения():
        проходить
    @app.route('/<имя пользователя>')
    деф show_user (имя пользователя):
        проходить
    @app.route('/post/')
    деф show_post (post_id):
        проходить
     

    Важно помнить, как Flask справляется с трейлингом
    косая черта. Идея состоит в том, чтобы каждый URL-адрес оставался уникальным, поэтому следующие правила
    apply:

    1. Если правило заканчивается косой чертой и запрошено без косой черты
      пользователя, пользователь автоматически перенаправляется на ту же страницу с
      косая черта прилагается.
    2. Если правило не заканчивается косой чертой и пользователь запрашивает
      страница с косой чертой в конце, возникает ошибка 404 not found.

    Это соответствует тому, как веб-серверы обрабатывают статические файлы. Этот
    также позволяет безопасно использовать цели относительных ссылок.

    Вы также можете определить несколько правил для одной и той же функции. Они должны быть
    уникальный однако. Также можно указать значения по умолчанию. Вот, например,
    определение для URL-адреса, который принимает необязательную страницу:

     @app.route('/users/', по умолчанию={'страница': 1})
    @app.route('/users/page/')
    определение show_users (страница):
        проходить
     

    Указывает, что /users/ будет URL первой страницы и
    /users/page/N будет URL-адресом страницы N .

    Вот параметры, которые route() и
    add_url_rule() принять. Единственная разница в том, что
    с параметром маршрута функция просмотра определяется с помощью декоратора
    вместо параметр view_func .

    правило правило URL как строка
    конечная точка конечная точка для зарегистрированного правила URL. Сама колба
    предполагает, что имя функции представления является именем
    конечной точки, если это не указано явно.

    Imacros | Все права защищены © 2021