CCrraawwlleerrggoo1'

网络

在校园网中上网分为两步,一步是准入,另一步是准出。没有准入与准出时,如果你有相应 v4 与 v6 地址,机器只能 ping 通 166.111.8.28 与 2402:f000:1:801::8:28,此时校内其他大部分地址不通。对于 IPv4 而言,当有准入而没有准出时,机器可以 ping 通校内机器,但不能 ping 通校外机器,即不能上外网。只有当有准入而且有准出时,机器可以连接外网。对于 IPv6 而言,v6 只有准入这一步,有了准入,即可以连接外网。

学校2019年初做了网络改革;校内机器互联也需要先准入。服务器需要上网的时候需要两步

  1. 准入:
    • http://usereg.tsinghua.edu.cn/login.php 上点击 "准入待认证" 输入服务器IP和你的校园网密码;
    • 使用各个服务器的 <slash>home<slash>eva_share<slash>tunet2018<slash>bin<slash>Tunet2018-c 做认证
    • 使用 auth-thu 认证
  2. 上线: 要连接外网还是需要再上线

准入之后,如果一段时间没有流量,准入会自动生效。可以在服务器上加一个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-thulogin 选项

如果没有准入,需要先进行「准入代认证」,如果准入代认证不成功(这段时间发生过该情况),需要先在命令行中使用 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 协议。

以图形运行服务器上的 Matlab 为例,安装完 x2goclient 后,按下图配置 session 即可。

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 权限。

相关词条

  • vim 的使用与配置见 vim
  • tmux 的使用与配置建 tmux

1