Linux kernel 以编程方式修改Linux内核路由表

Linux kernel 以编程方式修改Linux内核路由表,linux-kernel,routing,Linux Kernel,Routing,在浏览/proc时,我看到了/proc/net/fib_-trie,它似乎包含内核的主路由表。我的问题是,修改它是否会更改路由表,或者它是一个仅统计的文件 (我想以编程方式修改路由表,我完全是C语言的noob,所以我在寻找其他选项。文件修改在任何语言中都很容易) 在中,在一篇评论中提到,修改文件/proc/net/route和使用ioctls是一种解决方案,有人能告诉我怎么做吗 我的问题是,修改它是否会更改路由表,或者 只有统计数据的文件 不,路由表不会更改,因为文件是只读的 在另一个问题中,M

在浏览/proc时,我看到了
/proc/net/fib_-trie
,它似乎包含内核的主路由表。我的问题是,修改它是否会更改路由表,或者它是一个仅统计的文件

(我想以编程方式修改路由表,我完全是C语言的noob,所以我在寻找其他选项。文件修改在任何语言中都很容易)

在中,在一篇评论中提到,修改文件
/proc/net/route
和使用ioctls是一种解决方案,有人能告诉我怎么做吗

我的问题是,修改它是否会更改路由表,或者 只有统计数据的文件

不,路由表不会更改,因为文件是只读的

在另一个问题中,MattSmith在评论中提到 文件/proc/net/route和使用ioctls是一个解决方案,有人可以吗 请告诉我怎么做

从用户空间的角度来看,您可以使用netlink套接字来管理路由表。 看一些C。然而,对于新手来说,这将是困难的


因此,最简单的方法是使用实用程序(实际上它使用netlink套接字)。这样,您就可以实现自己的shell脚本并在其中执行路由操作。您可以搜索适当的ip工具。

这是用于shell的iproute2包。我知道。我的问题是关于如何使用编程语言。事实上,shell是一种脚本语言,很容易入门。所以,更省时的选择是编写shell脚本。最困难的是使用netlink。