CCrraawwlleerrggoo1'
网络
在校园网中上网分为两步,一步是准入,另一步是准出。没有准入与准出时,如果你有相应 v4 与 v6 地址,机器只能 ping 通 166.111.8.28 与 2402:f000:1:801::8:28,此时校内其他大部分地址不通。对于 IPv4 而言,当有准入而没有准出时,机器可以 ping 通校内机器,但不能 ping 通校外机器,即不能上外网。只有当有准入而且有准出时,机器可以连接外网。对于 IPv6 而言,v6 只有准入这一步,有了准入,即可以连接外网。
学校2019年初做了网络改革;校内机器互联也需要先准入。服务器需要上网的时候需要两步
- 准入:
- 在 http://usereg.tsinghua.edu.cn/login.php 上点击 "准入待认证" 输入服务器IP和你的校园网密码;
- 使用各个服务器的 <slash>home<slash>eva_share<slash>tunet2018<slash>bin<slash>Tunet2018-c 做认证
- 使用 auth-thu 认证
- 上线: 要连接外网还是需要再上线
- 同样也可以在 http://usereg.tsinghua.edu.cn/login.php 网页 "连线其它IP" 上线IP
- 也可以使用服务器上都有的tunet命令上线
- 使用 auth-thu 上网
准入之后,如果一段时间没有流量,准入会自动生效。可以在服务器上加一个crontab每5分钟ping 20个包给166.111.8.28: <code> crontab -e # 加入如下信息并保存 */5 * * * * /bin/ping -c 20 166.111.8.28 </code>
如果在校外,或者服务器没有准入(而你不在罗姆楼网段时),可以使用实验室共用的跳板机: IP:101.6.64.67;端口42222。先登录跳板机再登陆你要登陆的服务器(各个登录软件都可以配置无缝使用跳板机,自行google解决)。上线了之后就可以直接用你的服务器url (e.g. foxfi.eva7.nics.cc) 访问了。
auth-thu介绍
auth-thu 是使用 go 开发的命令行认证/上网工具,实现了认证,上网,保持在线等内容。具体使用方法可以参见此处。据了解,经过2020年暑假的校园网升级,tunet 2018 工具可能已经 broken,比如可能会提醒「该IP不在DHCP表中」,这种情况下可以尝试 auth-thu
,如果 auth-thu
不成功,请带上 –debug
的参数在 auth-thu
的 repo 中提 issue
在成功登录机器后,需要判断该机器的准入准出状态,可以通过分别 `ping` 166.111.8.28,校内其他地址(注意,不能是该二层内的地址,该二层内的所有地址无论什么情况,均可ping通),校外地址(如1.1.1.1或8.8.8.8)来实现。
在确定准入准出状态后,如果有准出,万事大吉。
如果只有准入,可以使用 usereg 中的「连线其他IP」,或使用命令行工具 auth-thu
的 login
选项
如果没有准入,需要先进行「准入代认证」,如果准入代认证不成功(这段时间发生过该情况),需要先在命令行中使用 auth-thu deauth
解除准入认证,然后再认证。
进一步的网络注意事项
由于eva8/9/10三台服务器和跳板机不在同一个网段,在没网络准入时,这三台服务器上的container会登陆不上。有两种方案:
- 可以在101.6.64.67跳板机上再次登陆eva8,9,10专属的跳板机,端口均为32222。比如登陆eva8的跳板机命令为 ssh -p32222 eva8.nics.cc,登陆eva8, 9, 10跳板机之后,可以ssh <your container name>-eva8登陆,(比如foxfi.eva8.nics.cc这个服务器对应的container name就是foxfi)。
建议配置自动的多级跳板。比如,一个登陆eva8上的container的的.ssh/config的示例配置(mac/linux下)如下所示:(注意把所有USERNAME, ALIAS, CONTAINER_NAME改掉!比如用户abc想登陆xyz.eva8.nics.cc那么USERNAME=abc, CONTAINER_NAME=xyz) <code> Host eva8
HostName eva8.nics.cc User USERNAME ProxyCommand ssh USERNAME@101.6.64.67 -p42222 nc %h %p
Host ALIAS
HostName CONTAINER_NAME-eva8 User USERNAME ProxyCommand ssh -p32222 USERNAME@eva8 nc %h %p
</code> 配置完成后,只需要运行 ssh ALIAS (其中ALIAS是你想要的这个container的alias名字,需要替换config里的ALIAS) 就可以登录。如果是登陆eva9,10上的container,只要对应的把eva8改成eva9或者eva10即可。
- 有清华账号的同学也可以选择不用跳板机:校内环境(包括pulse secure VPN)登陆时,需要先用tsinghua账号在usereg网站上对该IP进行准入(使其获得清华内网访问权限),对于和跳板机在同一局域网的,也可以先上跳板机,从跳板机登陆服务器后直接使用,或在服务器内用Tunet-2018命令行软件准入
资源申请
帐号
NERV 网管部使用统一认证系统进行认证,所有服务器、网站均使用同一套账号系统,既然你能看到这个页面,就说明已经有 NERV 帐号了。
基本法
使用 NERV 服务器,也要按照基本法。
- 服务器必须先申请,后使用
- 首先找勋神申请,批准后方可找网管实施服务器分配
- 请按照 workstations 的申请模板给网管发邮件
- 不得以「网管给我开个帐号吧」作为申请内容,网管将忽略此类申请
- 不得分享帐号,一经发现,网管将直接销毁分享者的计算环境,两周内不得重新申请。(不过可以给已有NERV账号的组内同学分享计算环境,事实上以这种方法满足使用和合作需求而不必新开环境,是更加方便且值得鼓励的,参见Q&A。)
- 使用者可以得到计算环境的 root 权限,但以下操作必须由网管完成:
- 安装驱动
- 加载内核模块
- 安装 CUDA
- 危险操作将损坏计算环境,网管不负责修复,用户若尝试自行修复,可能造成更大的破坏
- 一旦发生,重新走申请流程,网管将删除损坏的计算环境,重装系统,数据自行备份
- 案例: 2015年12月初,yao同学擅自安装cuda,由于当时没有相关规定,网管用了一个小时修好。
- 自己的问题自己解决,网管只负责分配计算环境
- 网管不做神经网络相关研究
- 网管不会装caffe/mxnet等各类神经网络框架
- 网管不会GPU编程,不会使用cuda
- 网管不会FPGA编程
- 网管不会openCV
- 网管不能处理各类编译错误
- 遇到环境问题,网管可以删除你的计算环境,帮你重建
- 磁盘会坏,网管会删,请自行备份数据
- 请自行学习各类 Linux 基本操作
关于基本法的进一步了解,请参见 Q&A 部分。
计算资源
NERV 网管部使用 LXC 对每个用户的计算资源和操作系统环境进行隔离,因此你可以有 root 权限和很高的自由度。 但是,安装驱动、加载内核模块等,需要由网管在主机中运行,这种情况不要擅自操作。
网管在分配资源时,主要需要根据你的计算情况(profile)通过深度神经网络(人工)调度确定在何时的服务器上为你创建隔离环境,因此你必须提前告知网管部,你的计算任务是否符合以下特点:
- 是否需要多 CPU 并行计算?
- 是否需要用到 GPU 计算?
- 大约占用多大磁盘空间?
- 是否频繁读写磁盘?
需要申请计算资源的话,请按以下模版给网管发邮件,本科生请再抄送相关负责的研究生:
<code> TO: 飞哥 <foxdoraame@gmail.com>, 钟凯 <zhongk19@mails.tsinghua.edu.cn> CC: 责任研究生 <sombody@example.com> Subject: 服务器资源申请
亲爱的网管你好,
我是 XXX,需要使用组内服务器资源,基本信息与资源需求如下:
用户名: <你的NERV帐号用户名> 研究内容: <炼丹/脑解剖/大作业/……> 责任研究生: <师兄/师姐的姓名> 计算特点: [ ] 多核 CPU 并行 [ ] GPU 计算 预计占用磁盘空间: _ GB 是否频繁读写磁盘: [ ] 是 [ ] 否
XXX </code>
并将以下内容手抄一份,交给网管:
<code> - 先申请,后使用 - 分享帐号留隐患 - 危险操作找网管 - 自己的问题自己干 - 积极备份保平安 </code>
工具下载与连接配置
Windows
到 http://nicsefc.ee.tsinghua.edu.cn/seafile/d/fb0ffec240/ 下载安装:
- MobaXterm: ssh 等各类远程协议、sftp客户端、本地Unix工具(cygwin) 一体化工具,网管推荐
- X2go: 远程图形 (网管推荐)
- Xshell+Xftp: ssh、sftp 客户端 (勋神选择)
- Xming: Windows 的 X 客户端 (Unix 图形界面协议)
- Filezilla: sftp 客户端
MobaXterm 配置
网管提供的是绿色版 MobaXterm 包,无需安装。直接运行 MobaXterm_Personal_7.7.exe 即可。
打开后选择 New Session 新建会话,填写服务器地址和用户名,把终端类型改为 xterm-256color
,如图所示。
点击 OK 后会自动连接,输入密码,这里可以选择是否记住密码。连接后,左侧边栏会自动切换到 sftp 文件浏览器,可以拖放文件,文本文件还可以双击编辑。
MobaXterm默认打开了X图形支持,图形程序无需额外配置可以直接运行。但较大的图形程序,例如 matlab 或完整的远程桌面,建议使用更轻快的 x2go 运行。
Xshell 配置
也可以选择使用勋神最喜欢的Xshell。装完 Xshell 后,新建连接,填写自己的服务器地址,再切到 「终端」(terminal) 属性,把终端类型改为 xterm-256color
,把字符集改为 UTF-8。如图所示。
一般情况下,不需要单独为 sftp 配置连接,如果你安装了 xftp,直接使用 xshell 工具栏中的“传输文件”即可打开 xftp 并自动登录,如下图所示。
强烈建议进一步打开 X 图形支持,安装 Xming 并启动,在「隧道」选项中,将 「X11 转发」 设置为 localhost:0
SFTP 之 Filezilla 配置
NERV 服务器使用安全的 SFTP 连接,Filezilla、Xftp 等客户端均支持 SFTP。Filezilla中,要使用 SFTP,点击 「文件」->「站点管理器」,连接类型选择「SFTP」即可。如图所示。
X2go 运行图形 matlab
X2go 是一个轻量级远程图形协议,可以再无需运行完整桌面的情况下,远程执行图形程序,且占用网络资源小于 X 协议。
X2go 远程桌面
2015年12月19日之后建立的 container 都带了远程桌面功能。在 X2go 连接的 session type 里选择 MATE 即可。
连接校园网
- 方法一: 在服务器上使用
tunet
命令连接 - 方法二: 在 http://usereg.tsinghua.edu.cn/ 上远程连接
- 方法三:使用
auth-thu
认证与上网
Q & A
- Q: 基本法这么快就出来,有没有钦点的意思啊?
- A: 是的,基本法是 Justin the Dictator 钦点的,我就是这个意思,bite me。
- Q: 请问把同学的账户增加到自己的 container 里符合基本法吗?要怎样操作?怎样给其他人 root 权限呢?
- A: 符合基本法,在计算环境不冲突的前提下,Justin the Dictator 鼓励这种做法。编辑
/etc/login.user.allow
,把其他人的用户名加进来,即可让其他人用他/她自己的账户登陆。用sudo visudo
命令编辑sudo表,仿照自己的用户名所在那一行,增加其他人的sudo权限设置,即可给其他人 root 权限。