中国地质大学(北京)Linux深度学习服务器终端校园网关账号密码登录问题——以ubuntu14.04server版本为例

学院于2017年12月29日采购一台深度学习服务器,操作系统为ubuntu14.04server,配置过程遇到各种坑,现就服务器终端命令行网络配置过程心得分享如下:

1.申请固定IP地址

  开始尝试从教学楼路由器接一根网线到服务器上,设置好后能访问外网,但是IP地址访问不能覆盖整个校园内网,仅与此路由器相连的电脑可以ip访问。这是由于路由器分配的是192.168.1.1的小局域ip,需要拿着有效证件以及服务器mac地址(通过ifconfig可查看)到网络管理中心申请校园内网固定IP地址。

2.设置固定IP地址

  2.1 设置ip地址

    vim /etc/network/interfaces

    作如下修改:

    # The loopback network interface

    auto  lo

    iface lo inet loopback

    auto etho

    iface etho inet static

    address 202.204.110.243

    netmask 255.255.255.0

    gateway 202.204.110.254

  2.2 设置DNS

    vim /etc/resolvconf/resolv.conf.d/base

    作修改如下:

    nameserver 202.204.105.1

    nameserver 202.204.105.5

  2.3 刷新配置文件

    resolvconf -u

  2.4 重启网络

    /etc/init.d/networking restart

3.登录校园网关账号访问外网

  至此,在校园局域网内可以通过ssh+ip地址访问服务器,但是下载外网资源需要登录校园网关。查阅相关资料,主要有两种方法登录校园网关账号密码,其一,shell脚本,其二,python脚本;这里我使用的是python脚本命令行登录校园网关,主要包括登录和注销两个过程:

   a.登录源码(connect.py)  

import urllib2  
import urllib  

class Loginer():  
    def __init__(self, username, password):  
        self.loginUrl = 'http://202.204.105.195:803/srun_portal_pc.php?ac_id=1&'  #单引号内替换为校园网登录网络地址
        self.username = username  
        self.password = password  
        self.openner = urllib2.build_opener()  

    def login(self):  
        postdata = {  
            'username': self.username,  
            'password': self.password,  
            'action': 'login',  
            'ac_id': '1',
            'user_ip':'',
            'nas_ip':'',
            'user_mac':'',
            'url':''  
        }  
        postdata = urllib.urlencode(postdata)  
        myRequest = urllib2.Request(url=self.loginUrl, data=postdata)  

        result = self.openner.open(myRequest).read()
        resStr=str(result)
        ind=resStr.find('font-weight:bold;color:orange') 
        if(ind!=-1):
            print 'connected successfully' 
        else:
            print 'connected faild!! Maybe your username or password is wrong!'

def main():  
    username=raw_input('Enter your username:')
    password=raw_input('Enter your password:')
    file=open('temp_username.dat','w')
    file.write(username)
    file.close()
    l = Loginer(username,password)
    l.login()  

if __name__ == '__main__':  
    main()  
    print 'done'

 

  b.退出源码(logout.py)

import urllib2  
import urllib  

class Loginer():  
    def __init__(self, username, password):  
        self.loginUrl = 'http://202.204.105.195:803/srun_portal_pc.php?ac_id=1&'  #单引号内替换为校园网登录网络地址
        self.username = username  
        self.password = password  
        self.openner = urllib2.build_opener()  

    def login(self):  
        postdata = {  
            'username': self.username,  
            'info': '',  
            'action': 'auto_logout',  
            'usr_ip': '202.204.105.195'  
        }  
        postdata = urllib.urlencode(postdata)  
        myRequest = urllib2.Request(url=self.loginUrl, data=postdata)  

        if(str(self.openner.open(myRequest).read()).find('font-weight:bold;color:orange')!=-1):
            print 'logout successfully' 

def main():  
    file=open('temp_username.dat','r')
    username=file.readline()
    print username
    l = Loginer(username,'')
    l.login()  

if __name__ == '__main__':  
    main()  
    print 'done'

  将源代码copy下来,分别保存成connet.py和logout.py两个文件。然后copy至服务器运行:(注意替换自己文件所在目录)

  scp connect.py lthpc@202.204.110.243:network/connet.py

  scp logout.py lthpc@202.204.110.243:network/logout.py

4.网络测试

  完成以上步骤后可以通过 ping www.baidu.com测试是否成功配置。

 

 

    

 

  

posted @ 2018-01-02 19:15 心中月正古 阅读(...) 评论(...) 编辑 收藏