CISCO netconf (gns3)

Üdv,

GNS3 VM-ben import appliance: vios_l2-adventerprisek9-m.vmdk.SSA.152-4.0.55.E

A hoszt gépről elérem ssh-val. A netconf-ot szeretném kipróbálni (restconf-ot nem tudja).

Van egy python teszt kód (AI).

# pip install ncclient
#
from ncclient import manager
from ncclient.xml_ import *

# A switch címe és az authentikációs adatok
switch_ip = '192.168.1.200'
username = 'admin'
password = 'password'
port=830

# NETCONF kapcsolat létrehozása
with manager.connect(host=switch_ip,
                     port=port,
                     username=username,
                     password=password,
                     hostkey_verify=False,
                     device_params={'name': 'csr'}) as m:

    # Az interfész konfigurációs XML üzenete
    interface_config = """
        <config>
            <interfaces xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces">
                <interface>
                    <name>GigabitEthernet1</name>
                    <description>Új interfész</description>
                    <type xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">ianaift:ethernetCsmacd</type>
                    <enabled>true</enabled>
                    <ipv4 xmlns="urn:ietf:params:xml:ns:yang:ietf-ip">
                        <address>
                            <ip>192.168.1.202</ip>
                            <netmask>255.255.255.0</netmask>
                        </address>
                    </ipv4>
                </interface>
            </interfaces>
        </config>
    """

    # Interfész konfiguráció küldése a switch-re
    try:
        response = m.edit_config(target='running', config=interface_config)
        print("Interfész sikeresen konfigurálva!")
    except Exception as e:
        print(f"Hiba történt a konfigurálás során: {str(e)}")

Mi kell még hogy a netconf működjön?

A netconf elvileg be van állítva:

netconf legacy
netconf ssh

A show tcp brief all szerint fut az ssh, de a 830 porton nincs semmi. Mi kell még?

Hozzászólások

Szerkesztve: 2024. 04. 27., szo – 20:35

Kicsit sem értek hozzá, de port='830', esetleg?

A netconf legacy parancs nem lesz megfelelő:

netconf legacy

To enable legacy NETCONF protocol, use the netconf legacy command in global configuration mode. To disable the legacy NETCONF protoocol, use the no form of this command.
netconf legacy

...

If this command is enabled, the RFC-compliant NETCONF client (ncclient) does not work. This command enables the legacy NETCONF protocol that is non-RFC-compliant.

 

A netconf ssh pedig a NETCONF over SSHv2-őt engedélyezi. Ez az RFC 4742-ön alapul, ami már elavult.

(Egyébként itt egy leírás, hogy hogyan kell beállítani:
https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/cns/configuration/xe-…)

Ezt váltotta a RFC6242-es NETCONF és valószínűleg te azt szeretnéd használni.

Azokat csak újabb eszközök használják, leginkább Cisco IOS-XE 16.6-tól felfelé.
Érdemes lenne egy másik virtual appliance-szel próbálkoznod.

Pl.: CSR1000V vayg egy IOS-XE 9000V

...úgyis jönnek...