108 lines
1.7 KiB
Plaintext
108 lines
1.7 KiB
Plaintext
#!/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
|