最近实验室配置了一个内网集群,集群需要10.0.0/24的内网ip才能互相访问,实验室的同学可以自己创建一个10.0.0.200开始的内网ip,直接访问集群。以Ubuntu环境为例,主要方法是:
1.修改/etc/network/interfaces文件来修改网卡和网络配置
auto lo
iface lo inet loopback
auto enp3s0:0 #新建一个虚拟网卡,该网卡可有有自己的ip
iface enp3s0:0 inet static ##设置为静态ip
address 10.0.0.222 ##给虚拟网卡添加内网ip
netmask 255.255.255.0 ##子网掩码
post-up ip route add 10.0.0.0/24dev enp3s0:0 src 10.0.0.222 table cluster
post-up ip route add default via 10.0.0.1dev enp3s0:0 table cluster
post-up ip rule add to 10.0.0.0/24table cluster
###在连接10.0.0/24网段时通过路由表cluster和虚拟网卡enp3s0:0访问
2.修改/etc/iproute2/rt_tables添加路由表
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 cluster
3.重启网络服务
在重启网络服务后,发现总是无法ping通10.0.0/24网段
使用命令ifconfig
发现enp3s0:0不存在,认为虚拟网卡创建不成功。
经过一般摸索,我们认为新写入的interfaces文件没起作用。为什么呢?
NetworkManager和/etc/init.d/networking
在ubuntu系统中,我们分为ubuntu Server版本和ubuntu Desktop版本,在 Ubuntu Server中,默认使用interfaces管理网络,而在ubuntu Desktop中,系统默认安装NetworkManager,从而使用NetworkManager管理网络服务。
我们启动NetworkManager的时候,系统右上方会出现网络管理图标,当使用interfaces管理网络的时候,我们发现系统的网络管理图标消失了。
那么在Ubuntu Desktop中,当我们准备用interfaces管理网络的时候,我们应该怎么做呢?
sudo service network-manager stop # 停止NetworkManager服务
sudo vim /etc/NetworkManager/nm-system-settings.conf
#将NetworkManager服务关闭,并修改managed=false
sudo /etc/init.d/networking restart ##使用networking管理,并读取interfaces
至此,就配置好了。我们可以用下面的命令检查一下是否设置成功。
ifconfig ##查看是否创建虚拟网卡成功
ping 10.0.0.100 ##ping一下服务器,看看是否连接成功
另外需要注意的一点,在校园网ubuntu环境下,如果使用校园网客户端认证的话,会关闭NetworkManager并自动启动/etc/init.d/networking
进行管理,此时调用的是interfaces文件。
网友评论