计算化学公社

标题: 小集群想让计算节点能访问外网问题 [打印本页]

作者
Author:
qchem    时间: 2018-3-28 10:10
标题: 小集群想让计算节点能访问外网问题
小集群想让计算节点能访问外网管理节点是可以访问外网的,于是修改了

/etc/sysconfig/network
把管理节点设为网关
也配置了
/etc/resolv.conf


然而没有用,还是不能访问外网


系统是CentOS 6.5


不能用iptables,因为和pbs冲突


该怎么搞呢?
谢谢!





作者
Author:
五十八    时间: 2018-3-28 18:25
iptables 或者 nftables 转发 同时开放pbs端口.......此外就只能试试lanproxy这样的软件了
作者
Author:
zjxitcc    时间: 2018-3-28 18:58
正好,公众号前阵子更新了一位师兄写的一篇《计算集群使用squid代理访问外网》:
http://mp.weixin.qq.com/s/EQpvECTlanJeQyOQkdffDQ
可能对你有用。
作者
Author:
qchem    时间: 2018-3-31 21:33
五十八 发表于 2018-3-28 18:25
iptables 或者 nftables 转发 同时开放pbs端口.......此外就只能试试lanproxy这样的软件了

请问怎么开放呀
我不会设呀

作者
Author:
qchem    时间: 2018-3-31 21:36
zjxitcc 发表于 2018-3-28 18:58
正好,公众号前阵子更新了一位师兄写的一篇《计算集群使用squid代理访问外网》:
http://mp.weixin.qq.com ...

哦,感谢
但是我用的软件不支持http代理
难道要开sockets代理,用socketscap之类?
作者
Author:
binarec    时间: 2018-5-26 13:06
每个节点只有一个网口吗

作者
Author:
qchem    时间: 2018-5-26 19:34
binarec 发表于 2018-5-26 13:06
每个节点只有一个网口吗

有两个的
作者
Author:
binarec    时间: 2018-5-27 16:44
qchem 发表于 2018-5-26 19:34
有两个的

有两个网口,那就将所有节点第一个网口连接内网交换机,第二个网口连接外网交换机
编写每个节点的ifcfg文件,例如ifcfg-eth0和ifcfg-eth1
让eth0连接内网并设置onboot=yes,BOOTPROTO=static设置static IP
eth1连接外网并设置onboot=no,BOOTPROTO=dhcp吧。
平时只有eth0工作(觉得不保险甚至可以将外网交换机断电),需要连接外网时ifup eth1就可以了
作者
Author:
abin    时间: 2018-5-27 18:36
主节点/管理节点能访问外网吧?

以下基于主节点至少两个网卡, 而且主节点能访问外网。
不需要对现有集群网络架构做任何调整。

仅仅需要:
在主节点上,使用iptables配置NAT网关。
然后给所有计算节点, 执行, route add default gw XXXX dev ethYY
计算节点可以访问外网; 但是外网不能直接访问计算节点。

具体实现细节, google.
作者
Author:
highlight    时间: 2018-5-28 21:19
本帖最后由 highlight 于 2018-5-28 21:24 编辑

在centos7下,可以使用fiewall可以实现NAT功能,方法如下:
在管理节点连接内网/外网的网卡配置文件里,分别添加一行 ZONE=internal/external (可能需要systemctl restart network)
在/etc/sysctl.conf中添加net.ipv4.ip_forward = 1
firewall-cmd --reload重启防火墙即可
至于torque以及其他一些需要在内网需要开放端口的软件,一个一个配置太麻烦,我通过firewall中添加rich-rule可以实现。
假设我的内网号段设置在了10.0.0.1/24网段,执行以下命令:
在计算节点上执行firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/24" accept' --permanent在管理节点上执行firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.0.0.1/24" accept' --zone=internal --permanent (假设你按照上文设置好了zone)
firewall-cmd --reload
这样在内网号段的所有通讯皆可放行,而外网号段依然受到firewall的规则限制。

但是centos6似乎没有firewall,所以只能用采取楼上的做法实现NAT。
此时torque可以通过固定端口然后iptables放行来使用,这个好像在官方的说明书里就有详细的操作。(我没尝试过)

PS:虽然我现在对linux是只知皮毛,但还是非常不放心直接关闭防火墙和selinux,教程里提到需要这样做的时候,我都尽量想办法绕开。
作者
Author:
abin    时间: 2018-5-29 15:06
highlight 发表于 2018-5-28 21:19
在centos7下,可以使用fiewall可以实现NAT功能,方法如下:
至于torque以及其他一些需要在内网需要开放端 ...

十分赞同你最后一句。

最近 吉林省超算中心,“疑似被黑客攻击,用来挖矿”,管理方通知用户,“集群需要重新部署,并格式化所有硬盘,如无必要,可以不拷贝数据”。 没有物理隔离情况下,也没有安全硬件设备保护,盲目关闭selinux以及防火墙,是十分愚蠢的做法。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3