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