mirror of
https://github.com/vyos/vyos-documentation.git
synced 2025-10-26 08:41:46 +01:00
73 lines
1.7 KiB
ReStructuredText
73 lines
1.7 KiB
ReStructuredText
:lastproofread: 2023-01-16
|
|
|
|
.. _vyos-netmiko:
|
|
|
|
Netmiko
|
|
=======
|
|
|
|
VyOS supports configuration via netmiko_.
|
|
It requires to install ``python3-netmiko`` module.
|
|
|
|
Example
|
|
-------
|
|
|
|
.. code-block:: none
|
|
|
|
#!/usr/bin/env python3
|
|
|
|
from netmiko import ConnectHandler
|
|
|
|
vyos_router = {
|
|
"device_type": "vyos",
|
|
"host": "192.0.2.1",
|
|
"username": "vyos",
|
|
"password": "vyospass",
|
|
"port": 22,
|
|
}
|
|
|
|
net_connect = ConnectHandler(**vyos_router)
|
|
|
|
config_commands = [
|
|
'set interfaces ethernet eth0 description WAN',
|
|
'set interfaces ethernet eth1 description LAN',
|
|
]
|
|
|
|
# set configuration
|
|
output = net_connect.send_config_set(config_commands, exit_config_mode=False)
|
|
print(output)
|
|
|
|
# commit configuration
|
|
output = net_connect.commit()
|
|
print(output)
|
|
|
|
# op-mode commands
|
|
output = net_connect.send_command("run show interfaces")
|
|
print(output)
|
|
|
|
Output
|
|
|
|
.. code-block:: none
|
|
|
|
$ ./vyos-netmiko.py
|
|
configure
|
|
set interfaces ethernet eth0 description WAN
|
|
[edit]
|
|
vyos@r4-1.3# set interfaces ethernet eth1 description LAN
|
|
[edit]
|
|
vyos@r4-1.3#
|
|
commit
|
|
[edit]
|
|
vyos@r4-1.3#
|
|
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
|
|
Interface IP Address S/L Description
|
|
--------- ---------- --- -----------
|
|
eth0 203.0.113.1/24 u/u WAN
|
|
eth1 192.0.2.1/30 u/u LAN
|
|
eth2 - u/u
|
|
lo 127.0.0.1/8 u/u
|
|
::1/128
|
|
vtun10 10.10.0.1/24 u/u
|
|
[edit]
|
|
|
|
.. _netmiko: https://github.com/ktbyers/netmiko
|