不可不知的网络知识与工具
通常在开发、测试、生产上会遇到各种各样的网络问题,如何快速定位问题,需要了解相关知识,掌握相关工具。
1、私有IP的地址
私有IP就是在本地局域网上的IP,与之对应的是公有IP。由于我们目前使用的IPv4协议的限制,现在IP地址的数量是有限的。这样,我们就不能为居于互联网中的每一台计算机分配一个公网IP。所以,在局域网中的每台计算机就只能使用私有IP地址了。私有IP地址是一段保留的IP地址,只是使用在局域网中,在Internet上是不使用的。我们可以根据需要来选择适当的私有IP的地址类,在内部局域网中将这些地址像公用IP地址一样地使用。私有IP的地址范围如下:
A类: 10.0.0.0 - 10.255.255.255
B类: 172.16.0.0 - 172.31.255.255
C类: 192.168.0.0 - 192.168.255.255
2、访问网站基本流程(主要解释DNS)
(1). 输入网址(www.demo.com.)
(2). 访问本地hosts
(3). 访问本地hosts DNS缓存
(4). 访问LDNS(local dns),配置网关对应的地址
(5). 先访问根域DNS(全球13台)
(6). 访问com对应的服务器
(7). 访问demo对应的服务器
(8). 访问网站授权DNS服务器
(9). ·
(10). 返回给请求者机器,请求者机器缓存DNS,并访问对应服务器
(11). 对应服务器返回内容
3、修改主机名
Linux操作系统的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname。修改运行时Linux系统的hostname有一下方式:
(1).临时生效
hostname newname
(2).永久生效
vim /etc/sysconfig/network
HOSTNAME=newname #主机名
4、网卡文件
在linux的发型版本CentOS中,网卡文件的地址是/etc/sysconfig/network-scripts/ifcfg-eth0,各个参数意义如下:
#指第一块网卡名称为eth0,第二块为eth1
DEVICE=eth0 #类型
TYPE=Ethernet
#开机网卡自启动
ONBOOT=yes
NM_CONTROLLED=yes
#静态分配地址
BOOTPROTO=none
#客户端dns设置
DNS1=8.8.8.8
USERCTL=no
IPV6INIT=no
#mac地址,不同机器不能重复,尤其是克隆虚拟
#机或者复制网卡配置的时候
HWADDR=00:0C:20:3F:00:20
#这里是ip地址设置
IPADDR=10.10.1.1
#子网掩码
NETMASK=255.255.255.0
#网关配置,也可以命令行通过route添加删除
GETWAY=10.0.0.254
5、单网卡设置多个ip地址
#ifconfig eth0 192.167.0.1 netmask 255.255.255.0 up
说明:
eth0是第一个网卡,其他依次为eth1,eth*
192.167.0.1是给网卡配置的第一个网卡配置的ip地址
netmask 255.255.255.0 配置的是子网掩码
up是表示立即激活
将eth0改为eth0:x(x是0-255例如eth0:0或者eth0:1等等),eth0:x称为虚拟网络接口,是建立在网络接口(eth0)上边,所以给单网卡配置多ip的方法就是使用命令:
#ifconfig eth0:0 192.167.0.1 netmask 255.255.255.0 up
#ifconfig eth0:1 192.167.0.2 netmask 255.255.255.0 up
6、修改默认网关
即时生效 :route add default gw 192.167.1.1
重启生效: vim /etc/sysconfig/network --增加或修改下面一行 GATEWAY=192.167.1.1
7、查看网关
执行route -n命令
最后一条为默认网关,所有规则都不符合的时候就走默认网关。
8、查看DNS解析
一般用法为dig www.baidu.com。
比如对网站域名www.baidu.com 的trace查询可以看到根域、域名权威服务器的地址及其各自的返回结果,这样对于追踪dns解析中的问题有很大的帮助。
如果系统中没有安装dig,在CentOS下可以执行以下命令安装:yum install bind-utils
9、跟踪路由
一般用法为traceroute www.baidu.com。
如果系统中没有安装dig,在CentOS下可以执行以下命令安装:yum install traceroute
10、抓包工具
tcpdump是一个用于截取网络分组,并输出分组内容的工具。tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。
10、网络不通检查思路
(1). 物理链路是否通
(2). 本机ip,路由,DNS的设置情况是否达标
(3). 测试到网关或路由器的通畅情况,先测网关然后测路由器
(4). 测试ping公网ip的通畅情况
(5). 测试DNS的通畅