linux网络故障解决方法
一、检测工具
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网络故障解决方法的更多相关文章
- linux开机故障解决方法
无法进grub方法1光盘或者网络引导进入Rescue切换原机系统 chroot /mnt/sysimage/ 安装grub grub-install /dev/sda 方法2 直接命令 grub-in ...
- Win10系统,开机后提示Desktp不可用的故障解决方法。
WIN10桌面位置不可用的故障解决方法 今天电脑开机 (Win10系统).桌面空了,然后就蒙了. 系统并弹出以下框,如下图: 原因可能是因为昨天晚上熬夜测试脚本.网上下载的脚本大多都是有毒的.但是人懒 ...
- Linux 忘记密码解决方法,Linux 远程登录
一.Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步 ...
- 四、Linux 忘记密码解决方法
Linux 忘记密码解决方法 很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如 ...
- Linux网络性能优化方法简析
Linux网络性能优化方法简析 2010-12-20 10:56 赵军 IBMDW 字号:T | T 性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux ...
- CentOS7 下linux不能上网解决方法,centos7 eth0 没有ip,IP突然丢失
CentOS7 下linux不能上网解决方法 在CentOS VMware下安装好linux后,发现有时不能直接联网,特分享下总结出来的经验,希望对新手有用 工具/原料 XP系统 VMware.Wo ...
- 【转载】WIN7访问共享:0x80070035 找不到网络路径解决方法
转载:http://blog.chinaunix.net/uid-12372814-id-3518571.html 昨天刚装WIN7系统,今天早上准备访问服务器安装些软件,结果出现网络错误,提示Win ...
- 排错-Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法
Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法 by:授客 QQ:1033553122 1.启动windows相关服务 win->services. ...
- flask使用第三方云通讯平台时,出现{'172001':'网络错误'}解决方法
问题描述:flask使用第三方云通讯平台时,出现{'172001':'网络错误'} 解决方法: 在sms.py文件中添加如下代码 import ssl # 取消证书验证ssl._create_defa ...
随机推荐
- TClientDataSet 设计期 多次New 字段问题
第一次New几个字段后,右键菜单CreateDataSet 后来需要再New几个字段. 右键菜单,先 ClearData(不这样,会报 打开的数据集不能执行 这个New字段的操作),然后在 字段编辑器 ...
- K2 BPM+Microsoft Dynamics CRM,妥妥的~
啊~~~~七夕 ▼ 你比巴西少一xi 你比山西多四xi 对有情人来说今天就是情人节,对单身汪来说,今天就是个星期四. but,软件也是要秀恩爱的! ♥ 晒晒我家亲爱的CRM,它的全名叫Microsof ...
- 这个setDefaultCloseOperation写不写的区别是什么?
2009-03-23 13:40提问者采纳 设置用户在此窗体上发起 "close" 时默认执行的操作.必须指定以下选项之一: DO_NOTHING_ON_CLOSE(在 W ...
- vmware 下的linux的host only上网配置
1.首先在Vm中将网络设置为Host-only. 2.在windows下,打开网络邻居,会见到如下界面,其中负责联网的是本地连接,Vm1是host-only连接,VM2是Nat连接方式,首先将VM1. ...
- MySQL的简单查询
1.普通查询 select * from info; #查询所有内容 select Code,Name from Info #查询某几列 2.条件查询 select * from Info where ...
- 嵌入dll到rtf文件
嵌入文件到doc文件中, 打开word--->插入菜单---->对象--->新建---->对象类型----->Package---->弹出创建软件包界面-----& ...
- php大力力 [009节]php在百度文库的几个基础教程
2015-08-23 php大力力009. php在百度文库的几个基础教程 php大力力 [009节]php在百度文库的几个基础教程 PHP脚本中操作MySQL数据库3-猿代码平台 php基础教程-绝 ...
- Java Abstract Class
在Baths-stomp里面的每个Fluent Interface Interactor Impl,都继承了MarketDataAccessor,which is an abstract class. ...
- Mac环境下装node.js,npm,express
1. 下载node.js for Mac 地址: http://nodejs.org/ 直接下载 pkg的,双击安装,一路点next,很容易就搞定了. 安装完会提醒注意 node和npm的路径是 /u ...
- NSNotificationCenter 的详细说明
1. 定义一个方法 -(void) update{ } 2. 对象注册,并关连消息 [[NSNotificationCenter defaultCenter] addObserver:se ...