Використовуйте наступний код Python, щоб додати IP-адресу до інтерфейсу за допомогою пакета Python RouterOS-api:
add_ip_address.py
def add_ip_address(api, ip, interface):
"""
Додає IP-адресу до вказаного інтерфейсу за допомогою RouterOS API.
Параметри:
- api (routeros_api.RouterOsApi): Екземпляр RouterOS API.
- ip (str): IP-адреса, яку потрібно додати.
- interface (str): Інтерфейс, до якого буде додано IP-адресу.
Повертає:
- bool: True, якщо IP-адресу було успішно додано, False, якщо IP-адреса вже існує на інтерфейсі.
Викликає:
- routeros_api.exceptions.RouterOsApiCommunicationError: Якщо виникає помилка зв'язку з RouterOS API.
"""
try:
ip_resource = api.get_resource('/ip/address')
ip_resource.add(interface=interface, address=ip)
return True
except routeros_api.exceptions.RouterOsApiCommunicationError as e:
error_message = str(e)
if 'already have such address' in error_message:
return False
else:
raise e
# Приклад використання
add_ip_address(api, ip="10.1.2.3/24", interface="bridge")Повний приклад
add_ip_address_full.py
#!/usr/bin/env python3
import routeros_api
connection = routeros_api.RouterOsApiPool(
'192.168.88.1', username='admin', password='L9TYAUV7R8',
plaintext_login=True
)
api = connection.get_api()
def add_ip_address(api, ip, interface):
"""
Додає IP-адресу до вказаного інтерфейсу за допомогою RouterOS API.
Параметри:
- api (routeros_api.RouterOsApi): Екземпляр RouterOS API.
- ip (str): IP-адреса, яку потрібно додати.
- interface (str): Інтерфейс, до якого буде додано IP-адресу.
Повертає:
- bool: True, якщо IP-адресу було успішно додано, False, якщо IP-адреса вже існує на інтерфейсі.
Викликає:
- routeros_api.exceptions.RouterOsApiCommunicationError: Якщо виникає помилка зв'язку з RouterOS API.
"""
try:
ip_resource = api.get_resource('/ip/address')
ip_resource.add(interface=interface, address=ip)
return True
except routeros_api.exceptions.RouterOsApiCommunicationError as e:
error_message = str(e)
if 'already have such address' in error_message:
return False
else:
raise e
# Приклад використання
add_ip_address(api, ip="10.1.2.3/24", interface="bridge")
Дивіться схожі статті за категоріями:
MikroTik Networking
Якщо ця стаття допомогла вам, будь ласка, подумайте про те, щоб купити мені каву або зробити пожертву через PayPal на підтримку досліджень та публікації нових статей на TechOverflow