Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Нет скина)
  • Нет скина
Collapse

Networks Engineering

  1. Главная
  2. Информационная безопасность
  3. Сетевая безопасность
  4. Подсети на устройстве в поддоменах

Подсети на устройстве в поддоменах

Запланировано Прикреплена Закрыта Перенесена Сетевая безопасность
5 Сообщения 0 Posters 0 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • S Не в сети
    S Не в сети
    sullinsms
    написал в отредактировано
    #1

    Я пытаюсь настроить подинтерфейсы на устройстве, расположенном в поддоменах. Мне не удается это сделать. При использовании API-explore я получаю следующую ошибку. Я также попробовал использовать приведенный ниже код на языке Python. Устройства: FMC virtual 6.6.1
    FTD virtual 6.6.1 Ошибка API-Explorer { «error»: { «категория»: «FRAMEWORK», «сообщения»: [ { "description": "У вас нет необходимых полномочий для выполнения этой операции." } ], "severity": "ERROR" } } Код API-Explorer { «тип»: «SubInterface», «vlanId»: 30, «subIntfId»: 12345, «enabled»: true, «MTU»: 1500, «managementOnly»: false, «enableAntiSpoofing»: true, «enableSGTPropagate»: true, «ifname»: «Intf_name», «name»: «GigabitEthernet0/1», «overrideDefaultFragmentSetting»: { «size»: 200, «chain»: 24, «timeout»: 5 }, "ipv4": { "static": { "address": "1.2.3.4", «сетевая маска»: «25» } } } ![sullinsms_0-1624735514001.png] ![sullinsms_1-1624735514016.png] Ошибка кода Python Тест ответа {"error":{"category":"FRAMEWORK","messages":[{"description":"Недопустимый запрос"}],"severity":"ERROR"}} Ответ <response [404]=""> Код Python def configure_subinterface(addr: str = None, token: str = None): print("" * 80) print("Создать подинтерфейсы") db_list0 = {} db_list1 = {} с os.scandir('./') как записи: for entry in entries: db_list0[entry.name] = entry.name print("" * 80) ftdinterface = selectFromDict(db_list0, 'FTD interface backup to restore') с open(ftdinterface) как readfile: subinterface = json.load(readfile) с os.scandir('./') как записи: for entry in entries: db_list1[entry.name] = entry.name print("" * 80) ftdrecord = selectFromDict(db_list1, 'FTD device to apply interface') print("" * 80) с open(ftdrecord) как readfile: devicerecord = json.load(readfile) domainuuid = ("e276abec-e0f2-11e3-8169-6d9ed49b625f/ " + devicerecord['items'][0]['metadata']['domain']['id']) deviceuuid = devicerecord['items'][0]['id'] payload = json.dumps([ { "type": "SubInterface", "vlanId": 30, "subIntfId": 12345, "enabled": True, "MTU": 1500, «managementOnly»: True, «enableAntiSpoofing»: True, «enableSGTPropagate»: True, «ifname»: «Intf_name», «name»: «GigabitEthernet0/1», «overrideDefaultFragmentSetting»: { «size»: 200, «chain»: 24, «timeout»: 5 }, «зона безопасности»: { "id": "a5d02a5e-d1ce-11eb-9144-f657a2d3df95", «тип»: «SecurityZone» }, «ipv4»: { «static»: { "address": "1.2.3.4", «netmask»: «25» } } } ]) api_uri = f"/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/ 7f180e2c-ce4a-489f-57df-000000000001/devices/devicerecords/{deviceuuid}/subinterfaces?bulk=true" url = "https://" + addr + api_uri headers = { "X-auth-access-token": token } response = requests.request("POST", url, headers=headers, data=json.dumps(payload), verify=False)</response>

    1 ответ Последний ответ
    0
    • J Не в сети
      J Не в сети
      jarsmith
      написал в отредактировано
      #2

      Я полагаю, что ваша проблема связана с доменом. Если вы посмотрите на URL-адрес: https://fmc.cisco.com/api/fmc_config/v1/domain/bad037b7-11fa-32d5-caf6-000000000000/devices/devicerecords/421e39c2-e4b8-11eb-9b7e-efd0ba43de90/subinterfaces Обратите особое внимание на домен. Я сделал следующее: 1. Добавил VFTD и поместил его в мой новый субдомен 2. Я создал нового пользователя с ролью администратора, который является членом как глобального домена, так и моего субдомена Сначала я зашел в API Explorer, где домен был выбран как «global» ![domain_selector.png] Я получил ту же ошибку, что и вы, когда домен был установлен как «global», но когда я поменял его на «Global/child_domain», ошибка исчезла, и подинтерфейс был успешно создан. Я полагаю, что это просто замена uuid домена в URL на дочерний домен. Мой документ JSON выглядел следующим образом: {
      "type": "SubInterface",
      "vlanId": 10,
      "subIntfId": 1,
      "MTU": 1500,
      "enabled": true,
      "managementOnly": false,
      "mode": "NONE",
      "enableSGTPropagate": true,
      "ipv4": {
      "static": {
      "address": "192.168.6.1",
      "netmask": "255.255.255.0"
      }
      },
      "ipv6": {
      "enableRA": true,
      "enableIPV6": false,
      "enforceEUI64": false,
      "enableAutoConfig": false,
      "enableDHCPAddrConfig": false,
      "enableDHCPNonAddrConfig": false,
      "dadAttempts": 1,
      "nsInterval": 1000,
      "reachableTime": 0,
      "raLifeTime": 1800,
      "raInterval": 200
      },
      "enableAntiSpoofing": false,
      "fragmentReassembly": false,
      "ifname": "sub2",
      "name": "GigabitEthernet0/2",
      } Я предлагаю убедиться, что у вас есть URL-адрес с правильным субдоменом, и, полагаю, ваша проблема будет решена. Обманчиво то, что, похоже, вы можете выполнить GET с глобальным URL-адресом, но вы можете выполнить POST только с дочерним доменом в URL-адресе. Полагаю, то же самое верно и для PUT.

      1 ответ Последний ответ
      0
      • R Не в сети
        R Не в сети
        ross
        написал в отредактировано
        #3

        Я сейчас на мобильном, поэтому не смог тщательно изучить этот вопрос, но вы создали ключ API в глобальном домене, а затем пытались отправить данные в субдомен? Я не помню, должно ли это работать или нет. Попробуйте отправить данные в глобальный домен, но с правильным ID устройства. Завтра, когда буду у своего компьютера, я еще раз посмотрю для вас. Раньше я делал это без проблем в версии 6.3.

        1 ответ Последний ответ
        0
        • S Не в сети
          S Не в сети
          sullinsms
          написал в отредактировано
          #4

          Да, я пробовал этот метод. Результаты см. ниже. Запись устройства для FMC https://172.16.40.2/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords Тело ответа { «links»: { «self»: «
          https://172.16.40.2/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords?offset=0&limit=1
          » }, «items»: [ { "id": "16836780-d1ab-11eb-b26b-ec8dd1d64550", "type": "Device", «ссылки»: { «self»: «
          https://172.16.40.2/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords/16836780-d1ab-11eb-b26b-ec8dd1d64550
          " }, «name»: «FTDv2» } ], «paging»: { "offset": 0, "limit": 1, "count": 1, «pages»: 1 } } Код Python для интерфейса post def configure_subinterface(addr: str = None, token: str = None): print("" * 80) print("Создать подинтерфейсы") db_list0 = {} db_list1 = {} с os.scandir('./') как записи: for entry in entries: db_list0[entry.name] = entry.name print("" * 80) ftdinterface = selectFromDict(db_list0, 'FTD interface backup to restore') с open(ftdinterface) как readfile: subinterface = json.load(readfile) с os.scandir('./') как записи: for entry in entries: db_list1[entry.name] = entry.name print("" * 80) ftdrecord = selectFromDict(db_list1, 'FTD device to apply interface') print("" * 80) с open(ftdrecord) как readfile: devicerecord = json.load(readfile) deviceuuid = devicerecord['items'][0]['id'] payload = json.dumps( { "type": "SubInterface", "vlanId": 30, "subIntfId": 12345, "enabled": True, "MTU": 1500, «managementOnly»: True, «enableAntiSpoofing»: True, «enableSGTPropagate»: True, «ifname»: «Intf_name», «name»: «GigabitEthernet0/1», «overrideDefaultFragmentSetting»: { «size»: 200, «chain»: 24, «timeout»: 5 }, «зона безопасности»: { "id": "a5d02a5e-d1ce-11eb-9144-f657a2d3df95", «тип»: «SecurityZone» }, «ipv4»: { «static»: { "address": "1.2.3.4", "netmask": "25" } } } ) api_uri = f"/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords/16836780-d1ab-11eb-b26b-ec8dd1d645508/subinterfaces" url = "https://" + addr + api_uri headers = { "X-auth-access-token": token } response = requests.request("POST", url, headers=headers, data=(payload), verify=False) print("Device uuid " + deviceuuid) print("Тест ответа " + response.text) print(response) print("" * 80) print("Полезная нагрузка") print(payload) print("" * 80) Ответ Устройство uuid 16836780-d1ab-11eb-b26b-ec8dd1d64550 Тест ответа {"error":{"category":"OTHER","messages":[{}],"severity":"ERROR"}} <Ответ [500]> ******************************************************************************** Поле {"type": "SubInterface", "vlanId": 30, "subIntfId": 12345, "enabled": true, "MTU": 1500, "managementOnly": true, "enableAntiSpoofing": true, "enableSGTPropagate": true, "ifname": "Intf_name", "name": "GigabitEthernet0/1", "overrideDefaultFragmentSetting": {"size": 200, "chain": 24, "timeout": 5}, «securityZone»: {«id»: «a5d02a5e-d1ce-11eb-9144-f657a2d3df95», «type»: «SecurityZone»}, «ipv4»: {«static»: {«address»: "1.2.3.4", "netmask": "25"}}} Ответ на FMC 2021-06-29 08:32:08 api2 API POST
          https://172.16.40.2/api/fmc_config/v1/domain/e276abec-e0f2-11e3-8169-6d9ed49b625f/devices/devicerecords/16836780-d1ab-11eb-b26b-ec8dd1d64550
          Внутренняя ошибка сервера (500) — Сервер столкнулся с непредвиденной ситуацией, которая помешала ему выполнить (...)

          1 ответ Последний ответ
          0
          • S Не в сети
            S Не в сети
            sullinsms
            написал в отредактировано
            #5

            Есть какие-нибудь новости?

            1 ответ Последний ответ
            0

            Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.

            Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

            С вашими комментариями этот пост может стать ещё лучше 💗

            Зарегистрироваться Войти
            Ответить
            • Ответить, создав новую тему
            Авторизуйтесь, чтобы ответить
            • Сначала старые
            • Сначала новые
            • По количеству голосов


            • Войти

            • Нет учётной записи? Зарегистрироваться

            • Login or register to search.
            • Первое сообщение
              Последнее сообщение
            0
            • Категории
            • Последние
            • Метки
            • Популярные
            • Пользователи
            • Группы