使用Mentohust实现Linux系统锐捷开机自动登录和断线重连

Mentohust是由华中科技大学所开发的可以替代锐捷登录的工具,目前也可以支持Windows和Mac OS下的锐捷认证的程序,可以完美代替锐捷认证。本帖记录使用该软件在Linux(Ubuntu 16.04)系统下的配置和登录。

  • 下载与安装
    可以到Google Code下载该软件,也可关注公众号“BioNoteShare”后私信回复“mentohust”获取。Ubuntu系统可以安装标准的deb软件安装方法。
sudo dpkg -i mentohust_0.3.4-1_amd64.deb
  • 软件配置
    配置文件为/etc/mentohust.conf,运行软件后会自动配置该文件并保存上次运行的参数。
    查看帮助文档:
欢迎使用MentoHUST   版本: 0.3.4
Copyright (C) 2009-2010 HustMoon Studio
人到华中大,有甜亦有辣。明德厚学地,求是创新家。
Bug report to http://code.google.com/p/mentohust/issues/list

用法: mentohust [-选项][参数]
选项: -h 显示本帮助信息
    -k -k(退出程序) 其他(重启程序)
    -w 保存参数到配置文件
    -u 用户名
    -p 密码
    -n 网卡名
    -i IP[默认本机IP]
    -m 子网掩码[默认本机掩码]
    -g 网关[默认0.0.0.0]
    -s DNS[默认0.0.0.0]
    -o Ping主机[默认0.0.0.0,表示关闭该功能]
    -t 认证超时(秒)[默认8]
    -e 心跳间隔(秒)[默认30]
    -r 失败等待(秒)[默认15]
    -l 允许失败次数[0表示无限制,默认8]
    -a 组播地址: 0(标准) 1(锐捷) 2(赛尔) [默认0]
    -d DHCP方式: 0(不使用) 1(二次认证) 2(认证后) 3(认证前) [默认0]
    -b 是否后台运行: 0(否) 1(是,关闭输出) 2(是,保留输出) 3(是,输出到文件) [默认0]
    -y 是否显示通知: 0(否) 1~20(是) [默认5]
    -v 客户端版本号[默认0.00表示兼容xrgsu]
    -f 自定义数据文件[默认不使用]
    -c DHCP脚本[默认dhclient]
    -q 显示SuConfig.dat的内容(如-q/path/SuConfig.dat)
例如: mentohust -uusername -ppassword -neth0 -i192.168.0.1 -m255.255.255.0 -g0.0.0.0 -s0.0.0.0 -o0.0.0.0 -t8 -e30 -r15 -a0 -d1 -b0 -v4.10 -fdefault.mpf -cdhclient
注意:使用时请确保是以root权限运行!

首次运行可以参考以下参数:

sudo mentohust -uyour_account@有线1x上网 -pyour_password -neth0 -a1 -d2 -b3 -l0 -w
# -u后无空格接你的账号,有些学校使用有线1x上网可以直接“@有线1x上网”
# -p后无空格接你的密码
# -n网卡
# -w保存配置文件到/etc/mentohust.conf
  • 配置开机自动启动和断线重连
    开机自动启动使用将以下代码写到/etc/rc.local
echo "your_sudo_password" | sudo -S mentohust
/etc/rc.local
  • 断线重连
    可以使用以下脚本,不过mentohust的-e参数好像可以每隔指定时间向服务器发送自己仍然在线的指令。我自己还没用过断线重连的脚本,好像我这里校园网还算比较稳定,基本不存在自己断线的问题。
    不过还是要提请脚本中server那里,不要ping自己网关,不要ping自己网关,不要ping自己网关很容易被学校封mac地址!!!。我理解是可以ping百度等大服务器的网址,请知道的小伙伴告知我。
#!/bin/bash
server="一个可以ping通地址"

while true
do
    ping -c 2 $server
    if [ $? != 0 ]
    then
        echo "#### Ping Failed, Retry"
        echo "your_sudo_password" | sudo -S mentohust -k
        echo "your_sudo_password" | sudo -S mentohust
    else
        echo "#### The Network Is Fine"
    fi
    sleep 30
done

你可能感兴趣的:(使用Mentohust实现Linux系统锐捷开机自动登录和断线重连)