linux疑问:route 命令查看 Linux 内核路由表 UG是何意?

2025-03-09 12:10:36
推荐回答(3个)
回答1:

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”是否已在内核中。

回答2:

Flags:总共有多个旗标,代表的意义如下:

U (route is up):该路由是有效的;
H (target is a host):目标是一部主机 (IP) 而非网域;
G (use gateway):需要透过外部的主机 (gateway) 来转递封包(一般指向默认网关);
R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;
D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
M (modified from routing daemon or redirect):路由已经被修改了;
! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)

回答3:

这里面有U,有G, 有的可能还有H

U的意思是当前的路由是运行的、有效的
G的意思是通过gateway连接的,因为有一种连接时可以直接连接的,但是我们现在一般不存在,除非自己组建的网络
H的意思是指对某一个特定的机器的路由