中國地質大學(北京)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 [email protected]:network/connet.py
scp logout.py [email protected]:network/logout.py
4.網絡測試
完成以上步驟後可以通過 ping www.baidu.com測試是否成功配置。
中國地質大學(北京)Linux深度學習服務器終端校園網關賬號密碼登錄問題——以ubuntu14.04server版本為例