#!/bin/bash #4G路由器需要配置LAN口IP地址、主机名称、VPN账号密码等等 #定义交换机的TELNET密码 telnetpwd='nmik89013458' #定义特权密码 enpwd='123456789' #查看交换机是否已经配置过,若配置过则停止继续配置 > /tmp/ss (echo $telnetpwd; echo 'show running-config | include secondary'; echo 'show version | include serial'; echo 'exit'; sleep 2;) | telnet 192.168.1.1 | tee /tmp/ss yy=$(cat /tmp/ss | grep address) serial=$(cat /tmp/ss | grep number | awk '{print $5}') if [ -z "$yy" ]; then #通过Ping路由器地址判断路由器是否连接 if ping -W2 -c 2 192.168.1.1 &>/dev/null;then echo '正在配置的路由器序列号为'$serial; read -p "请输入你要配置的路由器编号:" rnumber vasd=$(cat route.txt | grep $rnumber) name=$(echo $vasd | awk '{print $2}') read -r -p "你正在为$name配置4G路由器,继续配置请输入y,停止配置请输入n,请输入你的选择:" choice case $choice in [yY][eE][sS]|[Yy]) echo "正在读取$name的配置信息" ;; [nN][oO]|[nN]) echo " 配置已账停止" exit 1 ;; *) echo "输入错误" exit 1 ;; esac #取得预设信息,含VPN账号密码、LAN口IP地址、主机名称等等 #路由器内网IP地址 ip=$(echo $vasd | awk '{print $2}') #路由器内网掩码地址,市和乡镇一级有差异 netmask=$(echo $vasd | awk '{print $3}') #4G上网卡APN信息 gapn=$(echo $vasd | awk '{print $4}') #4G上网卡账号 gusr=$(echo $vasd | awk '{print $5}') #4G上网卡密码 gpwd=$(echo $vasd | awk '{print $6}') #VPN服务器地址 vadd=$(echo $vasd | awk '{print $7}') #VPN用户名 vusr=$(echo $vasd | awk '{print $8}') #VPN密码 vpwd=$(echo $vasd | awk '{print $9}') #VPN远端资源 vres=$(echo $vasd | awk '{print $10') ( #输入登录密码 echo $telnetpwd; echo en; #进入配置模式 echo 'configure terminal'; #关闭123接口,留下0口和4口备用 echo 'interface FastEthernet 1/1'; echo 'shutdown'; echo 'interface FastEthernet 1/2' echo 'shutdown'; echo 'interface FastEthernet 1/3' ; echo 'shutdown'; #配置LAN口IP地址、同时保留192.168.1.1 echo 'interface VLAN 1' ; echo ' ip address ' $ip $netmask' secondary'; echo 'exit' #删除4G配置 echo 'interface Cellular 0/0' echo 'no profile create master'; #添加4G上网配置 echo 'profile create master username' $gusr 'password 0 '$gpwd 'track 1'; #配置VPN拨号 echo 'l2tp-class LAC_LC_1'; echo ' hostname 4GVPN'; echo 'exit'; echo 'pseudowire-class LAC_PW_1'; echo ' encapsulation l2tpv2'; echo ' protocol l2tpv2 LAC_LC_1' ; echo 'exit'; echo 'interface Virtual-ppp 1'; echo ' ppp chap hostname '$vusr; echo ' ppp chap password '$vpwd; echo ' ppp pap sent-username '$vusr 'password '$vpwd; echo ' ip address negotiate'; echo ' pseudowire '$vadd '1 pw-class LAC_PW_1'; echo 'exit'; echo 'ip route 10.0.0.0 255.255.255.0 Virtual-ppp 1'; #修改路由器名称 echo 'hostname' $name; echo 'exit'; echo 'wr'; sleep 5; ) | telnet 192.168.1.1 echo " snmp add ok" >>/opt/.oem/addsnmp.log echo "路由器已配置完成,序列号:$serial" else echo "请连接路由器后再执行" sleep 30 fi else echo "路由器已存在配置参数、已终止配置,请手动修正" fi