Linux 6版本的静态IP配置

安装好系统并启动完成但是还不能与外部通讯,需要给他配置IP方能与外部通讯,那如何配置IP呢?可以先输入命令ifconfig 来查看网卡的IP,我们可以看到如图1所示。

图片关键词

图1 使用查看IP命令来查看当前获取的IP


可以看到,ifconfig后只看到lo这个回环网卡相关信息,什么是回环网卡,不管是windows还是linux都会有这个ip地址,这个主要是机器内部通讯用的,非常重要的,安装完系统之后,是有一块默认网卡的,我们可以通过ifconfig -a来查看,如图2所示。

图片关键词

图2 使用IP查看命令加上“a”参数选项更详细


可以看到多了一个eth0的相关信息,这是没有配置的网卡,那么如何才能给eth0这个网卡配置好IP呢?可以先通过dhclient命令让eth0这个网卡自动获取一个IP地址。这个命令是自动获取IP地址的命令,如果linux所在的网络有一个dhcp服务器,那么运行这个自动获取IP地址命令后,Linux系统会自动获取到一个IP地址,但是这是自动获取的IP也就是说这个IP是动态获得的,不是静态IP地址,现实的机房服务器IP并非是自动获取的。都需要固定给静态IP地址,如图3所示。

图片关键词

图3 使用自动获取IP命令"dhclient"来自动获取一次IP


那么该如何设置这个eth0网卡的静态IP地址呢?在设置静态IP时,我们先运行一下route命令,来查看NETMASK(子网掩码)与GATEWAY(网关),如图4所示。

图片关键词

图4 使用“route”命令来查看子网掩码与网关


可以看到子网掩码(Genmask)与网关(Gateway)的相关信息,从此可以得出ip锻就是:192.168.56.3/254。这里就给这个系统配置IP为“192.168.56.3”,这需要打开linux系统中eth0这个网卡的配置文件,这条命令相对有些长,不过我们可以使用Tab补全,命令如下 vi /etc/sysconfig/network-scripts/ifcfg-eth0回车打开配置文件如图5 所示。

图片关键词

图5 使用“vi”编辑命令编辑网卡配置命文件



eth0网卡配置文件如图6所示。

图片关键词

图6 网卡配置文件信息


在打开网卡配置文件我们先按键盘小“i”键,进入编辑模式,这里可不是微软系统,鼠标是动不了喔,需要按上下左右键移动到需要修改的位置进行修改与增加。需要修改的是:ONBOOT=no(这个是配置网卡是否随系统启动,no就是不随系统启动)跟BOOTPROTO=dhcp(这是IP地址获取方式,目前可以看到是DHCP动态获取IP)并增加一下5行(一般DNS2可以不用添加,这是我个人习惯),ONBOOT=yes意思就是网卡随系统启动,BOOTPROTO=static意思是以静态分配获取IP地址,然后再增加IPADDR=192.168.56.3、NETMASK=255.255.255.0、GATEWAY=192.168.56.2、DNS1=119.29.29.29、DNS2=114.114.114.114 如图7所示。

图片关键词

图7 编辑网卡配置文件


完成上图修改后,按一下Esc键退出编辑模式,然后再按冒号键输入wq(保存编辑并退出)回车,如图8 所示。

图片关键词

图8 保存并退出网卡配置文件


特别注意大小写字母喔!这样我们就配置好网卡IP为静态IP了,但需要重启网卡后才生效,具体命令如下:service network restart,回车后即可重启网卡。如图9所示。

图片关键词

图9 输入网卡配置文件编辑命令


当回车看到如图10所示就表示网卡重启成功,如图10所示。

图片关键词

图10 网卡重启成功


这样就成功配置好静态IP了。日后再怎么重启系统,IP地址也不会改变。我们看看现在系统所获得IP,如图11所示。


图片关键词

图11 重启网卡后查看获取的IP地址是否是自己编辑网卡配置文件上所设置的IP


这是我们测试一下是否可以与外网链接,我们pin一下百度的地址,如图12所示。

图片关键词

图12 测试外网连通性

如图12所示,我们的静态IP配置已经成功。

Linux 7版本的静态IP配置

在7.0版本中,默认是没用"ifconfig"这个命令的,需要使用"ip add"来查看IP地址,如需要安装这个"ifconfig"这个RPM包才可以使用,不过本人使用7.4的版本中就已经无需额外安装了与6版本的一致都默认使用"ifconfig"来查看IP地址。查看ip地址如图13所示。

图片关键词

图13 7版本的查看IP地址命令


可以看到lo与ens33两个网卡,真实物理网卡则是ens33,也是正要配置的网卡名称,这里就需要说说网卡的命名规则了:

网卡的明明规则

    CENTOS6的网卡名方式:它会根据情况有所改变而非唯一固定的,在ENTOS6和之前的版本,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化。

    CENTOS7采用dmidecode采集命名方案,以此来得到主板信息,它可以实现网卡名称永久唯一化(dmidecode这个命令可以采集有关硬件方面相关信息)

    CENTOS7对网络设备的命名方式:

        1、   如果Firmware(固件)或者BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如:ifcfg-ens33

        2、   如果Firmware(固件)或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测则根据此索引进行命名,例如:ifcfg-enp33,

        3、   如果硬件接口的物理位置信息可用,则根据此信息进行命名。例如:enp2s0

    如果上述方式均不可用,则使用传统命名机制,则centos6版本的命名机制

扩展知识:

    在centos7中,en表示:ethernet以太网,就是咱们使用的以太网网络

    enX(X常见下3种类型):

    o:主板板载网卡,集成设备的设备索引号。

    p:独立网卡,PCI网卡

    s:热插拔网卡,usb之类,扩展槽的索引号

    nnn(数字)表示:MAC地址+主板信息计算得出唯一的序列

所以在服务器上根据网卡名称也能识别这个网卡具体是什么类型的网卡了。回归正题,输入dhclient让这个网卡自动获取一次IP后再次查看IP,如图14所示。

图片关键词

图14 自动获取到的IP地址


可以看到ens33的网卡已经获取到IP:192.168.56.136然后输入route -n 来查看一下路由表,7版本需要添加参数选项"n"才能显示具体信息如图15 所示。图片关键词

图15 7版本查看路由表方法


从此可以得出ip锻就是:192.168.56.3/254。这里就给这个系统配置IP为“192.168.56.4”,这需要打开编辑linux系统中ens33这个网卡的配置文件,这条命令相对有些长,不过我们可以使用Tab补全,命令如下 vi /etc/sysconfig/network-scripts/ifcfg-ens33回车打开配置文件如图16 所示。

图片关键词

图16 使用“vi”编辑命令编辑网卡配置命文件



ens33网卡配置文件如图17所示。

图片关键词

图17 7版本的网卡配置文件


可以看出,7版本的配置文件与6版本的有些不同,但所编辑方法都与6版本完全一致,先按键盘小“i”键,进入编辑模式,这里可不是微软系统,鼠标是动不了喔,需要按上下左右键移动到需要修改的位置进行修改与增加。需要修改的是:ONBOOT=no(这个是配置网卡是否随系统启动,no就是不随系统启动)跟BOOTPROTO=dhcp(这是IP地址获取方式,目前可以看到是DHCP动态获取IP)并增加一下5行(一般DNS2可以不用添加,这是我个人习惯),ONBOOT=yes意思就是网卡随系统启动,BOOTPROTO=static意思是以静态分配获取IP地址,然后再增加IPADDR=192.168.56.4、NETMASK=255.255.255.0、GATEWAY=192.168.56.2、DNS1=119.29.29.29、DNS2=114.114.114.114 如图18示。

图片关键词

图18 7版本的网卡配置文件编辑


从图18可以注意到未进入编辑模式时左下角显示的是该网卡配置文件的路径,进入编辑模式后显示INSERT。编辑好配置文件后,按一次ESC键退出编辑模式,然后按SHIFT+:  ,输入这个命令时得提醒一下这命令是识别大小写的,特别注意大写会报错,这里只能是小写wq。wq表示保存并退出,如图19所示。

图片关键词

图19 网卡配置文件编辑完成并保存退出(:wq)




回车后即可保存退出。然后需要重启一次网卡,7版本的重启网卡与6版本的不同,6版本的重启网卡命令是:service network restart而7版本的则为:systemctl restart network.service。且回车后没任何信息提示。如图20所示。


图片关键词图20 7版本的网卡重启命令


成功重启网卡后输入ip add 看一下IP并进行ping一下baidu.com看看能不能上网,如图21所示。

图片关键词

图21 重启网卡后查看获取的IP地址是否是自己设置的并验证网络连通性


好,大功告成!这里需要注意的是,不管哪个版本的linux,当执行了ping命令时,它不会像windows那样执行4次就停止,而是会一直执行下去。需要按一下“CTRL+c”来结束它。