启明星辰防火墙定时重新拨号切换IP

发布时间 2023-07-12 15:45:52作者: zerlong

拨号宽带重新拨号可获取新的IP,适用于定时切换出口IP的场景。使用ssh管理把pppoe的网口down掉再开启即可实现IP更换。

然后找台linux服务器加个crontab定时任务调用脚本即可。

以下为重启网络接口的python脚本,需要防火墙开启ssh管理。其他品牌防火墙也可以采用这种思路。

import pexpect
import time


def redial(ip, user, password, nic):
    ssh_cmd = "ssh {0}@{1} -o HostKeyAlgorithms=+ssh-rsa".format(user, ip)
    process = pexpect.spawn(ssh_cmd, timeout=5)
    index = process.expect(["assword: ", "yes/no", pexpect.EOF, pexpect.TIMEOUT])

    if index not in [0, 1]:
        print("[-] login failed, due to TIMEOUT or EOF")
    if 1 == index:
        process.sendline("yes")
        process.expect("assword: ")
    process.sendline(password)
    # 进入特权模式,如果直接是 # 则注释以下2行
    process.expect(">")
    process.sendline("en")
    process.expect("#")
    process.sendline("conf t")
    process.sendline("interface " + nic)
    process.sendline("shutdown")
    time.sleep(1)
    process.sendline("no shutdown")
    time.sleep(1)
    process.close(force=True)


if __name__ == '__main__':
    redial('192.168.11.1', 'admin', 'xxx', 'ge1/8')

redial参数为:管理IP、用户、密码、拨号的接口