一、检测工具

tcpdump:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

如果系统没有使用yum安装:

# yum -y install tcpdump

常用参数:

-i 指定网卡接口eth

-n 不解析IP地址为域名

-v 显示包中详细信息

-t 指定协议类型

详细使用方法:http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html

二、分析原因

1、ip地址的配置问题

2、网关问题

3、dns问题

4、TTL问题

三、处理步骤

1、ping www.baidu.com     域名

2、ping 61.135.169.121     公网ip

3、ping 192.168.1.1        网关

四、TTL数据包的生存周期

linux操作系统的默认值是64,每经过一个路由器节点,TTL值减1。TTL的值为0时,说明目标地址不可达,并返回:Time to live exceeded,TTL的作用是防止数据包无限制的在公网中转发。

五、解决由TTL值造成的网络不通

在网卡配置正确的情况下就有可能是由于TTL值造成的网络问题

ping使用的协议是ICMP协议

抓包:

# tcpdump -i eth1 -nv -t icmp

# ping -c 1 192.168.1.1

抓包的结果:

IP (tos 0x0, ttl 1, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

192.168.1.155 > 192.168.1.1: ICMP echo request, id 43537, seq 1, length 64

IP (tos 0x0, ttl 64, id 12973, offset 0, flags [none], proto ICMP (1), length 84)

192.168.1.1 > 192.168.1.155: ICMP echo reply, id 43537, seq 1, length 64

解决办法:

临时生效:

# echo 64 > /proc/sys/net/ipv4/ip_default_ttl

永久生效:

# vim /etc/sysctl.conf

添加如下内容:

net.ipv4.ip_default_ttl = 64

# sysctl /etc/sysctl.conf

结果:

[root@demo1 ~]# ping -c 1 www.baidu.com

PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.

64 bytes from 61.135.169.121: icmp_seq=1 ttl=57 time=142 ms

正确的包的值:

IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

192.168.1.155 > 61.135.169.125: ICMP echo request, id 45329, seq 1, length 64

IP (tos 0x0, ttl 57, id 0, offset 0, flags [DF], proto ICMP (1), length 84)

61.135.169.125 > 192.168.1.155: ICMP echo reply, id 45329, seq 1, length 64

linux网络故障解决方法的更多相关文章

  1. linux开机故障解决方法

    无法进grub方法1光盘或者网络引导进入Rescue切换原机系统 chroot /mnt/sysimage/ 安装grub grub-install /dev/sda 方法2 直接命令 grub-in ...

  2. Win10系统,开机后提示Desktp不可用的故障解决方法。

    WIN10桌面位置不可用的故障解决方法 今天电脑开机 (Win10系统).桌面空了,然后就蒙了. 系统并弹出以下框,如下图: 原因可能是因为昨天晚上熬夜测试脚本.网上下载的脚本大多都是有毒的.但是人懒 ...

  3. Linux 忘记密码解决方法,Linux 远程登录

    一.Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步 ...

  4. 四、Linux 忘记密码解决方法

    Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如 ...

  5. Linux网络性能优化方法简析

    Linux网络性能优化方法简析 2010-12-20 10:56 赵军 IBMDW 字号:T | T 性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux ...

  6. CentOS7 下linux不能上网解决方法​,centos7 eth0 没有ip,IP突然丢失

    CentOS7 下linux不能上网解决方法​ 在CentOS VMware下安装好linux后,发现有时不能直接联网,特分享下总结出来的经验,希望对新手有用 工具/原料 XP系统 VMware.Wo ...

  7. 【转载】WIN7访问共享:0x80070035 找不到网络路径解决方法

    转载:http://blog.chinaunix.net/uid-12372814-id-3518571.html 昨天刚装WIN7系统,今天早上准备访问服务器安装些软件,结果出现网络错误,提示Win ...

  8. 排错-Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法

    Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法 by:授客 QQ:1033553122 1.启动windows相关服务 win->services. ...

  9. flask使用第三方云通讯平台时,出现{'172001':'网络错误'}解决方法

    问题描述:flask使用第三方云通讯平台时,出现{'172001':'网络错误'} 解决方法: 在sms.py文件中添加如下代码 import ssl # 取消证书验证ssl._create_defa ...

随机推荐

  1. 构建者模式(Builder)示例代码

    package com.test; /** * Created by xiaonanhai on 2015/5/30. */ public class Builder { private String ...

  2. win10 用微软账户登录无法访问共享的问题

    百度找了一大堆可以解决的,最终最简单的方式(可能是bug): 测试了一下,Win10用微软账户登录的,连局域网共享时,输入用户名的时候,前面加个乱七八糟的域名就可以访问了: 比如: 用户名:   ba ...

  3. CSS实现图片快速等比例缩放,效果佳

    初学者在实现图片等比例缩放,通常会使用js编写逻辑来控制高或宽,达到自动缩放的效果. 这里提供一种纯CSS的图片缩放功能,请看代码: <style type="text/css&quo ...

  4. julia与python中的列表解析.jl

    julia与python中的列表解析.jl #=julia与python中的列表解析.jl 2016年3月16日 07:30:47 codegay julia是一门很年轻的科学计算语言 julia文档 ...

  5. 收藏的博客--PHP

    32位Win7下安装与配置PHP环境(一至三)  http://blog.csdn.net/yousuosi/article/details/9448903

  6. solr学习之入门篇

    一,简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过Http ...

  7. 技术分享:逆向分析ATM分离器

    文章内容仅供技术交流,请勿模仿操作! 背景(作者) 每一次外出时, Elizabeth和我总是格外的小心,同时把我们身上的钱藏在特殊的皮带上面,这样还不够,我们还采取了“狡兔三窟”的方式来藏身上带的银 ...

  8. 排版字号对应多少pt

    各字号对应多少pt?初号= 42pt: 小初号= 36pt: 一号= 26pt: 二号= 22pt: 小二号= 18pt: 三号= 16pt: 四号= 14pt: 小四号= 12pt: 五号= 10. ...

  9. 简单学习:repo入门

    一:关于repo repo是Google开发的用于管理Android版本库的一个工具,repo并不是用于取代git,而是用Python对git进行了一定的封装,简化了对多个Git版本库的管理.对于re ...

  10. postfix 邮件备份方法

    postfix 邮件备份方法: postfix的bcc(密送)功能可以根据条件,将所有经过postfix队列的邮件根据规则密送到指定的邮箱. postfix带有三个bcc参数: ①.always_bc ...