Linux下添加静态路由表设置网关出现SIOCADDRT: Network is unreachable的问题分析

场景:

# route add default gw 192.168.4.1
route: SIOCADDRT: Network is unreachable

解释:

1、先ping一下网关,但是ping的通不代表一定能做路由的下一跳。

2、这里所提示的unreachable应该指的是广播不可达,而不是路由不可达。因为路由下一跳就是给ip数据包提示下一步如何走的,如果你告诉它一个无法直接广播到达的地址的话他就要通过相应的路由去找这个地址,这就等于你要千辛万苦找到“下一跳”(加引号是因为其实它并不是真正的下一跳,因为你是通过对应的路由[这个对应的下一跳反而成了真正的下一跳]才能找到它),然后再问他它去往原目的下一跳如何走... 这显然不合理也难做到,因为有两个目的地址要定位, 一个是找“下一跳”, 一个找数据包的目的地址,但正常情况下IP报文中只有一个目的地址。

参考:

http://blog.csdn.net/lidonghat/article/details/53520098(以上内容转自此篇文章)

http://blog.csdn.net/panlei361/article/details/48373359

http://blog.csdn.net/u013304231/article/details/53319375

http://blog.csdn.net/trochiluses/article/details/9788247

http://www.360doc.com/content/12/0430/16/9318309_207703488.shtml

http://www.codes51.com/itwd/4369946.html

原文地址:https://www.cnblogs.com/EasonJim/p/8427569.html

时间: 2024-11-13 09:03:26

Linux下添加静态路由表设置网关出现SIOCADDRT: Network is unreachable的问题分析的相关文章

linux添加静态路由表,重启继续生效

在日常的使用中,或者在服务器中,有两个网卡配置两个地址,访问不同的网络段,这种情况是非常常见的现象,但是,我们需要额外的添加路由表来决定发送的数据包经过正确的网关和interface才能正确的进行通信 今天来介绍在linux操作系统中如何添加路由(主要针对rhel系列,测试平台为rhel5.4) 一.使用route命令添加临时路由 添加到主机的路由 # route add -host 192.168.1.123 dev eth0 # route  add -host 192.168.1.123

静态路由表设置以及路由汇总相关知识

随着宽带接入的普及,很多家庭和小企业都组建了局域网来共享宽带接入.而且随着局域网规模的扩大,很多地方都涉及到2台或以上路由器的应用.当一个局域网内存在2台以上的路由器时,由于其下主机互访的需求,往往需要设置路由.由于网络规模较小且不经常变动,所以静态路由是最合适的选择. 本文作为一篇初级入门类文章,会以几个简单实例讲解静态路由,并在最后讲解一点关于路由汇总(归纳)的知识.由于这类家庭和小型办公局域网所采用的一般都是中低档宽带路由器,所以这篇文章就以最简单的宽带路由器为例.(其实无论在什么档次的路

linux 下配置静态路由

实验拓扑图 1.  首先在B计算机下给eth0和eth1设置IP地址 打开配置文件 #vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=网卡的代号 BOOTPROTO=是否使用 dhcp, 试验中选择不使用 HWADDR=是否加入网卡卡号(MAC) IPADDR=就是IP地址 NETMASK=掩码 NETWORK=网域,也就是你所在的是哪一个网段 ONBOOT=这里要选择启用,也就是YES GATEWAY=网关 BROADCAST=广播地址

Linux下的静态IP配置【weber出品】

配置Linux下的静态IP地址 因为服务器的IP地址是固定的,不像我们自己家的笔记本的IP是动态的.所以我们要将这个地址给写成静态的. 直接编辑这个这个配置文件即可: vi /etc/sysconfig/network-scripts/ifcfg-ethx DEVICE=eth0 BOOTPROTO=static HWADDR= ;这里是你网卡的物理地址,不用输入 ONBOOT=yes IPADDR=192.168.0.1 NETMASK=255.255.255.0 NETWORK=192.16

linux下的静态连接库和动态链接库

对linux的静态连接库和动态链接库分不清楚,在看了一篇博文后,现在想做个自己的总结,以加深印象: 1.库的基本概念: 库是可执行代码的二进制形式,其可以被调入操作系统调入内存进行执行. 在window和linux系统,都存在各自的库,但是两种系统的库并不能兼容,因为它们的编译器,连接器,汇编器都是不相同的. 在windows下,静态连接库的后缀是.lib;动态链接库的后缀是.dll 在linux系统下,静态链接库的后缀是.a;动态链接库的后缀是.so 2.静态连接库和动态链接库的命名: 静态连

Linux下添加,删除,修改,查看用户和用户组

linux下添加,删除,修改,查看用户和用户组 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod -n test2 test 将test组的名子改成test2 3,删除组 groupdel test2 删除 组test2 4,查看组 a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apac 一,组操作 1,创建组 groupadd test 增加一个test组 2,修改组 groupmod -n test2  te

linux下的静态库和动态库

一.linux下的静态库 静态库中的被调用的函数的代码会在编译时一起被复制到可执行文件中去的!!可执行文件在运行不需要静态库的存在! 二.linux下动态库的构建和使用 1.动态库的构建 gcc  -fPIC  -shared    -o  lib库名.so   源文件列表 例: gcc   -fPIC  -shared  -o  libmylib.so  max.c  min.c 2.动态库使用 gcc    -o  最终的可执行文件  源文件列表  -L 动态库的目录  -l库名 例子: 已

linux下添加动态链接库路径、动态库加载等方法

linux下添加动态链接库路径的方法 2017年01月20日 10:08:17 阅读数:5596 Linux共享库路径配置 Linux下找不到共享库文件的典型现象为明明已经安装某个软包(如libnet,MySQL),编译连接可以正常进行,但是在运行时出现如"error while loading shared libraries: libnet.so.1:cannot open shared object file :No such file or directory"的错误提示. 原

Linux下常用安全策略如何设置?

本文和大家分享的主要是linux下常用安全策略设置的一些方法,一起来看看吧,希望对大家学习linux有所帮助. 安全第一"对于linux管理界乃至计算机也都是一个首要考虑的问题.加密的安全性依赖于密码本身而非算法!而且,此处说到的安全是指数据的完整性,由此,数据的认证安全和完整性高于数据的私密安全,也就是说数据发送者的不确定性以及数据的完整性得不到保证的话,数据的私密性当无从谈起! 1. 禁止系统响应任何从外部/内部来的ping请求攻击者一般首先通过ping命令检测此主机或者IP是否处于活动状态