Centos6.3定位于提供服务的网络型操作系统,所以为其设置完整的网络参数至关重要。通常,Linux都可以通过两种方式为系统设置网络参数。一种是通过命令设置的方式,这种方式的优点是方便、便捷,并且设置后可以立刻生效。但缺点是计算机重启后,所有的设置均会失效。另一种方式是通过修改系统的配置文件来实现,这种方式的优点是可以永久保存,计算机重启后仍然生效。缺点是这样的设置不会立刻生效,需要重启计算机或者相关服务才可以使其生效。下面分别介绍这两种设置网络参数的具体方法。
一、命令行设置网络参数
1.网络接口参数——ifconfig 命令
描述:显示或设置网络接口信息。
用法:ifconfig interface 选项 | 地址
设置eth0网卡接口IP地址为192.168.0.31,子网掩码为255.255.255.0.
[root@centos6 ~]# ifconfig eth0 192.168.0.31 netmask 255.255.255.0
查看eth0网卡接口信息:
[root@centos6 ~]# ifconfig eth0
关闭eth0网卡接口:
[root@centos6 ~]# ifconfig eth0 down
开启eth0网卡接口:
[root@centos6 ~]# ifconfig eth0 up
2.主机名参数——hostname 命令
描述:显示或设置系统主机名称。
用法:route [选项] #查看路由信息
route add 目标网络 gw 网关地址 #设置主机名称
route del 目标网络 #删除路由表记录
查看当前路由表:
[root@centos6 ~]# route
使用数字地址代替主机名称:
[root@centos6 ~]# route -n
添加默认网关为192.168.0.254:
[root@centos6 ~]# route add default gw 192.168.0.254
添加指定网段的网关:
[root@centos6 ~]# route add -net 172.16.0.0/16 gw 192.168.0.254
添加路由记录,指定通过eth0网卡传输到192.56.76.0网段的数据:
[root@centos6 ~]# route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
删除默认网关:
[root@centos6 ~]# route del default gw 192.168.0.254
删除指定网段的网关记录:
[root@centos6 ~]# route del -net 172.16.0.0/16
二、文件修改网络参数
1.网络接口参数
centos6.3系统中网卡配置文件为/etc/sysconfig/network-scripts/ifcfg-<iface>,其中,iface为网卡接口名称,如果只有一块以太网卡,则一般为ifcfg-eth0,该文件的语法格式见表1.
表1:
实例1:设置eth0网卡通过dhcp获取网络参数。
[root@centos6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="52:54:00:E9:F2:8E"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
实例2:设置eth0网卡参数,IP地址为192.168.0.31、子网掩码为255.255.255.0、网关为192.168.0.254、主DNS为202.106.0.20、辅助DNS为202.106.46.151
[root@centos6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="52:54:00:E9:F2:8E"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR="192.168.0.31"
PREFIX="24"
GATEWAY="192.168.0.254"
DNS1="202.106.0.20"
DNS2="202.106.46.151"
[root@centos6 ~]# service network restart #重启网络服务使得新设置生效
Linux中除了可以为真实的网卡接口配置网络参数外,我们还可以通过虚拟接口的方式为一个物理网卡配置多个网络参数,虚拟接口的名称一般为iface:n,如eth0:0、eth0:1等。注意,默认虚拟接口的配置文件并不存在,需要手动创建新文件设置参数。
实例3:设置eth0网卡虚拟接口eth0:0,IP地址为192.168.0.32、子网掩码为255.255.255.0、网关为192.168.0.254、主dns为202.106.0.20、辅助dns为202.106.46.151.
[root@centos6 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:0
DEVICE="eth0:0"
BOOTPROTO="static"
HWADDR="52:54:00:E9:F2:8E"
NM_CONTROLLED="yes"
ONPARENT="yes"
TYPE="Ethernet"
IPADDR="192.168.0.32"
PREFIX="24"
GATEWAY="192.168.0.254"
DNS1="202.106.0.20"
DNS2="202.106.46.151"
[root@centos6 ~]# service network restart
2.主机名参数
主机名配置为/etc/sysconfig/network,通过修改其中的HOSTNAME值实现主机名称的设置,HOSTNAME=centos6.example.com
3.路由参数
通过上面对网卡接口设置网络参数后,可以指定网卡的默认网关,但无法设定通往特定网段的静态路由信息。此时,需要创建指定网卡的路由配置文件(默认文件不存在),配置文件名称为route-<iface-name>,该文件每行对应一条静态路由记录。
实例:为eth0网卡指定去往172.16.0.0/16网段的网关为192.168.0.200
[root@centos6 ~]# vim /etc/sysconfig/network-scripts/route-eth0
172.16.0.0/16 via 192.168.0.200
[root@centos6 ~]# service network restart
三、网络故障排错
随着公司IT技术的不断扩展与延伸,当网络越来越大时,故障就时有发生,此时我们需要有良好的排错思路与优秀的排错工具。排错的思路为:首先,从最近一次操作定位问题所在,或根据公司服务器工作手册查找最近对服务器所做的修改定位关键问题:其次,检查这些操作与配置有无错误,同时获取与问题相关的信息(如,硬件型号、软件版本、网络拓扑等信息);然后,根据所搜集的信息修复问题,修复可以是修改配置文件、替换相应的设备或进行版本升级等。问题不是一成不变的,但解决问题的思路确实万变不离其宗的。下面介绍几个帮助解决网络配置常见问题的工具。
1.ping
当网络不通时,可以使用简单的ping命令来定位问题节点的位置,一般,我们会按顺序进行ping命令,依次为本地回环、本地IP、外网IP、ping的对象一般都会给予回应,如果没有回应,则表示网络不通(某些环境下,对象主机会禁止被ping),据此来判断网络断点的位置。
[root@centos6 ~]# ping 127.0.0.1 #ping本地回环,测试本地网络协议是否正常
[root@centos6 ~]# ping 192.168.0.31 #ping本地IP,测试本地网络接口是否正常
[root@centos6 ~]# ping 192.168.0.254 #ping网关,测试网关是否正常工作
[root@centos6 ~]# ping 202.106.0.20 #ping外部网络,测试服务商网络是否正常工作
2.traceroute
一个数据包从本地发送后一般会经过多个路由转发数据,如果有一个数据包进入互联网后因为中间的某个路由转发有问题,而导致最终的数据发送失败。这种情况下,我们并不知道问题路由的位置及IP信息,利用traceroute可以帮助我们解决这些问题,他可以跟踪数据包的路由过程,以此判断问题所在。Linux下的traceroute默认使用UDP封装跟总包,如果希望使用ICMP封装,可以使用-I选项。
[root@centos6 ~]# traceroute -I www.google.com
(...部分输出省略...)
3.nslookup
目前互联网的告诉发展,使网络资源出现爆发式的增长。网络本身是使用IP地址来唯一对应网络资源的,但用户是无法记忆这么多的数字IP信息的。所以,我们一般会通过域名来访问网络资源,此时DNS服务就至关重要了,使用nslookup可以帮助检查本地设置的DNS服务器工作是否正常。输入下面的命令检查本机设置的DNS服务器是否可解析www.google.com域名。
[root@centos6 ~]# nslookup www.google.com
(...部分输出省略...)
输出信息说明:本次解析是由192.168.137.2这台DNS服务器解析提供的,解析的结果是www.google.com域名对应了多个Ip地址。
4.dig
nslookup仅可以查询域名与IP地址之间的对应关系,如果你需要更多关于DNS记录的信息,可以使用dig命令,查看包括MX(邮件记录)、NS(域名服务器记录)等信息。
[root@centos6 ~]# dig www.google.com
[root@centos6 ~]# dig google.com MX #查看google.com域的邮件记录
5.netstat
如果你怀疑有人非法闯入了你的系统,而你又不知道此人在哪里时,可以通过netstat强大的网络监控能力找出连接系统的所有人。或是当你启动了一个网络服务后,远程客户却无法访问该服务,我们也可以使用netstat命令查看对应的端口是否已经正常开启,来判断服务启动是否正常。
[root@centos6 ~]# netstat -an #查看网络连接状态
[root@centos6 ~]# netstat -nutlp #查看当前系统开启端口信息
从该条输出信息中可以看出,有一个远程IP(192.168.137.1)使用61287端口,连接本地的22端口。