十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
使用 route 命令可以查看 Linux 内核路由表。
姚安ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!
Route命令是用于操作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0。当使用"add"或者"del"参数时,路由表被修改,如果没有参数,则显示路由表当前的内容。
设置内核路由表的命令格式是:
# route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
扩展资料
route命令参数介绍:
-c 显示更多信息
-n 不解析名字
-v 显示详细的处理信息
-F 显示发送信息
-C 显示路由缓存
-f 清除所有网关入口的路由表。
-p 与 add 命令一起使用时使路由具有永久性。
1、下载一个Linux内核源代码文件,将它保存到虚拟机上新安装的系统中去。并解压到/usr/src目录。
2、修改/usr/src/linux-2.6.36/kernel/sys.c文件,在文件末尾增加一个系统调用函数。自行编写一个简单的程序即可,只为测试用。
3、修改/usr/src/linux-2.6.36/arch/x86/kernel/syscall_table_32.S,为新添加的程序配置系统调用号。
4、在/usr/src/linux-2.6.36/arch/x86/include/asm/unistd_32.h中配置系统调用表。
5、首先配置编译信息,使其生成适合当前机器的Makefile,输入make oldconf ig。
6、按回车键进入我们编译的目标内核中,用关键词搜索查看新增加的系统调用“my call”是否已在内核中。
关于路由表的一个例子解析
查看命令:netstat -rn
先执行带-r选项的netstat命令,列出路由表,然后以-n选项再次执行该命令,以数字格式打印出ip地址(我们这样做是因为路由表中的一些表项是网络地址,而不是主机地址。如果没有- n选项,netstat命令将搜索文件/etc/networks并列出其中的网络名.。这样会与另一种形式的名字—网络名加主机名相混淆)。学习Linux可看书籍《Linux就该这么学》。
路由表内容说明:
查看路由
#
route
-n
Kernel
IP
routing
table
Destination
Gateway
Genmask
Flags
Metric
Ref
Use
Iface
192.57.66.200
192.168.1.1
255.255.255.255
UGH
eth0
192.168.1.0
0.0.0.0
255.255.255.0
U
eth0
169.254.0.0
0.0.0.0
255.255.0.0
U
eth0
0.0.0.0
192.168.1.1
0.0.0.0
UG
eth0
Destination:目标网络或主机。
Gateway:网关地址。
Genmask:目标网络的网络掩码。"255.255.255.255"表示一个主机。"0.0.0.0"表示网关。
Flags:标记。
U、路由被启用。
H、目标是一个主机
G、使用网关。
linux route命令 用于显示和操作IP路由表 。
要实现 两个不同子网之间的通信 ,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现。
在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址 设置为 Linux机器的默认路由 。
格式:
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
1、 查看相关参数:
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示
2、增加 (add) 、删除 (del) 路由的相关参数:
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定 netmask 决定网域的大小;
gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
dev :如果只是要指定由那一块网卡连线出去,则使用这个设定,后面接 eth0 等
设置默认路由
格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
其中,
参数{IP-ADDRESS): 用于指定路由器(网关)的IP地址;
参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。使用/sbin/ifconfig -a可以显示所有接口信息。
例:
添加到指定网络的路由规则
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
其中
参数{NETWORK-ADDRESS}: 用于指定网络地址
参数{NETMASK}: 用于指定子网掩码
参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。
例:
屏蔽一条路由,设置到指定网络为不可达 ,避免在连接到这个网络的地址时程序过长时间的等待
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
例:
删除路由设置 ,参数指定的方式与route add相似。
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
例:
注意的是 ,直接在命令行下执行route命令来添加路由, 不会永久保存 ,当网卡重启或者机器重启之后,该路由就 失效 了; 要想永久保存 ,有如下方法:
1. 在/etc/rc.local里添加
2. 在/etc/sysconfig/network里添加到末尾
3. /etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
通过netstat命令
netstat命令一直是Linux中打印路由表信息一种广泛使用的方法。然而,它被ip route命令正式取代。无论如何,我们都需要它,因为它仍然是检索所需信息的一种方法。
以下是使用此命令的方法:
$ netstat -rn
如何在Ubuntu中查看网络路由表
-r此标志用于显示内核路由表
如何在Ubuntu中查看网络路由表
-n此标志用于显示数字地址
如何在Ubuntu中查看网络路由表