#!/usr/bin/expect -f # VLAN-Namen setzen — korrigiert: `end` aus config-vlan geht zu sw1#, # also nicht nutzen. Stattdessen `exit` aus config-vlan → config, # und einmal `end` zum Speichern am Ende. set timeout 30 log_user 1 spawn telnet $env(SW_HOST) expect "Username:" send "$env(SW_USER)\r" expect "Password:" sleep 1 send "$env(SW_PASS)\r" expect "sw1#" send "configure\r" expect "(config)" # 90 GUEST send "vlan 90\r" expect "(config-vlan)" send "name GUEST\r" expect "(config-vlan)" send "exit\r" expect "(config)" # 99 MGMT send "vlan 99\r" expect "(config-vlan)" send "name MGMT\r" expect "(config-vlan)" send "exit\r" expect "(config)" # 10 MAIN send "vlan 10\r" expect "(config-vlan)" send "name MAIN\r" expect "(config-vlan)" send "exit\r" expect "(config)" # 20 INFRA send "vlan 20\r" expect "(config-vlan)" send "name INFRA\r" expect "(config-vlan)" send "exit\r" expect "(config)" # 30 IOT send "vlan 30\r" expect "(config-vlan)" send "name IOT\r" expect "(config-vlan)" send "exit\r" expect "(config)" # 40 UNTRUSTED send "vlan 40\r" expect "(config-vlan)" send "name UNTRUSTED\r" expect "(config-vlan)" send "exit\r" expect "(config)" # 100 WAN send "vlan 100\r" expect "(config-vlan)" send "name WAN\r" expect "(config-vlan)" send "exit\r" expect "(config)" # Save! send "end\r" expect "sw1#" send "save\r" expect { "Success" { send "\r" } timeout { } } # Verifizieren mit show vlan (paged) send "show vlan\r" # --More-- handling for {set i 0} {$i < 20} {incr i} { expect { -ex "--More--" { sleep 0.3 send " " } -ex "sw1#" { break } timeout { break } } } send "exit\r" expect eof