Linux下expect批量更改交换机端口属性

简介:

一、for循环

功能:将端口划入同一vlan。

将10.240.210.29交换机上的1到36端口划入vlan210

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/usr/bin/expect -f
#set HOST [lindex $argv 0]
#set PORT [lindex $argv 0]
#set vlan [lindex $argv 1]
set  vlan 210
for  { set  PORT 1 } {$PORT <= 36} {incr PORT} {
    spawn telnet 10.240.210.29
    sleep  1
    expect  "Username:"
       send  "admin\r"
    expect  "Password:"
       send  "E7qsZy0A02yu\r"
    sleep  1
       send  "sys\r"
    sleep  1
       send  "int GigabitEthernet 1/0/$PORT\r"
    sleep  1
       send  "undo shutdown\r"
    sleep  1
       send  "port access vlan $vlan\r"
    sleep  1
       send  "loopback-detection enable vlan 1 to 4094\r"
    sleep  1
       send  "stp edged-port\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    interact
}

二、while循环结合自定义文件

功能:将端口划入不同的vlan

将10.240.210.7交换机上的43、44端口分别划入vlan210、vlan310


将端口与vlan号按一下格式写入port_vlan.list文件,第一列为端口号,第二列为vlan号。

1
2
3
root@extmail scripts$cat /var/lxh/scripts/port_vlan.list 
43 210
44 310
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/expect -f
#set HOST [lindex $argv 0]
#set PORT [lindex $argv 0]
#set vlan [lindex $argv 1]
set  file  "/var/lxh/scripts/port_vlan.list"
set  fd [ open  $ file  r]
while  {[gets $fd line]>=0 } {
    set  PORT [lindex $line 0]
    set  vlan [lindex $line 1]
    spawn telnet 10.240.210.7
    sleep  1
    expect  "Username:"
       send  "admin\r"
    expect  "Password:"
       send  "E7qsZy0A02yu\r"
    sleep  1
       send  "sys\r"
    sleep  1
       send  "int GigabitEthernet 1/0/$PORT\r"
    sleep  1
       send  "undo shutdown\r"
    sleep 
       send  "port access vlan $vlan\r"
    sleep  1
       send  "loopback-detection enable\r"
    sleep  1
       send  "loopback-detection action semi-block\r"
    sleep  1
       send  "stp edged-port enable\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    sleep  1
       send  "quit\r"
    interact
}
close $fd
exit  0




本文转自 xoyabc 51CTO博客,原文链接:http://blog.51cto.com/xoyabc/1666333,如需转载请自行联系原作者
相关文章
|
28天前
|
运维 资源调度 监控
|
1月前
|
运维 监控 安全
|
1月前
|
存储 Linux
认识Linux文件类型和属性
认识Linux文件类型和属性
|
3月前
|
网络协议 Linux
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
636 2
|
8天前
|
安全 Linux 网络安全
Linux 开放的端口太多了?教你一招找出所有开放的端口,然后直接干掉!
在 Linux 系统中,端口管理至关重要。本文介绍了如何使用 `netstat`、`lsof` 和 `nmap` 等工具查找开放端口,并通过关闭相关服务、修改防火墙规则或禁用网络接口来关闭这些端口,以提高系统安全性。注意不要随意关闭重要端口,谨慎操作并备份数据。
20 3
|
1月前
|
监控 安全 网络虚拟化
|
22天前
|
运维 Linux
Linux查找占用的端口,并杀死进程的简单方法
通过上述步骤和命令,您能够迅速识别并根据实际情况管理Linux系统中占用特定端口的进程。为了获得更全面的服务器管理技巧和解决方案,提供了丰富的资源和专业服务,是您提升运维技能的理想选择。
23 1
|
1月前
|
网络协议 安全 Linux
阿里云国际上如何检查 Linux 上正在使用哪些端口
阿里云国际上如何检查 Linux 上正在使用哪些端口
|
1月前
|
关系型数据库 MySQL Linux
Linux 文件基本属性
Linux 文件基本属性
17 3
|
2月前
|
Linux Python
用python扫描linux开放的端口(3种方式)
这篇文章介绍了三种使用Python实现Linux端口扫描的方法,包括基础版端口扫描、全端口扫描和多线程扫描技术。
62 15

热门文章

最新文章